【发布时间】:2016-02-17 16:22:33
【问题描述】:
我在AIX上编译php5.5.30,配置后运行gmake,总是报错:
ld: 0711-317 ERROR: Undefined symbol: .floorf
ld: 0711-317 ERROR: Undefined symbol: .ceilf
php-config 是
./configure --prefix=/usr/local/php5.5.30 --enable-sockets --enable-ftp --enable-soap --enable-zip --enable-pdo --enable-phar --enable-mbstring --enable-gd-native-ttf --enable-bcmath --enable-xmlwriter --enable-xmlreader --enable-simplexml --enable-libxml --with-curl --with-iconv --with-gd --with-jpeg-dir --with-png-dir --with-bz2 --with-mcrypt --with-openssl --with-kerberos --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --with-config-file-path=/usr/local/php5.5.30 --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=staff
【问题讨论】:
-
也许这个问题更有可能在 StackExchange 的超级用户、服务器故障或 Unix 和 Linux 站点上得到答案。
-
请注意,
aix标签在 S.O. 上只有 152 个关注者。我很惊讶 aix 有gmake。 . . . .我在 ITToolbox.com 上的 unix 组中看到了更好的 AIX 答案。您必须注册并找到小组(+加入小组以发布问题),但您更有可能在那里获得帮助。 ibm 也有 AIX 特定的支持论坛。你也可以深入研究它们。祝你好运。 -
'floorf' 应该来自 /usr/lib/libm.a 你可以尝试在编译前执行
export LIBS=-lm... -
我在 AIX 7.1 上遇到过类似的问题。 ceilf 和 floorf 在 7.1 中的 /usr/lib/libm.a 中没有定义(它们在 6.1 中),尽管在 7.1 中 libm.a 确实包含其他 ceil 和 floor 变体。 ceilf 和 floorf 在 libC.a 中定义(-lC,注意大写 C),所以你可以试试。
-
@softwariness 的评论应作为接受的答案