[MacPorts] #54228: octave @4.2.1 build failure on SnowLeopard with clang-3.9 due to malformed object error, but succeeds with clang-3.8
MacPorts
noreply at macports.org
Thu May 25 04:30:45 UTC 2017
#54228: octave @4.2.1 build failure on SnowLeopard with clang-3.9 due to malformed
object error, but succeeds with clang-3.8
-------------------------+--------------------
Reporter: kencu | Owner:
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: snowleopard | Port: octave
-------------------------+--------------------
During a revbump of octave, with my default compiler now set to clang-3.9,
this failure occurs:
{{{
/opt/local/bin/ranlib: file: .libs/libgnu.a(unistd.o) has no symbols
/opt/local/bin/ranlib: file: .libs/libgnu.a(wctype-h.o) has no symbols
/opt/local/bin/ranlib: file: .libs/libgnu.a(xsize.o) has no symbols
GEN liboctave/operators/mx-ui64nda-i16nda.h
GEN liboctave/operators/mx-ui64nda-ui16nda.h
/usr/bin/ranlib: object: .libs/libgnu.a(strftime.o) malformed object
(unknown load command 2)
make[3]: *** [libgnu.la] Error 1
make[3]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-4.2.1/libgnu'
make[2]: *** [all-recursive] Error 1
}}}
with clang-3.8, the build goes past this point without trouble, and
ultimately succeeds.
{{{
/opt/local/bin/ranlib: file: .libs/libgnu.a(unistd.o) has no symbols
/opt/local/bin/ranlib: file: .libs/libgnu.a(wctype-h.o) has no symbols
/opt/local/bin/ranlib: file: .libs/libgnu.a(xsize.o) has no symbols
GEN liboctave/operators/mx-ui16nda-ui64nda.h
/usr/bin/ranlib: file: .libs/libgnu.a(bitrotate.o) has no symbols
/usr/bin/ranlib: file: .libs/libgnu.a(c-ctype.o) has no symbols
/usr/bin/ranlib: file: .libs/libgnu.a(fd-hook.o) has no symbols
/usr/bin/ranlib: file: .libs/libgnu.a(getprogname.o) has no symbols
}}}
I note `/usr/bin/ranlib` slips in there, instead of
`/opt/local/bin/ranlib`, and I *think* this error occurs because the
default `/usr/bin/ranlib` on 10.6 can handle the objects from clang-3.8,
but can't handle the objects from clang-3.9, but I note that the
troublesome object that causes the failure `.libs/libgnu.a(strftime.o)
malformed object` never appears in the build log during the clang-3.8
build, for some reason.
During the clang-3.9 build, this appears:
{{{
ld: warning: target OS does not support re-exporting symbol
_av_bprint_strftime from libavutil/libavutil.dylib
}}}
Whereas during the clang-3.8 build, it looks like this:
{{{
CC liboctave/wrappers/liboctave_wrappers_libwrappers_la-strftime-
wrapper.lo
}}}
so there is some difference in the way octave builds on these two systems
as well.
--
Ticket URL: <https://trac.macports.org/ticket/54228>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list