BuildSmart <buildsmart <at> daleenterprise.com> writes:
> This tells me you were not in the php source directory where > you issued the configure and make commands. > > You're building php in /tmp and not /usr/src. > Yes. It worked for all software exceprt PHP. > Let's back up even more since it's clear you're not entirely sure > what your doing so lets try using a schema in the build process so > you will be in the correct directory and I will also know where you > should be and will be. > > Place the uncompressed php source in the drive root. > > mkdir -p /SourceCache/tarball > > Copy or move the php source tarball to the /SourceCache/tarball directory. > > cd /SourceCache > > > Use one of the following to expand the source > > tar -xjvf tarball/php-5.2.5.tar.bz2; # this is for a .bz2 file > tar -xzvf tarball/php-5.2.5.tar.gz; # this is for a .gz file > > > cd /SourceCache/php-5.2.5 As I understand I need to put PHP source to this directory. I've unpacked PHP source to: /SourceCache/php-5.2.5 > Your original configure command has conflict issues so here is > a cleaned up one. > > Since it appears that your OS is 64bit savy apache may be running in > 64bit mode and I believe the two arches required are i386 and x86_64 > or i586 and x86_64 but of course this also depends on your gcc and how it was > compiled for your OS by whomever you get your packages from, I think you > can verify this by use of the "file" command. > file /usr/src/php-5.2.3/libs/libphp5.so; # <-- the working php module > > And just for giggle check the one that doesn't work > file /tmp/php-5.2.3/libs/libphp5.so; # <-- the non-working php module > I've erased 5.2.3 directory. When I'm trying to run "file" for 5.2.5, I get this: [EMAIL PROTECTED] php-5.2.5]# file /etc/httpd/modules/libphp5.so /etc/httpd/modules/libphp5.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), not stripped > > HERE IS YOUR CONFIGURE COMMAND: > CFLAGS="-arch i386 -arch x86_64 -pipe -no-cpp-precomp" \ > CCFLAGS="-arch i386 -arch x86_64 -pipe" \ > CXXFLAGS="-arch i386 -arch x86_64 -pipe" \ > LDFLAGS="-arch i386 -arch x86_64" \ > ./configure \ > > --build=x86_64-unknown-linux-gnu \ > > --host=x86_64-unknown-linux-gnu \ > > --target=x86_64-redhat-linux-gnu \ > > --cache-file=../config.cache \ > > --with-layout=GNU \ > > --with-apxs2=/usr/sbin/apxs \ > > --prefix=/usr \ > > --libdir=/usr/lib64 \ > > --localstatedir=/var \ > > --sharedstatedir=/usr/com \ > > --mandir=/usr/share/man \ > > --infodir=/usr/share/info \ > > --sysconfdir=/etc \ > > --with-config-file-path=/etc \ > > --with-config-file-scan-dir=/etc/php.d \ > > --with-pic \ > > --with-bz2 \ > > --with-curl \ > > --with-gd=shared \ > > --with-freetype-dir=/usr \ > > --with-png \ > > --with-png-dir=/usr \ > > --with-jpeg \ > > --with-jpeg-dir=/usr \ > > --with-gettext \ > > --with-gmp \ > > --with-iconv \ > > --with-kerberos \ > > --with-mime-magic=shared,/usr/share/file/magic.mime \ > > --with-openssl \ > > --with-pspell \ > > --with-expat-dir=/usr \ > > --with-pcre-regex=/usr \ > > --with-unixODBC=shared,/usr \ > > --with-xml \ > > --with-libxml-dir=/usr \ > > --with-zlib \ > > --enable-calendar \ > > --enable-dbx \ > > --enable-dio \ > > --enable-exif \ > > --enable-ftp \ > > --enable-gd-native-ttf \ > > --enable-magic-quotes \ > > --enable-memory-limit \ > > --enable-shmop \ > > --enable-sockets \ > > --enable-sysvsem=shared \ > > --enable-sysvshm=shared \ > > --enable-sysvmsg=shared \ > > --enable-track-vars \ > > --enable-trans-sid \ > > --enable-ucd-snmp-hack \ > > --enable-wddx \ > > --enable-yp \ > > --without-mysql \ > > --without-gdbm \ > > --without-pear \ > > --without-sqlite \ > > --disable-dba \ > > --disable-debug \ > > --disable-dependency-tracking \ > > --disable-dom \ > > --disable-pdo \ > > --disable-rpath \ > > --disable-xmlreader \ > > --disable-xmlwriter I'm getting this error when I'm trying to configure: creating cache ../config.cache checking for Cygwin environment... no checking for mingw32 environment... no checking for egrep... grep -E checking for a sed that does not truncate output... /bin/sed checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-redhat-linux-gnu checking for gcc... gcc checking whether the C compiler (gcc -arch i386 -arch x86_64 -pipe -no-cpp-precomp -arch i386 -arch x86_64) works... no configure: error: installation or configuration problem: C compiler cannot create executables. > > make > > > ls -lsa $(find . -name libphp5.so) After previous configuration didn't work, I've tried mine, output for ls -lsa $(find . -name libphp5.so): 11932 -rwxr-xr-x 1 root root 12201952 Nov 24 15:12 ./.libs/libphp5.so 11932 -rwxr-xr-x 1 root root 12201952 Nov 24 15:12 ./libs/libphp5.so > > make install > > > It will tell you what directory it has installed the sapi module (this is the libphp5.so file). > > You should see something like: > Installing PHP SAPI module: apache > [activating module `php5' in /private/etc/httpd/httpd.conf] > cp libs/libphp5.so /usr/libexec/httpd/libphp5.so > chmod 755 /usr/libexec/httpd/libphp5.so > > I have apache installed differently so your paths will be different. > > > Let me know when you've gotten this far. With my configuration: [EMAIL PROTECTED] php-5.2.5]# make install Installing PHP SAPI module: apache2handler /usr/lib64/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/lib64/httpd/modules /usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib64/httpd/modules/ cp .libs/libphp5.so /usr/lib64/httpd/modules/libphp5.so cp .libs/libphp5.lai /usr/lib64/httpd/modules/libphp5.la libtool: install: warning: remember to run `libtool --finish /SourceCache/php-5.2.5/libs' chmod 755 /usr/lib64/httpd/modules/libphp5.so [activating module `php5' in /etc/httpd/conf/httpd.conf] Installing PHP CLI binary: /usr/bin/ Installing PHP CLI man page: /usr/share/man/man1/ Installing build environment: /usr/lib64/build/ Installing header files: /usr/include/php/ Installing helper programs: /usr/bin/ program: phpize program: php-config Installing man pages: /usr/share/man/man1/ page: phpize.1 page: php-config.1 > > I like to know what my environment is like and my tools are tailored in such a way that I can produce binary packages that will work on either 32bit or 64bit OS enabled machines without having to generate seperate builds. > > My apache installation is a little more advanced and I build so that I can install the same binary software on any of my machines and know it will work. > > > Server Version: Apache/2.2.6 (Debian GNU/Linux - 64bit) mod_ssl/2.2.6 OpenSSL/0.9.8 PHP/5.2.5 mod_jk/1.2.23 > > Sorry, but I'm not sure about how to get this info. > > binfo is a proprietary utility which is part of my developer tools but file should provide similar results. > > My gcc is configured in such a way that I can generate binaries that will run on the oldest hardware I have increasing hardware compatibility with my software. > > techdata:~ root# binfo /usr/sbin/httpd > /usr/sbin/httpd: Elf binary with 2 architectures > /usr/sbin/httpd (for architecture i386): Elf executable i386 > /usr/sbin/httpd (for architecture x86_64): Elf 64-bit executable x86_64 > techdata:~ root# gcc -v > Using built-in specs. > Target: i386-debian-linux > Configured with: /var/tmp/gcc/gcc-4.0.1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-debian-linux --program-prefix= --host=i386-debian-linux --target=i386-debian-linux > Thread model: posix > gcc version 4.0.1 > techdata:~ root# > > > The output is: [EMAIL PROTECTED] php-5.2.5]# file /usr/sbin/httpd /usr/sbin/httpd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped > > I wanted you to type: > /usr/sbin/apxs -q LIBEXECDIR > > The output is: /usr/lib64/httpd/modules