Bug#713645: flactag: FTBFS: ld: FlacInfo.o: undefined reference to symbol 'FLAC__Metadata_ChainStatusString'

Sebastian Ramacher sramacher at debian.org
Mon Sep 2 11:17:11 UTC 2013


Control: reassign -1 libflac++-dev 1.3.0-1
Control: retitle -1 libflac++-dev: missing -lflag in pkg-config file
Control: affects -1 + src:flactag

On 2013-06-22 14:08:27, David Suárez wrote:
> Relevant part:
> > g++ -DHAVE_CONFIG_H -I.  -DSYSCONFDIR='"/etc"' -DPKGLIBDIR='"/usr/lib/flactag"' -I/usr/include/neon    -D_FORTIFY_SOURCE=2  -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c -o WriteInfo.o WriteInfo.cc
> > /bin/bash ./libtool --tag=CXX   --mode=link g++  -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -fPIE -pie -Wl,-z,relro -Wl,-z,now -o flactag flactag.o Album.o Track.o AlbumWindow.o TrackWindow.o FlacInfo.o TagName.o TagsWindow.o CuesheetTrack.o Cuesheet.o DiscIDWrapper.o base64.o ScrollableWindow.o ConfigFile.o MusicBrainzInfo.o FileNameBuilder.o ErrorLog.o CommandLine.o CoverArt.o UTF8Tag.o WriteInfo.o -ldiscid   -lneon-gnutls -lslang -lmusicbrainz5 -lFLAC++ -lunac   -ljpeg 
> > libtool: link: g++ -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o flactag flactag.o Album.o Track.o AlbumWindow.o TrackWindow.o FlacInfo.o TagName.o TagsWindow.o CuesheetTrack.o Cuesheet.o DiscIDWrapper.o base64.o ScrollableWindow.o ConfigFile.o MusicBrainzInfo.o FileNameBuilder.o ErrorLog.o CommandLine.o CoverArt.o UTF8Tag.o WriteInfo.o  -ldiscid -lneon-gnutls -lslang -lmusicbrainz5 -lFLAC++ /usr/lib/libunac.so -ljpeg
> > /usr/bin/ld: FlacInfo.o: undefined reference to symbol 'FLAC__Metadata_ChainStatusString'
> > /usr/lib/x86_64-linux-gnu/libFLAC.so.8: error adding symbols: DSO missing from command line
> > collect2: error: ld returned 1 exit status

This is a bug in libflac++-dev: Chain::Status::as_cstring uses
FLAC__Metadata_ChainStatusString which is in libFLAC. Since the function
is inline, every program calling this function must also link with
-lflac, but this is missing in flac++.pc. There are two ways to fix
this: implement Chain::Status::as_cstring in such a way that the caller
does not need to link with -lflac or add -lflac to the pkg-config file.

Regards
-- 
Sebastian Ramacher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20130902/45c6d37d/attachment.sig>


More information about the pkg-multimedia-maintainers mailing list