Ubuntu:如何安装flex来制作postgres?

时间:2010-09-30 05:14:38

标签: postgresql ubuntu flex-lexer

我正在尝试使用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以使其正常工作?

3 个答案:

答案 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 或更高版本