【问题标题】:Ubuntu: how to install flex to make postgres?Ubuntu:如何安装 flex 来制作 postgres?
【发布时间】:2011-04-19 04:21:32
【问题描述】:

我正在尝试使用 ubuntu 10.04 在本地处理 postgresql。配置后出现此错误

./configure --enable-cassert --enable-debug --prefix=$HOME/pgsql

当我 make && 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 以便它可以工作?

【问题讨论】:

    标签: postgresql ubuntu flex-lexer


    【解决方案1】:

    您需要再次运行 ./configure 以便 make 文件“感知”到 flex。

    【讨论】:

    • 谢谢!它摆脱了ERROR: flex is missing on your system
    • 谢谢。这个答案解决了我同样错误的问题,但在我的情况下不是灵活的,它的野牛。
    【解决方案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]

    在 1 秒内获取 261kB (247kB/s)

    选择以前取消选择的包 flex。

    (正在读取数据库...当前安装的208958个文件和目录。)

    解压 flex(来自 .../flex_2.5.35-9_amd64.deb)...

    处理安装信息的触发器 ...

    处理 man-db 的触发器 ...

    设置 flex (2.5.35-9) ...

    因为这个包不构建任何东西。当我在 KUbuntu 10.04 下运行上述命令时,我得到以下输出:

    .

    【讨论】:

    • 运行时遇到什么错误:sudo apt-get install flex?请准确包含 apt 返回的内容。
    • 它安装正确:正在解压 flex(来自 .../flex_2.5.35-9_i386.deb)... 处理 install-info 的触发器 ... 处理 man-db 的触发器 ... 设置up flex (2.5.35-9) .. 但是当我尝试 make && make install 时出现同样的错误
    【解决方案3】:

    手册说:

    从 Git 构建时需要 Bison 和 Flex,但从发布文件构建时不需要。只有 Bison 1.875 或 2.2 及更高版本可以工作。 Flex 必须是 2.5.31 或更高版本

    【讨论】:

      猜你喜欢
      • 2011-11-03
      • 2012-08-04
      • 2018-12-04
      • 2014-03-09
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多