ID:               48118
 Updated by:       j...@php.net
 Reported By:      mukustr at yahoo dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: Centos - 2.6.18/x86_64
 PHP Version:      5.2.9
 New Comment:

This is not any bug in PHP. When you build static stuff, the order of 
libraries is significant. This works fine:

# gcc \
`/usr/local/bin/php-config --includes` 
`/usr/local/bin/php-config --ldflags`
-Wall -Wextra -ggdb -static -o nohello nohello.c \
-L/usr/local/lib -lphp5 `/usr/local/bin/php-config --libs`



Previous Comments:
------------------------------------------------------------------------

[2009-04-29 22:43:49] mukustr at yahoo dot com

Description:
------------
I am trying hard to compile a statically linked binary using php embed
sapi, but it is impossible for me.

PHP Embed Sapi Configuration Options:
./configure --disable-all --with-libdir=lib64 --enable-embed=static

[r...@]# ls -al /usr/local/lib/libphp5.a
-rw-r--r-- 1 root root 15053670 Apr 30 02:11 /usr/local/lib/libphp5.a



Reproduce code:
---------------
nohello.c:
#include <sapi/embed/php_embed.h>

int main(int argc, char *argv[])
{
    PHP_EMBED_START_BLOCK(argc,argv)
    PHP_EMBED_END_BLOCK()

    return 0;
}

[r...@]# gcc -I/usr/local/include/php/ -I/usr/local/include/php/main
-I/usr/local/include/php/Zend -I/usr/local/include/php/TSRM
-I/usr/local/include/php/sapi/embed -L/usr/local/lib -Wall -Wextra
-lpthread -static -ggdb -o nohello nohello.c /usr/local/lib/libphp5.a

Expected result:
----------------
A statically linked binary: nohello

Actual result:
--------------
/usr/local/lib/libphp5.a(filestat.o): In function `php_do_chgrp':
/root/php529modified/ext/standard/filestat.c:420: warning: Using
'getgrnam' in statically linked applications requires at runtime the
shared libraries from $
/usr/local/lib/libphp5.a(fopen_wrappers.o): In function
`php_fopen_primary_script':
/root/php529modified/main/fopen_wrappers.c:369: warning: Using
'getpwnam' in statically linked applications requires at runtime the
shared libraries from th$
/usr/local/lib/libphp5.a(safe_mode.o): In function
`php_get_current_user':
/root/php529modified/main/safe_mode.c:255: warning: Using 'getpwuid' in
statically linked applications requires at runtime the shared libraries
from the gli$
/usr/local/lib/libphp5.a(network.o): In function
`php_network_getaddresses':
/root/php529modified/main/network.c:204: warning: Using 'getaddrinfo'
in statically linked applications requires at runtime the shared
libraries from the gl$
/usr/local/lib/libphp5.a(dns.o): In function `php_gethostbyaddr':
/root/php529modified/ext/standard/dns.c:161: warning: Using
'gethostbyaddr' in statically linked applications requires at runtime
the shared libraries from $
/usr/local/lib/libphp5.a(dns.o): In function `php_gethostbyname':
/root/php529modified/ext/standard/dns.c:235: warning: Using
'gethostbyname' in statically linked applications requires at runtime
the shared libraries from $
/usr/local/lib/libphp5.a(basic_functions.o): In function
`zif_getprotobynumber':
/root/php529modified/ext/standard/basic_functions.c:6016: warning:
Using 'getprotobynumber' in statically linked applications requires at
runtime the shared$
/usr/local/lib/libphp5.a(basic_functions.o): In function
`zif_getprotobyname':
/root/php529modified/ext/standard/basic_functions.c:5989: warning:
Using 'getprotobyname' in statically linked applications requires at
runtime the shared l$
/usr/local/lib/libphp5.a(basic_functions.o): In function
`zif_getservbyname':
/root/php529modified/ext/standard/basic_functions.c:5938: warning:
Using 'getservbyname' in statically linked applications requires at
runtime the shared li$
/usr/local/lib/libphp5.a(basic_functions.o): In function
`zif_getservbyport':
/root/php529modified/ext/standard/basic_functions.c:5963: warning:
Using 'getservbyport' in statically linked applications requires at
runtime the shared li$
/usr/local/lib/libphp5.a(zend_operators.o): In function
`zend_string_to_double':
/root/php529modified/Zend/zend_operators.c:108: undefined reference to
`pow'
/usr/local/lib/libphp5.a(zend_API.o): In function `module_destructor':
/root/php529modified/Zend/zend_API.c:1947: undefined reference to
`dlclose'
/usr/local/lib/libphp5.a(zend_extensions.o): In function
`zend_load_extension':
/root/php529modified/Zend/zend_extensions.c:34: undefined reference to
`dlopen'
/root/php529modified/Zend/zend_extensions.c:44: undefined reference to
`dlsym'
/root/php529modified/Zend/zend_extensions.c:48: undefined reference to
`dlsym'
/root/php529modified/Zend/zend_extensions.c:79: undefined reference to
`dlclose'
/root/php529modified/Zend/zend_extensions.c:54: undefined reference to
`dlclose'
/root/php529modified/Zend/zend_extensions.c:46: undefined reference to
`dlsym'
/root/php529modified/Zend/zend_extensions.c:50: undefined reference to
`dlsym'
/root/php529modified/Zend/zend_extensions.c:37: undefined reference to
`dlerror'
/root/php529modified/Zend/zend_extensions.c:94: undefined reference to
`dlclose'
/root/php529modified/Zend/zend_extensions.c:67: undefined reference to
`dlclose'
/usr/local/lib/libphp5.a(zend_extensions.o): In function
`zend_extension_dtor':
/root/php529modified/Zend/zend_extensions.c:175: undefined reference to
`dlclose'
/usr/local/lib/libphp5.a(php_date.o): In function `date_format':
/root/php529modified/ext/date/php_date.c:810: undefined reference to
`floor'
/usr/local/lib/libphp5.a(php_date.o): In function
`php_do_date_sunrise_sunset':
/root/php529modified/ext/date/php_date.c:2457: undefined reference to
`floor'
----------
-------------------------
-----------------------------------------------
a bunch of "undefined reference to" error
-----------------------------------------------
-------------------------
----------
/usr/local/lib/libphp5.a(uuencode.o): In function `php_uuencode':
/root/php529modified/ext/standard/uuencode.c:74: undefined reference to
`ceil'
/root/php529modified/ext/standard/uuencode.c:84: undefined reference to
`floor'
/usr/local/lib/libphp5.a(uuencode.o): In function `php_uudecode':
/root/php529modified/ext/standard/uuencode.c:132: undefined reference
to `ceil'
/root/php529modified/ext/standard/uuencode.c:147: undefined reference
to `floor'
collect2: ld returned 1 exit status




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=48118&edit=1

Reply via email to