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

Attachment: signature.asc
Description: Digital signature

Reply via email to