1

I use Solaris 11.3 Sparc 64 bit, Mysql Enterprise Advance 5.7.1, Apache 2.4.25 and PHP 7.1.2

I configure PHP with following parameter.

export CC="gcc -m64"
export CFLAGS="-std=gnu99"
./configure --prefix=/opt/app/php --with-openssl=/opt/app/openssl --datadir=/opt/app/php --enable-fpm --with-fpm-user=apache --with-fpm-group=apache --with-pcre-regex=/opt/app/pcre --with-apxs2=/opt/app/apache/bin/apxs --with-mysqli=/opt/app/mysql/mysql/bin/mysql_config --with-mysql-sock=/opt/app/mysql/mysql/socket/mysql.sock --with-libxml-dir=/opt/app/libxml2 --with-bz2 --with-zlib

I got the following error.

ld: warning: file /usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/libgcc.a(_clzdi2.o): wrong ELF class: ELFCLASS32
Undefined                       first referenced
symbol                             in file
__clzdi2                            Zend/.libs/zend_alloc.o  (symbol belongs to implicit dependency /opt/app/mysql/mysql/lib/libgcc_s.so.1)
__ctzdi2                            Zend/.libs/zend_alloc.o  (symbol belongs to implicit dependency /opt/app/mysql/mysql/lib/libgcc_s.so.1)
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
gmake: *** [sapi/cli/php] Error 1

From google.com , I found similar problem as me.

Bug #71006 Zend: symbol referencing errors.

However, I checked at php.net and found out this problem already patched on Version 7.0.1.

How should I proceed? Please advice.

Michael Homer
  • 74,824
  • 17
  • 212
  • 233
user3323980
  • 43
  • 1
  • 7
  • Why is this being closed as "can't be reproduced"? I don't see anything in the question to suggest that. – Michael Homer Mar 01 '17 at 09:35
  • 2
    The warning looks potentially relevant in a way that I don't think it was in the bug; it means you're using a 32-bit library. – Michael Homer Mar 01 '17 at 09:35
  • Hello, GCC will use 64 bit library as I already set CC="gcc -m64". Why would php ignore -m64 and use 32bit library instead? – user3323980 Mar 01 '17 at 11:48
  • how to force gcc to use 64bit library? I cant find how to it anywhere. – user3323980 Mar 03 '17 at 02:43
  • Are you certain that the mysql you have is 64-bit? You might try specifying a different build-target of `sparc64-sun-solaris2.11`. That would be the build target for a 64-bit Sparc Solaris. – Tim Kennedy Mar 09 '17 at 19:38
  • I am 100% sure that mysql is 64bit because all file in /path/to/mysql/lib except *.a is 64 bit. I will inform you the result if i specify "sparc64-sun-solaris2.11" during compilation. – user3323980 Mar 11 '17 at 01:16

0 Answers0