[MacPorts] #43900: libass.a made by HandBrake has undefined symbols for x86_64
MacPorts
noreply at macports.org
Wed Jun 4 01:57:22 PDT 2014
#43900: libass.a made by HandBrake has undefined symbols for x86_64
--------------------------------------------+------------------------------
Reporter: vulcan_@… | Owner: macports-
Type: defect | tickets@…
Priority: Normal | Status: new
Component: ports | Milestone:
Keywords: libass undefined symbol x86_64 | Version: 2.3.0
| Port: HandBrake
--------------------------------------------+------------------------------
on Lion (Mac OS X 10.7.5) i see a problem doing "port -v install
handbrake". Extracting the relevant failure details from the log.
I have XCode 4.6 installed and am using the command line tools that come
with it.
First, the command that shows the problem (redacted to be readable)
Note that all paths have
`local/var/macports/build/_opt_local_var_macports_sources_mse.uk.rsync.macports.org_rsync.macports.org_release_tarballs_ports_aqua_HandBrake/HandBrake/work`
removed
{{{
Ld /opt/../HandBrake-0.9.8/build/xroot/HandBrakeCLI normal x86_64
cd /opt/../HandBrake-0.9.8/macosx
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/usr/bin/clang++ -arch x86_64
-L/opt/../HandBrake-0.9.8/build/xroot
-L/opt/../HandBrake-0.9.8/build/libhb
-L/opt/../HandBrake-0.9.8/build/contrib/lib
-F/opt/../HandBrake-0.9.8/build/xroot -filelist
/opt/../HandBrake-0.9.8/build/xroot/HandBrakeCLI.build/Objects-
normal/x86_64/HandBrakeCLI.LinkFileList -mmacosx-version-min=10.7
-framework AudioToolbox -framework IOKit -framework CoreServices -liconv
-lbz2 -lz -lhb -la52 '''-lass''' -lavcodec -lavformat -lavutil -lbluray
-ldca -ldvdnav -ldvdread -lfaac -lfontconfig -lfreetype -lfribidi -lmkv
-lmp3lame -lmp4v2 -lmpeg2 -logg -lsamplerate -lswscale -ltheora -lvorbis
-lvorbisenc -lx264 -lxml2
-o /opt/../HandBrake-0.9.8/build/xroot/HandBrakeCLI
}}}
we see the -lass that is referring to the `libass.a` made by HandBrake in
the contribs/lib subdirectory.
the resulting error is
{{{
Undefined symbols for architecture x86_64:
"_hb_buffer_add_utf32", referenced from:
_shape_harfbuzz in libass.a(ass_shaper.o)
"_hb_buffer_create", referenced from:
_shape_harfbuzz in libass.a(ass_shaper.o)
...
}}}
I show only 2 of the 20+ undefined symbols in the list, seemingly all from
ass_shaper.o
the final msg is
{{{
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
}}}
thinking that libass.a might be the one in /opt/local/lib, which comes in
with ffmpeg, I thought to remove it by uninstalling ffmpeg
@2.2.2_1+gpl2+nofree
the HandBrake build failed at the same place.
I tried drilling down to the libass directory and doing `make clean`and
then `make`to see if that would give any insight as to how the library was
built. The following build of HandBrake failed in the same way.
Then I cleaned HB out again and tried it from scratch to be able to give
you a clean log file.
attached are 2 text files, the captured scroll back from the terminal
session and the main log file
--
Ticket URL: <https://trac.macports.org/ticket/43900>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list