Solved

php problems!!! apxs compile

Posted on 2006-11-16
5
442 Views
Last Modified: 2013-12-13
I'm attempting a reinstall of PHP.  I'm running this line for the initial configure:

./configure --with-gd --with-apxs=/usr/local/apache/bin/apxs --with-xml --enable-bcmath --enable-calendar --enable-ftp --enable-magic-quotes --with-mysqli --with-mysql=/usr --enable-discard-path --with-pear --enable-sockets --enable-track-vars --with-zlib --with-jpeg-dir=/usr/include --with-zlib-dir=/usr/include --prefix=/usr/local/ --enable-shared --includedir=/usr/local/ --libdir=/usr/local/

The ./configure runs just fine, but when I attempt the Make, it gets about halfway and then I get a long list of errors that look basically like this:

/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crt1.o(.text+0x18): In function `_st
art':
: undefined reference to `main'
ext/standard/info.lo(.text+0x19): In function `php_info_write_wrapper':
/home/installd/buildapache/php-4.4.4/ext/standard/info.c:69: undefined reference t
o `php_escape_html_entities'
ext/standard/info.lo(.text+0x27):/home/installd/buildapache/php-4.4.4/ext/standard
/info.c:71: undefined reference to `php_body_write'
ext/standard/info.lo(.text+0x31):/home/installd/buildapache/php-4.4.4/ext/standard
/info.c:73: undefined reference to `_efree'

 It a whole bunch of undefined references.  One other thing to note, is that if I change the ./configure line to use "--with-a
pache=/home/installd/buildapache/apache_1.3.36" instead of "--with-apxs=/usr/local/apache/bin/apxs", it compiles successfully.  Unfortunately, I need to use the apxs compile to work with the forum software, so I have to be able to get it to work this way.

I can't see why the compiler is not seeing those function names.  All of the undefined references come from included header files, which I've attempted to point to with the "includedir=" option, but it still continues to fail.  Please help.  What generally causes the undefined reference errors, and how can I get a successful apxs compile?

Probably won't hurt to mention that the OS is CentOS 4.4, the version of PHP being installed is 4.4.4.  



0
Comment
Question by:krose05
  • 3
  • 2
5 Comments
 

Author Comment

by:krose05
Comment Utility
anyone???
0
 
LVL 48

Expert Comment

by:hernst42
Comment Utility
The difference of building with --with-apxs=/usr/local/apache/bin/apxs and --with-apache=/home/installd/buildapache/apache_1.3.36 is the the last one makes a static apache module and apxs creates an dynamic loadable extension for apache. If you the run a make install in your apache-directory again (after configureing --with-apache, make install in php) you should have a apache which has build in php-support. This sould also work with you forum software.
0
 

Author Comment

by:krose05
Comment Utility
Maybe I'm unclear on the order.  I tried what I believe you said, but it didn't work.
First I used the ./configure line, using the --with-apache=/home/installd/buildapache/apache_1.3.36 option.  I also did make and make install which was successful.
I then subsequently went into the /home/installd/buildapache/apache_1.3.36 folder and ran make, then make install to reinstall apache.
When I look in my Forum program, it shows phpinfo, and one part of the php info is the configure command, which appears as follows:
 './configure'
'--with-apxs=/usr/local/apache/bin/apxs'
'--prefix=/usr/local'
'--with-xml'
'--enable-bcmath'
'--enable-calendar'
'--enable-ftp'
'--enable-magic-quotes'
'--with-mysqli'
'--with-mysql=/usr'
'--enable-discard-path'
'--with-pear'
'--enable-sockets'
'--enable-track-vars'
'--with-zlib'

So it looks like the server still sees the install of php with the --with-apxs setting (even though I did a reinstall with the --with-apache setting).  More importantly, it does not have the --with-gd option, which is the whole point of this exercise.  If I can get the --with-gd option to be recognized, I don't care if PHP is used as a static module or a dynamic extension.  But whatever I do, the forum doesn't seem to see it.

 If it helps, I'm running Invision 2.1.7, which is where I'm viewing the php info.
0
 
LVL 48

Accepted Solution

by:
hernst42 earned 500 total points
Comment Utility
Did you made a
make distclean
before you run ./configure with your options again this can screw up some things  if you run multiple ./configures and makes afterwards as not all things are cleaned up correctly from a previous build.

If you have a running php on you server, try the following to only build the gd:
cd php-source
cd ext/gd
phpize (locate the file might be in /usr/local/bin)
./configure --your gd options
make
make install

The edit the php.ini and add
extension=gd.so
Restart the webserver and your gd should be available
0
 

Author Comment

by:krose05
Comment Utility
thank you, it took sometime, but your advice set us on the right path!
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now