On Aug 27, 2006, at 12:24 , Eric Albert wrote:
On Aug 27, 2006, at 10:31 AM, Justin C. Walker wrote:
I am attempting to build a chunk of code from the open source
world (Singular, a computer algebra system). In the course of
the build, I get this failure (both PowerPC and Intel):
libtool -dynamic -twolevel_namespace -weak_reference_mismatches
weak -undefined dynamic_lookup -o mpsr.so mpsr_Put.dl_o
mpsr_PutPoly.dl_o mpsr_GetPoly.dl_o mpsr_sl.dl_o mpsr_Get.dl_o
mpsr_GetMisc.dl_o mpsr_Error.dl_o -L/lib -lMPT -lMP
ld: for architecture ppc
ld: common symbols not allowed with MH_DYLIB output format with
the -multi_module option
/lib/libMP.a(MP_Util.o) definition of common _fix_log_msg (size 128)
/lib/libMP.a(MP_Util.o) definition of common _AnnotFlagsStr (size
32)
libtool: internal link edit command failed
After R'ing TFM, I tried adding -single_module to LDFLAGS. That
worked, AFAICT, but I'm not sure this is the correct fix.
That's an excellent fix.
It seemed like one, and I must have gotten lucky; after I "cleaned
up" and rebuilt, I now get this complaint:
g++ -g -pipe -fpic -DPIC -dynamic -single_module -
twolevel_namespace -weak_reference_mismatches weak -undefined
dynamic_lookup p_Procs_Lib_FieldZp.dl_og -o p_Procs_FieldZp.sog
/usr/bin/ld: -single_module or -multi_module flags can only be used
when -dylib is also specified
at a different spot in the build. Any thoughts? Should -dynamic
be -dylib?