我正在尝试使用ubuntu 10.04在本地使用postgresql。配置
后出现此错误./configure --enable-cassert --enable-debug --prefix=$HOME/pgsql
当我制作&& make install我收到此错误:
make -C parser all
make[3]: Entering directory `/home/james/school/db/pg-stuff/hw1/postgresql-8.4.2/src/backend/parser'
ERROR: `flex' is missing on your system. It is needed to create the
file `scan.c'. You can either get flex from a GNU mirror site
or download an official distribution of PostgreSQL, which contains
pre-packaged flex output.
make[3]: *** [scan.c] Error 1
make[3]: Leaving directory `/home/james/school/db/pg-stuff/hw1/postgresql-8.4.2/src/backend/parser'
make[2]: *** [parser-recursive] Error 2
make[2]: Leaving directory `/home/james/school/db/pg-stuff/hw1/postgresql-8.4.2/src/backend'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/james/school/db/pg-stuff/hw1/postgresql-8.4.2/src'
make: *** [all] Error 2
我试过
apt-get install flex
但我得到同样的错误。如何安装flex以使其正常工作?
答案 0 :(得分:17)
您需要再次运行./configure
,以便make文件“了解”flex。
答案 1 :(得分:2)
您可以使用以下方法直接安装postgresql:
sudo apt-get install postgresql-8.4
如果你跑了,我不明白你怎么会得到同样的错误:
sudo apt-get install flex
MYPC:〜/> sudo apt-get install flex
阅读包裹清单......完成
构建依赖关系树
阅读州信息......完成
推荐套餐:
野牛
将安装以下新软件包:
柔性
0升级,1新安装,0表示删除,0表示未升级。
需要获得261kB的档案。
完成此操作后,将使用1,032kB的额外磁盘空间。
获取:1 http://us.archive.ubuntu.com/ubuntu/ lucid / main flex 2.5.35-9 [261kB]
以1s(247kB / s)的速度获取261kB
选择以前取消选择的包flex。
(正在阅读数据库...当前安装的208958个文件和目录。)
解压缩flex(来自... / flex_2.5.35-9_amd64.deb)...
处理install-info的触发器......
处理man-db的触发器......
设置flex(2.5.35-9)...
因为这个包没有构建任何东西。当我在KUbuntu 10.04下运行上面的命令时,我得到以下输出:
答案 2 :(得分:0)
手册上说:
从 Git 构建需要 Bison 和 Flex,但从发布文件构建时不需要。 OnlyBison 1.875 或 2.2 及更高版本可以使用。 Flex 必须是 2.5.31 或更高版本