You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2001/12/29 18:36:26 UTC
reg* symbols in OS 10.1 libm???
After removing a duplicate ap_coredump_dir symbol - this is the error
I'm left with on OSX building threaded [no such error on worker !?!]
Thoughts?
Bill
/bin/sh /clean/httpd-2.0/srclib/apr/libtool --silent --mode=compile cc
-g -O2 -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -traditional-cpp
-DAP_HAVE_DESIGNATED_INITIALIZER -I. -I/clean/httpd-2.0/os/unix
-I/clean/httpd-2.0/server/mpm/worker -I/clean/httpd-2.0/modules/http
-I/clean/httpd-2.0/modules/proxy -I/clean/httpd-2.0/include
-I/clean/httpd-2.0/srclib/apr/include -I/clean/httpd-2.0/srclib/apr-
util/include -I/clean/httpd-2.0/modules/dav/main -c modules.c && touch
modules.lo
/bin/sh /clean/httpd-2.0/srclib/apr/libtool --silent --mode=link cc -g
-O2 -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -traditional-cpp
-DAP_HAVE_DESIGNATED_INITIALIZER -I. -I/clean/httpd-2.0/os/unix
-I/clean/httpd-2.0/server/mpm/worker -I/clean/httpd-2.0/modules/http
-I/clean/httpd-2.0/modules/proxy -I/clean/httpd-2.0/include
-I/clean/httpd-2.0/srclib/apr/include -I/clean/httpd-2.0/srclib/apr-
util/include -I/clean/httpd-2.0/modules/dav/main -export-dynamic -o
httpd modules.lo modules/aaa/mod_access.la modules/aaa/mod_auth.la
modules/filters/mod_include.la modules/loggers/mod_log_config.la
modules/metadata/mod_env.la modules/metadata/mod_setenvif.la
modules/http/mod_http.la modules/http/mod_mime.la
modules/generators/mod_status.la modules/generators/mod_autoindex.la
modules/generators/mod_asis.la modules/generators/mod_cgid.la
modules/mappers/mod_negotiation.la modules/mappers/mod_dir.la
modules/mappers/mod_imap.la modules/mappers/mod_actions.la
modules/mappers/mod_userdir.la modules/mappers/mod_alias.la
modules/mappers/mod_so.la server/mpm/worker/libworker.la
server/libmain.la os/unix/libos.la
/clean/httpd-2.0/srclib/pcre/libpcre.la /clean/httpd-2.0/srclib/apr-
util/libaprutil.la /clean/httpd-2.0/srclib/apr/libapr.la -lm
/clean/httpd-2.0/srclib/apr-util/xml/expat/lib/libexpat.la
usage: basename string [suffix]
usage: basename string [suffix]
usage: basename string [suffix]
usage: basename string [suffix]
usage: basename string [suffix]
/usr/bin/ld: multiple definitions of symbol _ap_coredump_dir
server/mpm/worker/.libs/libworker.al(worker.lo) definition of
_ap_coredump_dir in section (__DATA,__common)
server/.libs/libmain.al(mpm_common.lo) definition of _ap_coredump_dir in
section (__DATA,__common)
/usr/bin/ld: warning multiple definitions of symbol _regcomp
/clean/httpd-2.0/srclib/pcre/.libs/libpcre.al(pcreposix.lo) definition
of _regcomp in section (__TEXT,__text)
/usr/lib/libm.dylib(regcomp.o) definition of _regcomp
/usr/bin/ld: warning multiple definitions of symbol _regexec
/clean/httpd-2.0/srclib/pcre/.libs/libpcre.al(pcreposix.lo) definition
of _regexec in section (__TEXT,__text)
/usr/lib/libm.dylib(regexec.o) definition of _regexec
/usr/bin/ld: warning multiple definitions of symbol _regfree
/clean/httpd-2.0/srclib/pcre/.libs/libpcre.al(pcreposix.lo) definition
of _regfree in section (__TEXT,__text)
/usr/lib/libm.dylib(regfree.o) definition of _regfree
make[1]: *** [httpd] Error 1
make: *** [all-recursive] Error 1
Re: reg* symbols in OS 10.1 libm???
Posted by Sander Temme <sc...@covalent.net>.
> Thanks though! All seems well again. Of course, I had to modify the
> installed build script for the -flat-namespace cruft, but other than that,
> no problems {right}.
The -flat_namespace flag is best set inside ltconfig before the libtoolize
step. However, for the last two dev tools revisions Apple has not done this,
so to use the supplied libtool installation requires a patch to ltconfig:
--- /usr/share/libtool/ltconfig.bak Tue Oct 2 17:53:33 2001
+++ /usr/share/libtool/ltconfig Wed Dec 12 22:30:16 2001
@@ -1372,7 +1372,7 @@
;;
darwin* | rhapsody*)
- allow_undefined_flag='-undefined warning'
+ allow_undefined_flag='-undefined warning -flat_namespace'
archive_cmds='$CC $(if test .$module = .yes; then echo -bundle; else
echo -dynamiclib; fi) $allow_undefined_flag -o $lib $libobjs $deplibs
$linkopts'
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib'
hardcode_direct=yes
I know Fred has filed this as a bug but apparently it hasn't drifted to the
surface yet at Apple.
S.
--
Covalent Technologies sctemme@covalent.net
Engineering group Voice: (415) 536 5214
645 Howard St. Fax: (415) 536 5210
San Francisco CA 94105
PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1
=======================================================
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message
=======================================================
Re: reg* symbols in OS 10.1 libm???
Posted by Sander Temme <sc...@covalent.net>.
> Thanks though! All seems well again. Of course, I had to modify the
> installed build script for the -flat-namespace cruft, but other than that,
> no problems {right}.
The -flat_namespace flag is best set inside ltconfig before the libtoolize
step. However, for the last two dev tools revisions Apple has not done this,
so to use the supplied libtool installation requires a patch to ltconfig:
--- /usr/share/libtool/ltconfig.bak Tue Oct 2 17:53:33 2001
+++ /usr/share/libtool/ltconfig Wed Dec 12 22:30:16 2001
@@ -1372,7 +1372,7 @@
;;
darwin* | rhapsody*)
- allow_undefined_flag='-undefined warning'
+ allow_undefined_flag='-undefined warning -flat_namespace'
archive_cmds='$CC $(if test .$module = .yes; then echo -bundle; else
echo -dynamiclib; fi) $allow_undefined_flag -o $lib $libobjs $deplibs
$linkopts'
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib'
hardcode_direct=yes
I know Fred has filed this as a bug but apparently it hasn't drifted to the
surface yet at Apple.
S.
--
Covalent Technologies sctemme@covalent.net
Engineering group Voice: (415) 536 5214
645 Howard St. Fax: (415) 536 5210
San Francisco CA 94105
PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1
=======================================================
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message
=======================================================
Re: reg* symbols in OS 10.1 libm???
Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Sander Temme" <sc...@covalent.net>
Sent: Saturday, December 29, 2001 12:22 PM
> > After removing a duplicate ap_coredump_dir symbol - this is the error
> > I'm left with on OSX building threaded [no such error on worker !?!]
>
> You're breaking on those? I remember just seeing them as warnings.
It appears you are right, and I didn't purge enough files (nor did the
make properly rebuild a few targets automatically) after I fixed the
problem with the duplicate ap_coredump_dir symbol.
Thanks though! All seems well again. Of course, I had to modify the
installed build script for the -flat-namespace cruft, but other than that,
no problems {right}.
Bill
Re: reg* symbols in OS 10.1 libm???
Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Sander Temme" <sc...@covalent.net>
Sent: Saturday, December 29, 2001 12:22 PM
> > After removing a duplicate ap_coredump_dir symbol - this is the error
> > I'm left with on OSX building threaded [no such error on worker !?!]
>
> You're breaking on those? I remember just seeing them as warnings.
It appears you are right, and I didn't purge enough files (nor did the
make properly rebuild a few targets automatically) after I fixed the
problem with the duplicate ap_coredump_dir symbol.
Thanks though! All seems well again. Of course, I had to modify the
installed build script for the -flat-namespace cruft, but other than that,
no problems {right}.
Bill
Re: reg* symbols in OS 10.1 libm???
Posted by Sander Temme <sc...@covalent.net>.
> After removing a duplicate ap_coredump_dir symbol - this is the error
> I'm left with on OSX building threaded [no such error on worker !?!]
You're breaking on those? I remember just seeing them as warnings. They are
symbol conflicts between the regular expression stuff in the Math library
(see regex(3)) and PCRE. Under normal circumstances, PCRE wins and we end up
actually using our own symbols. As long as there is no namespace protection
or two-level linking (which we shied away from earlier), we're stuck with
the existence of multiple symbols. From the man page of ld(1):
When creating a output file with the static link editor
that links against dynamic libraries, the references to
symbols in those libraries can be recorded at static link
time to bind to a specific library definition (two-level
namespace) or left to be bound at execution time to the
first library in the search order of the program (flat
namespace). A program, its dynamic libraries and its bun-
dles may each be either two-level or flat namespace
images. The dynamic linker will bind each image according
to how it was built.
As far as I have taken the time to figure this out (AFAIHTTTTFTO?), the PCRE
library is linked statically into httpd, so its symbols don't have to be
satisfied at runtime. Feel free to shoot me down on this though.
S.
--
Covalent Technologies sctemme@covalent.net
Engineering group Voice: (415) 536 5214
645 Howard St. Fax: (415) 536 5210
San Francisco CA 94105
PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1
=======================================================
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message
=======================================================
Re: reg* symbols in OS 10.1 libm???
Posted by Sander Temme <sc...@covalent.net>.
> After removing a duplicate ap_coredump_dir symbol - this is the error
> I'm left with on OSX building threaded [no such error on worker !?!]
You're breaking on those? I remember just seeing them as warnings. They are
symbol conflicts between the regular expression stuff in the Math library
(see regex(3)) and PCRE. Under normal circumstances, PCRE wins and we end up
actually using our own symbols. As long as there is no namespace protection
or two-level linking (which we shied away from earlier), we're stuck with
the existence of multiple symbols. From the man page of ld(1):
When creating a output file with the static link editor
that links against dynamic libraries, the references to
symbols in those libraries can be recorded at static link
time to bind to a specific library definition (two-level
namespace) or left to be bound at execution time to the
first library in the search order of the program (flat
namespace). A program, its dynamic libraries and its bun-
dles may each be either two-level or flat namespace
images. The dynamic linker will bind each image according
to how it was built.
As far as I have taken the time to figure this out (AFAIHTTTTFTO?), the PCRE
library is linked statically into httpd, so its symbols don't have to be
satisfied at runtime. Feel free to shoot me down on this though.
S.
--
Covalent Technologies sctemme@covalent.net
Engineering group Voice: (415) 536 5214
645 Howard St. Fax: (415) 536 5210
San Francisco CA 94105
PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1
=======================================================
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message
=======================================================