【问题标题】:Unable to cross compile postgresql 12.2 for ARM无法为 ARM 交叉编译 postgresql 12.2
【发布时间】:2020-08-28 13:49:23
【问题描述】:

希望从 ARM 的源代码交叉编译 postgresql 获得一些帮助。我正在尝试在X86_64Ubuntu 18.04.4 上构建库。 我正在使用向 autoconf 传递以下参数:

CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ AR=arm-linux-gnueabihf-ar RANLIB=arm-linux-gnueabihf-ranlib ../configure --host=arm-linux-gnueabihf --without-readline --without-zlib

当我使用 postgresql 发行版9.6.2 使用上述参数运行配置时,它成功并且我能够正确构建库。 但是,我想使用最新版本,目前是 V12.2

当我使用 V 12.2 运行上述命令时,我收到以下错误消息:

// a bunch of successfull output from autoconf before error message...
checking for /dev/urandom... configure: error: cannot check for file existence when cross compiling

任何想法如何解决这个问题?这是他们的 autoconf 中的错误,还是我做错了什么?

【问题讨论】:

  • 也许你可以试试`--without-random`
  • 这似乎不是一个选项。当我设置标志时:configure: WARNING: unrecognized options: --without-random

标签: linux postgresql cross-compiling autoconf


【解决方案1】:

根据configure.in,您应该能够覆盖检查:

./configure USE_DEV_URANDOM=1 ...

然后 PostgreSQL 将被构建为使用 /dev/urandom 而无需检查文件在构建主机上是否存在。

【讨论】: