|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-01-20 22:35 UTC] sniper@php.net
[2006-01-20 22:40 UTC] ifette at gmail dot com
[2006-01-20 22:58 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Dec 20 12:00:02 2025 UTC |
Description: ------------ When trying to run ./configure, configure fails when checking for the presence of libgd. checking for gdImageCreate in -lgd... no configure: error: GD build test failed. Please check the config.log for details. (I only get this error when using --with-gd=/usr. If I use the built-in gd, it compiles). The problem appears to be the code that the configure script is using: It tries to execute: gcc -o conftest -g -O2 -Wl,-rpath, -L conftest.c -lgd -lcurl -lbz2 -lz -lresolv -lm -ldl -lnsl -lm -licui18n -licuuc -licudata -lm -licuio -lxml2 -lz -lm -lssl -lcrypto -ldl -lcurl -lidn -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lgd 1>&5 The -L there is causing a huge problem. The failure is /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crt1.o: In function `_start': init.c:(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status If the -L is removed (or a path is added after -L), then everything compiles fine. Reproduce code: --------------- ./configure --prefix=/nonportage/php --with-openssl --with-zlib --with-bz2 --with-gd=/usr --with-mcrypt --with-mysqli=/nonportage/mysql/bin/mysql_config --with-apxs2=/usr/sbin/apxs2 --enable-mbstring --with-curl --with-mysql=/nonportage/mysql Expected result: ---------------- I expect it to complete configure :-) Actual result: -------------- configure:34794: checking for gdImageCreate in -lgd configure:34813: gcc -o conftest -g -O2 -Wl,-rpath, -L conftest.c -lgd -lcurl -lbz2 -lz -lresolv -lm -ldl -lnsl -lm -licui18n -licuuc -licudata -lm -licuio -lxml2 -lz -lm -lssl -lcrypto -ldl -lcurl -lidn -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lgd 1>&5 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crt1.o: In function `_start': init.c:(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status configure: failed program was: #line 34802 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gdImageCreate(); int main() { gdImageCreate() ; return 0; }