View previous topic :: View next topic |
Author |
Message |
zend Tux's lil' helper
Joined: 10 Apr 2002 Posts: 112 Location: Shanghai,China
|
Posted: Tue Jun 04, 2002 12:43 am Post subject: php 4.2.1 can not work in GCC3.1 |
|
|
I install a gentoo 1.2 with gcc3.1,but compile php apache mysql mod-perl and mod_gzip is successful,but can't make php work in apache.
the error is
Code: | Syntax error on line 57 of /etc/apache/conf/apache.conf:
Cannot laod /etc/apache/extramodules/libphp4.so into server:/usr/lib/libsablot.so.0:undefined symbol:__gxx_personality_v0 | [/code] |
|
Back to top |
|
|
Klavs Guru
Joined: 22 May 2002 Posts: 536 Location: Denmark
|
Posted: Tue Jun 04, 2002 8:06 am Post subject: |
|
|
There wasn't any compilation errors - or warnings? _________________ Best regards,
Klavs Klavsen
Denmark
Working with Unix is like wrestling a worthy opponent.
Working with windows is like attacking a small whining child
who is carrying a .38. |
|
Back to top |
|
|
zend Tux's lil' helper
Joined: 10 Apr 2002 Posts: 112 Location: Shanghai,China
|
Posted: Tue Jun 04, 2002 9:10 am Post subject: |
|
|
yes ,no errors in compiling |
|
Back to top |
|
|
Klavs Guru
Joined: 22 May 2002 Posts: 536 Location: Denmark
|
Posted: Tue Jun 04, 2002 9:13 am Post subject: |
|
|
try compiling again with a >/dev/null in the end.
if you get any output it will be warnings and errors (my guess is that you get some warnings but don't realize it because it continues so fast - it happens often). _________________ Best regards,
Klavs Klavsen
Denmark
Working with Unix is like wrestling a worthy opponent.
Working with windows is like attacking a small whining child
who is carrying a .38. |
|
Back to top |
|
|
wont-i n00b
Joined: 06 Jun 2002 Posts: 8
|
Posted: Fri Jun 07, 2002 12:05 am Post subject: |
|
|
I ran into this problem on a Slackware system using GCC 3.0 a short while back. The problem is actually that libsablot.so.0 isn't properly linked against the libstc++.so library, which provides that symbol.
Due to time constraints on needing to get the webserver back into production, and the fact that I didn't need Sablotron support on that webserver, I just removed the --with-xslt-sablot=DIR and --with-sablot-js=DIR configuration directives from my PHP build script and rebuilt PHP4. Once I'd done that, Apache loaded PHP4.2.0 just fine.
It's not a solution if you need Sablotron support, but that's what's happened to PHP. Alternatively, you could try re-emerging Sablotron and identifying why it's not linking to libstc++ properly.
Good luck. When I manage to get to that point, if I can resolve it, I'll post my solution.
Will |
|
Back to top |
|
|
zend Tux's lil' helper
Joined: 10 Apr 2002 Posts: 112 Location: Shanghai,China
|
Posted: Fri Jun 07, 2002 1:28 am Post subject: |
|
|
How to removed the --with-xslt-sablot=DIR and --with-sablot-js=DIR configuration directives from PHP build script during the emerge procedure? |
|
Back to top |
|
|
wont-i n00b
Joined: 06 Jun 2002 Posts: 8
|
Posted: Fri Jun 07, 2002 2:09 am Post subject: |
|
|
From my reading of the /usr/portage/dev-lang/php/php-4.2.1-r1.ebuild file, you basically have 2 options here to stop PHP from attempting to compile support for Sablotron.
Option 1:
Edit the /usr/portage/dev-lang/php/php-4.2.1-r1.ebuild file (or whichever one it is you're attempting to build) and delete the lines containing --with-sablot=/usr and --with-xslt-sablot. You might also have to remove the --with-xslt line if configure complains about no xslt backend. Using this method allows you to retain some support for XML processing in PHP.
Option 2:
Change your USE variable in /etc/make.conf to contain -xml. This will disable all compile options for XML in PHP, if I understand things correctly.
Either of those options should resolve your PHP loading problems.
HTH,
Will |
|
Back to top |
|
|
zend Tux's lil' helper
Joined: 10 Apr 2002 Posts: 112 Location: Shanghai,China
|
Posted: Fri Jun 07, 2002 3:27 am Post subject: |
|
|
wont-i wrote: | From my reading of the /usr/portage/dev-lang/php/php-4.2.1-r1.ebuild file, you basically have 2 options here to stop PHP from attempting to compile support for Sablotron.
Option 1:
Edit the /usr/portage/dev-lang/php/php-4.2.1-r1.ebuild file (or whichever one it is you're attempting to build) and delete the lines containing --with-sablot=/usr and --with-xslt-sablot. You might also have to remove the --with-xslt line if configure complains about no xslt backend. Using this method allows you to retain some support for XML processing in PHP.
Option 2:
Change your USE variable in /etc/make.conf to contain -xml. This will disable all compile options for XML in PHP, if I understand things correctly.
Either of those options should resolve your PHP loading problems.
HTH,
Will |
option1 is worked! That's great,thanks!! |
|
Back to top |
|
|
Ivica Letunic n00b
Joined: 12 Jun 2002 Posts: 1
|
Posted: Fri Jun 14, 2002 6:54 am Post subject: |
|
|
Here's a real soultion:
You need to re-emerge sablotron with -lstdc++ flag added to compile options. Easiest way would be to just add '-lstdc++' to CXXFLAGS in Make.conf, do 'emerge sablotron' and then remove '-lstdc++'. If it still doesn't work, you'll need to re-emerge php, too... |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Mon Aug 19, 2002 12:26 am Post subject: |
|
|
GCC3 to Portage & Programming, as it looks like it turned out to be an ebuild cooperation problem, although the original poster would probably have put it in Networking & Security. _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
|