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. Everything should use -single_module...it's
faster, for one. It's even the default when building for 64-bit. -
multi_module is only necessary when you want to be able to override a
set functions without having to override every function in the
library. Libc builds with -multi_module for that reason, since it
means that Malloc Debug and Guard Malloc only have to override the
malloc functions.
Also, since Singular is an "autoconf" package, I think I need to
add that flag in 'configure.in', where it sets up LDFLAGS during
the config run.
So: is this the correct flag/fix, and the right place to change?
Changing configure.in is great, but to get the fix to be used in the
build you'll also have to re-run autoconf to regenerate the configure
file.
-Eric
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Unix-porting mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/unix-porting/email@hidden