Hi,
I'm often getting following error:
/usr/apr/1.5/build/sparcv9/libtool --silent --mode=link cc -o
mod_dtrace.la
-rpath /usr/apache2/2.2/libexec/sparcv9 -module -avoid-version
mod_dtrace.lo
ld: fatal: file .libs/mod_dtrace.o: wrong ELF class: ELFCLASS64
apxs:Error: Command failed with rc=131072
Attached patch fixes the issue.
Note that I'm not libtool expert. Any feedback is welcomed.
Thanks,
Petr
--- build/libtool.m4
+++ build/libtool.m4
@@ -5432,11 +5445,16 @@
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ for i in $LTCFLAGS; do
+case $i in
+ -m32|-m64) _LT_TAGVAR(addressing_model, $1)=$i;;
+esac
+ done
if test $GCC = yes; then
wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text
${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC ${addressing_model} -shared $pic_flag
${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs
$compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo { global: $lib.exp~cat
$export_symbols | $SED -e s/\(.*\)/\1;/ $lib.exp~echo local: *; };
$lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h
${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC ${addressing_model} -shared $pic_flag ${wl}-z ${wl}text ${wl}-M
${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs
$compiler_flags~$RM $lib.exp'
else
case `$CC -V 21` in
*Compilers 5.0*)
@@ -5447,9 +5465,9 @@
;;
*)
wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h
$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC ${addressing_model}
-G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo { global: $lib.exp~cat
$export_symbols | $SED -e s/\(.*\)/\1;/ $lib.exp~echo local: *; };
$lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs
$deplibs $compiler_flags~$RM $lib.exp'
+ $CC ${addressing_model} -G${allow_undefined_flag} -M $lib.exp -h
$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -5719,6 +5737,8 @@
[Commands necessary for finishing linking programs])
_LT_TAGDECL([], [file_list_spec], [1],
[Specify filename containing input files])
+_LT_TAGDECL([], [addressing_model], [1],
+[Set 32-bit or 64-bit addressing model])
dnl FIXME: Not yet implemented
dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
dnl[Compiler flag to generate thread safe objects])