PHP 5.3 compile error when enale variant "fastcgi"
Ryan Schmidt
ryandesign at macports.org
Sun Aug 9 15:10:30 PDT 2009
On Aug 9, 2009, at 12:10, Chang James wrote:
> I try to compile PHP5 in MacPorts after I re-compile apr-util
> with it's new varient "postgresql84.
>
> I use the following command, but it will failed when add fastcgi
> variant:
I always use +apache2 +fastcgi locally so I know this generally works
well. I have not previously used all the other variants you're using,
but I tried them now and it builds fine in MacPorts 1.7.1 on Mac OS X
10.4.11 and 10.5.7.
Note that the functions provided by the +pcntl variant must not be
used when PHP is running in a web server environment. See:
http://php.net/intro.pcntl
To begin to try to resolve this issue, I would suggest you
reinstalling those ports that you have installed with improper
platform variants, like Joshua said before:
> /opt/local/bin/port -f install php5 +snmp +macosx +ipc +fastcgi
> +pear +mysql5 +pcntl +apache2
> Warning: Implicit variants should not be explicitly set or unset.
> macosx will be ignored.
> Warning: Skipping upgrade since libiconv 1.13_0 >= libiconv 1.13_0,
> even though installed variants "+enable_cp932fix+freebsd+linux" do
> not match "+enable_cp932fix". Use 'upgrade --enforce-variants' to
> switch to the requested variants.
+freebsd and +linux should not be used on Mac OS X.
> Warning: Skipping upgrade since ncurses 5.7_0 >= ncurses 5.7_0,
> even though installed variants "+freebsd" do not match "". Use
> 'upgrade --enforce-variants' to switch to the requested variants.
Same here.
> Warning: Skipping upgrade since tcl 8.5.6_0 >= tcl 8.5.6_0, even
> though installed variants "+memdebug+threads" do not match "+darwin
> +memdebug+threads". Use 'upgrade --enforce-variants' to switch to
> the requested variants.
> Warning: Skipping upgrade since openssl 0.9.8k_0 >= openssl
> 0.9.8k_0, even though installed variants "+rfc3779" do not match
> "+darwin+rfc3779". Use 'upgrade --enforce-variants' to switch to
> the requested variants.
> Warning: Skipping upgrade since bzip2 1.0.5_2 >= bzip2 1.0.5_2,
> even though installed variants "" do not match "+darwin". Use
> 'upgrade --enforce-variants' to switch to the requested variants.
> Warning: Skipping upgrade since readline 6.0.000_1 >= readline
> 6.0.000_1, even though installed variants "" do not match
> "+darwin". Use 'upgrade --enforce-variants' to switch to the
> requested variants.
> Warning: Skipping upgrade since tk 8.5.6_1 >= tk 8.5.6_1, even
> though installed variants "" do not match "+darwin". Use 'upgrade --
> enforce-variants' to switch to the requested variants.
> Warning: Skipping upgrade since apache2 2.2.11_0 >= apache2
> 2.2.11_0, even though installed variants "+darwin_9+openbsd+openldap
> +workermpm" do not match "+darwin+darwin_9+openldap+workermpm". Use
> 'upgrade --enforce-variants' to switch to the requested variants.
All of the above ports are missing the +darwin platform variant,
which for various reasons these ports require in order to build
correctly on Mac OS X. MacPorts automatically adds the +darwin
variant for you, so you must've done something special to remove it,
such as by typing "sudo port install portname -darwin" or by putting
"-darwin" into your variants.conf, neither of which you should do.
So please edit your variants.conf, remove any references to platform
variants from it, and then for each port referenced above, uninstall
it with
sudo port -f uninstall portname
And then reinstall it with
sudo port install portname
You can specify variants on the port install command if desired, but
do not specify platform variants; allow MacPorts to select the right
ones for you.
> Undefined symbols:
> "_compiler_globals", referenced from:
> _compiler_globals$non_lazy_ptr in cgi_main.o
> "_core_globals", referenced from:
> _core_globals$non_lazy_ptr in cgi_main.o
> "_executor_globals", referenced from:
> _executor_globals$non_lazy_ptr in info.o
> _executor_globals$non_lazy_ptr in cgi_main.o
> "_sapi_globals", referenced from:
> _sapi_globals$non_lazy_ptr in info.o
> _sapi_globals$non_lazy_ptr in cgi_main.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make: *** [sapi/cgi/php-cgi] Error 1
I have seen this reported once before, and did not have a solution
for it then either:
http://trac.macports.org/ticket/16596
Please let us know if rebuilding your ports with the proper platform
variants resolves the issue, so that I can update the ticket with
that solution.
More information about the macports-users
mailing list