Opened 16 years ago
Closed 15 years ago
#16596 closed defect (duplicate)
php5: undefined symbols _executor_globals _sapi_globals _compiler_globals _core_globals
Reported by: | artrigue@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | jyrkiwahlstedt | |
Port: | php5 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
sudo port -v install php5 +apache2 +fastcgi +imap +mysql5 +pcntl +pear +pspell +sockets +tidy | tee -a ./php5_install_log
produces (besides a massive log) ld errors:
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols: _executor_globals _sapi_globals _compiler_globals _core_globals
...looking through the log I see 4 places where it appears a configuration script is called with invalid parameters:
Generating files updating cache ./config.cache [...] creating main/internal_functions_cli.c +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. Notice: Following unknown configure options were used: --with-xml --with-expat-dir=/opt/local --enable-filepro --enable-trans-sid --enable-dbx Check './configure --help' for available options ---> Building php5 with target all
I have perl 5.10 and a generally fresh 10.4 install (plus updates to 10.4.11), and xcode 2.5. I only have had this hard drive installed for 2 days :)
Logfile is attached
Attachments (1)
Change History (7)
Changed 16 years ago by artrigue@…
Attachment: | php5_install_log.bz2 added |
---|
comment:1 Changed 16 years ago by blb@…
Cc: | jwa@… added; artrigue@… removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to ryandesign@… |
Type: | enhancement → defect |
comment:2 follow-up: 3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | php5 build errores → php5: undefined symbols _executor_globals _sapi_globals _compiler_globals _core_globals |
---|
Your install log says:
checking for safe mode exec dir... /usr/local/php/bin
Things installed in /usr/local can interfere with things installed by MacPorts. Please rename /usr/local to /usr/local-off, then clean the work area and try installing again.
sudo mv /usr/local /usr/local-off sudo port clean --work php5 sudo port -v install php5 +apache2 +fastcgi +imap +mysql5 +pcntl +pear +pspell +sockets +tidy | tee php5_install_log
If it works, then you'll know /usr/local interfered. You should use MacPorts to install whatever it is you had in /usr/local and then not install anything in /usr/local in the future.
Regarding the error:
Notice: Following unknown configure options were used:
This is not a serious problem, and has already been reported in #14859.
comment:3 follow-up: 5 Changed 16 years ago by artrigue@…
I did that. Is there a way I can not do that though? the official image from mysql was the culprit. — something I'd like to revert to honestly, it supports the 64 bit version.
Still, the configuration script is called with a command out of sync with the portfile's configure tool, its no surprise to see things sneaking in the way here. And it just finished its build with the same error:
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols: _executor_globals _sapi_globals _compiler_globals _core_globals collect2: ld returned 1 exit status make: *** [sapi/cgi/php-cgi] Error 1 Warning: the following items did not execute (for php5): org.macports.activate org.macports.destroot org.macports.install Error: Status 1 encountered during processing.
Those symbols are all over almost every .o in the project.
The script log says
---> Configuring php5 again for fastcgi
but I can't find php-cgi anywhere in the build directory.
I have:
-rwxr-xr-x 1 root 799 sep 19 19:21 pear -rwxr-xr-x 1 root 820 sep 19 19:21 peardev -rwxr-xr-x 1 root 736 sep 19 19:21 pecl -rwxr-xr-x 1 root 7,9M sep 19 19:20 php -rwxr-xr-x 1 root 4,2K sep 19 19:20 php-config -rwxr-xr-x 1 root 4,1K sep 19 19:20 phpize
in ../destroot/opt/local/bin , but not php-cgi.
comment:5 follow-up: 6 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
If removing MySQL from /usr/local did not fix the issue, then it was not the cause of it. :) If there is nothing else in /usr/local, then my guess was incorrect and that was not related to this issue. It's just one of the first things I guess when troubleshooting, since it so often is the problem.
The unknown configure arguments have been dealt with separately and are irrelevant to the issue you are reporting here.
The reason you don't have php-cgi in your build directory is because the build failed. If the build had succeeded, php-cgi would have been created.
I apologize for the almost year-long delay in responding to you, but I have had no insights into solving the issue, until today, when someone reported the same problem on the mailing list. That user had installed a variety of ports without their required +darwin platform variants, and installed some others with improper +linux and +freebsd platform variants. Could that be the case for you as well? Could you show us the output of "port installed"?
Since it has been a long time since you reported the problem, if you were already able to resolve it, please let us know how.
comment:6 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Replying to ryandesign@…:
That user had installed a variety of ports without their required +darwin platform variants, and installed some others with improper +linux and +freebsd platform variants.
This analysis of that user's situation was incorrect; the "missing" +darwin variant was only an artifact of a bug in MacPorts 1.7.1 and earlier that did not properly record the +darwin variant in the registry.
I have now been able to reproduce the error in this ticket, and it is caused by simultaneously using both the +apache2 and +fastcgi variants of php5 when apache2 has been compiled with the +workermpm variant. I am marking this bug as a duplicate of #21281 because although that bug came later, it is not burdened by what we now know are irrelevant issues like this ticket is.
log of the install