Bug 74403

Summary: FLAC dependency isn't mentioned anywhere and can cause compilation errors
Product: [Unmaintained] kdemultimedia Reporter: Holger Benl <holger.benl>
Component: generalAssignee: Multimedia Developers <kde-multimedia>
Status: RESOLVED FIXED    
Severity: normal CC: greg_g
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Holger Benl 2004-02-06 21:48:43 UTC
Version:            (using KDE KDE 3.2.0)
Installed from:    Gentoo Packages
Compiler:          gcc 3.2.1 
OS:          Linux

I tried to compile kdemultimedia-3.2 and it failed with some
error messages that mentioned FLAC (haven't got the output
here anymore, sorry), so I updated flac (from 1.0.4 to 1.1),
tried to compile again and this time it worked.

Obviously kdemultimedia uses FLAC (for a kfile-plugin), but
that (optional?) dependency is neither mentioned in
"./configure --help" nor on the KDE website with the
dependencies of KDE 3.2.

Furthermore, it seems to need the 1.1 version of FLAC, but the
configure script only seems to check whether FLAC is installed
or not, but not whether it is recent enough.
Comment 1 Caleb Tennis 2004-02-09 16:49:55 UTC
Looks like this has been fixed with recent commits:

http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdemultimedia/kfile-plugins/flac/configure.in.in.diff?r1=1.2&r2=1.3&f=h
Comment 2 Caleb Tennis 2004-02-09 16:52:32 UTC
though it's not been committed in the 3.2 branch...
Comment 3 Allan Sandfeld 2004-02-18 18:32:04 UTC
CVS commit by carewolf: 

Backport improved configure check for libFLAC
CCMAIL:74403-done@bugs.kde.org


  M +3 -1      configure.in.in   1.1.2.1
  M +141 -5    kfile_flac.cpp   1.2



Comment 4 Gregorio Guidi 2004-04-21 15:49:46 UTC
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../libFLAC.so: undefined reference to `log'
Comment 5 Gregorio Guidi 2004-04-21 15:51:55 UTC
During 'configure', the test introduced with the last commit always fails with:
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../libFLAC.so: undefined reference to `log'

shouldn't it be
AC_CHECK_LIB(FLAC,FLAC__seekable_stream_decoder_process_single,
                  kde_has_flac_lib=yes, ,-lm)

(but I'm not an autoconf guru)
Comment 6 Allan Sandfeld 2004-04-22 10:25:58 UTC
Sounds like a library problem on your machine. Try "ldd libFLAC.so", it should have a reference to a libm.so library, and it _should_ find this library automatically.
Comment 7 Gregorio Guidi 2004-04-22 12:07:29 UTC
nope, even after a clean './configure; make' in my home dir I have
flac-1.1.0 $ ldd src/libFLAC/.libs/libFLAC.so.4.1.2
        linux-gate.so.1 =>  (0xffffe000)
        libc.so.6 => /lib/libc.so.6 (0x4004b000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Afetr a bit of investigation: with this patch in flac CVS
http://cvs.sourceforge.net/viewcvs.py/flac/flac/src/libFLAC/Makefile.am?r1=1.45&r2=1.46
(which e.g. Debian applies) finally I have: flac-1.1.0 $ ldd src/libFLAC/.libs/libFLAC.so.4.1.2
        linux-gate.so.1 =>  (0xffffe000)
        libm.so.6 => /lib/libm.so.6 (0x4004b000)
        libc.so.6 => /lib/libc.so.6 (0x4006c000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

To summarize: The configure check in kdemultimedia will be the right one
starting from the next release of flac.