Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

php problems!!! apxs compile

Posted on 2006-11-16
5
Medium Priority
?
468 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 

Author Comment

by:krose05
ID: 17969440
anyone???
0
 
LVL 48

Expert Comment

by:hernst42
ID: 17979996
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
ID: 17992079
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 2000 total points
ID: 17994422
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
ID: 18033147
thank you, it took sometime, but your advice set us on the right path!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

670 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