make fails with error: wrong ELF class: ELFCLASS64
Posted in 2005
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues, Internationalization & Character Sets
Hi, I want to build a php5.0.15 with Mysql and Informix as DSO for apache 2 on a SUN solaris 8 SPARC 64-bit machine. Configure, make and make install for apache2 and MySQL worked fine. Then I installed the clientSDK 2.90FC3(64-bit). The configure for php was ok, but make fails with these errors: ld: fatal: file /opt/informix/lib/esql/libifsql.so: wrong ELF class: ELFCLASS64 ld: fatal: file /opt/informix/lib/libifasf.so: wrong ELF class: ELFCLASS64 ld: fatal: file /opt/informix/lib/esql/libifgen.so: wrong ELF class: ELFCLASS64 ld: fatal: file /opt/informix/lib/esql/libifos.so: wrong ELF class: ELFCLASS64 ld: fatal: file /opt/informix/lib/esql/libifgls.so: wrong ELF class: ELFCLASS64 ld: fatal: file /opt/informix/lib/esql/libifglx.so: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to .libs/libphp5.so make: *** [libphp5.la] Error 1 I have no idea, what I have to do, to fix this problem. Can you help me ?
folker wrote: > ld: fatal: file /opt/informix/lib/esql/libifglx.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: File processing errors. No output written to .libs/libphp5.so > > make: *** [libphp5.la] Error 1 > > I have no idea, what I have to do, to fix this problem. > Can you help me ? > Install the 32bit version of CSDK. Most applications available are still 32bit. They work perfect also on 64bit OS.
folker wrote: > I want to build a php5.0.15 with Mysql and Informix as DSO for apache 2 on > a SUN solaris 8 SPARC 64-bit machine. Configure, make and make install for > apache2 and MySQL worked fine. A Frank and Nilesh have implied, you have apparently created a 32-bit version of PHP, MySQL, Apache 2. Are you sure you built a 64-bit version of them? It looks like you must have built a 32-bit version. If I want a 64-bit version of something, I usually tell the configuration tools that the C compiler is CC='gcc -m64' or CC='cc -xarch=v9' or some similar options. The only downside to doing this is that configure doesn't necessarily locate any 64-bit libraries (or it tries to pick up 32-bit libraries) and that leads to hassles. I haven't worked out how to make it pick up the libraries from /usr/lib/sparcv9 instead of /usr/lib, for example. So, the advice to install the 32-bit CSDK (probably in a separate INFORMIXDIR from where you have your 64-bit IDS and CSDK) is a good idea. It is likely to be the quickest way to get it all to work. The alternative is to go back to square 1 and rebuild Apache, PHP and (presumably) MySQL with 64-bit compiler options set. > Then I installed the clientSDK > 2.90FC3(64-bit). The configure for php was > ok, but make fails with these errors: > ld: fatal: file /opt/informix/lib/esql/libifsql.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: file /opt/informix/lib/libifasf.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: file /opt/informix/lib/esql/libifgen.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: file /opt/informix/lib/esql/libifos.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: file /opt/informix/lib/esql/libifgls.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: file /opt/informix/lib/esql/libifglx.so: wrong ELF class: > ELFCLASS64 > > ld: fatal: File processing errors. No output written to .libs/libphp5.so > > make: *** [libphp5.la] Error 1 > > I have no idea, what I have to do, to fix this problem. > Can you help me ? > > -- Jonathan Leffler #include <disclaimer.h> Email: jleffler@earthlink.net, jleffler@us.ibm.com Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/
Hi Frank, hi Jonathan, I downloaded the 32-bit version of informix-SDK and the php-make worked fine with no errors. Thanks a lot!