Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#61096 closed defect (fixed)

libtheora @1.1.1_2:error:Failed to build libtheora: command execution failed

Reported by: keke-cute (小可可可爱多) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: bigsur Cc: keke-cute (小可可可爱多)
Port: libtheora

Description

full log see https://gist.githubusercontent.com/keke-cute/ea01d0a91f913bf9f127dd751e12f65f/raw/69fac54879f16f0cd8d49abdcaab04c1aed606e0/mail.log

:debug:sysinfo macOS 11.0 (darwin/20.0.0) arch i386
:debug:sysinfo MacPorts 2.6.99
:debug:sysinfo Xcode 12.0
:debug:sysinfo SDK 11.0
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 11.0

:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [libtheoraenc.la] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libtheora/libtheora/work/libtheora-1.1.1/lib'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libtheora/libtheora/work/libtheora-1.1.1'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libtheora/libtheora/work/libtheora-1.1.1'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libtheora/libtheora/work/libtheora-1.1.1" && /usr/bin/make -j4 -w all 
:info:build Exit code: 2
:error:build Failed to build libtheora: command execution failed
:debug:build Error code: CHILDSTATUS 42252 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

Change History (5)

comment:1 Changed 4 years ago by keke-cute (小可可可爱多)

Cc: keke-cute added

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Hmm.

:info:build Undefined symbols for architecture x86_64:
:info:build   "_th_comment_add", referenced from:
:info:build       _theora_comment_add in apiwrapper.o
:info:build   "_th_comment_add_tag", referenced from:
:info:build       _theora_comment_add_tag in apiwrapper.o
:info:build   "_th_comment_clear", referenced from:
:info:build       _theora_comment_clear in apiwrapper.o
:info:build   "_th_comment_init", referenced from:
:info:build       _theora_comment_init in apiwrapper.o
:info:build   "_th_comment_query", referenced from:
:info:build       _theora_comment_query in apiwrapper.o
:info:build   "_th_comment_query_count", referenced from:
:info:build       _theora_comment_query_count in apiwrapper.o
:info:build ld: symbol(s) not found for architecture x86_64

comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newaccepted

Comparing the log on macOS 10.15/Xcode 11.6 with the one from macOS 11 beta/Xcode 12beta, on macOS 10.15 it is building with -Wl,-flat_namespace -Wl,-undefined -Wl,suppress while on macOS 11 it's not. This is the "Yosemite libtool bug" where libtool misidentifies OS X 10.10 and later as Mac OS X 10.1 and incorrectly uses the flat namespace with -undefined suppress when it should use the two-level namespace with -undefined dynamic_lookup. In addition, libtool completely misses macOS 11 and later, adding neither of the flags, hence making the undefined symbols an error, rather than being allowed as the project's authors had intended. This has already been fixed in the libtool port. We should backport the patch to this port's configure script.

Last edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 3ebc6535b99041f5918d9c3e682f156a9556a082/macports-ports (master):

libtheora: Regenerate configure with newer libtool

This pulls in fixes from the libtool port so that newer macOS versions
are identified correctly. This fixes build failures on macOS 11 and
later and incorrect builds on OS X 10.10-10.15.

The revision is increased because with this fix libtheora now uses the
two-level namespace instead of the flat namespace on OS X 10.10-10.15.

Closes: #61096

comment:5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: bigsur added
Note: See TracTickets for help on using tickets.