Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#26 kwave doesn't build on x86_64 platform

reproducible
closed
compiling (22)
5
2012-09-30
2007-06-07
Funda Wang
No

Looking at [1], it seems that kwave is always searching for /usr/lib, and installing the files into /usr/lib, rather than /usr/lib64 on x86_64 arch.

Discussion

  • Logged In: YES
    user_id=37622
    Originator: NO

    Sorry, but I think that I will not have the time to fix this. However, I really wonder, because Kwave has been working on x86_64 platforms for years (e.g. under Debian). The problem seems to be KDE-3 and autoconf/automake related, but as I am currently porting the whole build system to "cmake", I will not spend much time in fixing a build system that I will remove completely in the next release anyway...

    So far, can you please try what happens with the current SVN version?
    Just check out the sources, do a "cmake ." and then "make". It would be really interesting for me to know how the new cmake system works on a x86_64 platform!

    thanks so far,
    Thomas

     
  • Funda Wang
    Funda Wang
    2007-06-08

    Logged In: YES
    user_id=164667
    Originator: YES

    It seems that trunk does not like id3lib even in i586.

    <snip>
    -- Found Ogg/Vorbis library v2.x or newer
    -- Looking for C++ include id3/globals.h
    -- Looking for C++ include id3/globals.h - found
    -- Looking for C++ include id3/tag.h
    -- Looking for C++ include id3/tag.h - found
    -- Looking for C++ include id3/misc_support.h
    -- Looking for C++ include id3/misc_support.h - found
    CMake Error:

        id3lib seems not to be installed or too old !
    
        You can download id3lib from http://id3lib.sourceforge.net/
        and fetch the latest version from there. If you download the
        rpm package, please don't forget to fetch id3tag-devel too,
        it is needed for compiling Kwave!
    
        Note: at least version 3.8.1 is needed.
    

    -- Configuring done
    </snip>

    urpmq -p id3lib-devel -r

    libid3_3.8_3-devel-3.8.3-10mdv2007.1

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    Interesting. I downloaded the -devel package you mentioned and compared the header files with those that I have here: they are 100% identical, so your id3lib package seems to be fine! I think we should track down this problem later...

    Meanwhile, you can disable the MP3 import and look how far we come then:

    cmake -DWITH_MP3=OFF .

    Just an idea: does it help to specify your "lib64" directories in the linker's search path?
    You can try setting:

    export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}

    And another question: are the lib64 directories really listed in "/etc/ld.so.conf" ?

     
  • Funda Wang
    Funda Wang
    2007-06-10

    Logged In: YES
    user_id=164667
    Originator: YES

    $ cmake -DWITH_MP3=OFF .
    -- Found ALSA version 1.0.14
    -- Found KDE3 mcopidl preprocessor: /usr/bin/mcopidl
    -- Found aRts C include dir: /usr/include/artsc
    -- Found aRts idl include dir: /usr/include/arts
    -- Found convert: /usr/bin/convert
    -- Looking for include files HAVE_FLAC_HEADERS
    -- Looking for include files HAVE_FLAC_HEADERS - found
    -- Found FLAC include files
    -- Found FLAC++ include files
    -- Found FLAC API version 1.1.3 or newer
    -- Looking for vorbis_bitrate_addblock in vorbis
    -- Looking for vorbis_bitrate_addblock in vorbis - found
    -- Looking for include files HAVE_OGG_VORBIS_HEADERS
    -- Looking for include files HAVE_OGG_VORBIS_HEADERS - found
    -- Found Ogg/Vorbis library v2.x or newer
    -- Looking for include files HAVE_GSL_HEADERS
    -- Looking for include files HAVE_GSL_HEADERS - found
    -- Looking for gsl_fft_complex_wavetable_alloc in gsl
    -- Looking for gsl_fft_complex_wavetable_alloc in gsl - not found
    CMake Error:
    could not find required version of GSL
    (GNU Scientific Library)
    please install the GSL and it's -devel package!
    see http://www.gnu.org/software/gsl

    The problem is, kwave/cmake could find FLAC and Ogg devel files, why couldn't it find id3lib and gsl?
    $ urpmq -pr gsl-devel
    libgsl0-devel-1.9-1mdv2007.1

     
  • Funda Wang
    Funda Wang
    2007-06-10

    Logged In: YES
    user_id=164667
    Originator: YES

    BTW, the svn version test is done in x86-32 platform.

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    In this case it would be interesting to take a look into CMakeFiles/CMakeError.log and CMakeFiles/CMakeOutput.log. Maybe we find the reason there. Can you please send me these files or attach them to this bug?

     
  • Funda Wang
    Funda Wang
    2007-06-11

    Logged In: YES
    user_id=164667
    Originator: YES

    Without -DWITH_MP3=OFF:

    $ cmake .
    $ cat CMakeFiles/CMakeError.log
    Determining if the function pthread_create exists in the pthreads failed with the following output:
    /usr/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build
    gmake[1]: Entering directory /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o /usr/bin/gcc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o -c /usr/share/cmake-2.4/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec /usr/bin/cmake -P CMakeFiles/cmTryCompileExec.dir/cmake_clean_target.cmake /usr/bin/gcc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -fPIC "CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o" -o cmTryCompileExec -rdynamic -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec] Error 1 gmake[1]: Leaving directory/home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp'
    gmake: *** [cmTryCompileExec/fast] Error 2

    With -DWITH_MP3=OFF:
    $ cmake.
    $ $ cat CMakeFiles/CMakeError.log
    Determining if the function pthread_create exists in the pthreads failed with the following output:
    /usr/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build
    gmake[1]: Entering directory /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o /usr/bin/gcc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o -c /usr/share/cmake-2.4/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec /usr/bin/cmake -P CMakeFiles/cmTryCompileExec.dir/cmake_clean_target.cmake /usr/bin/gcc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create -fPIC "CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o" -o cmTryCompileExec -rdynamic -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec] Error 1 gmake[1]: Leaving directory/home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp'
    gmake: *** [cmTryCompileExec/fast] Error 2

    Determining if the function gsl_fft_complex_wavetable_alloc exists in the gsl failed with the following output:
    /usr/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build
    gmake[1]: Entering directory /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o /usr/bin/gcc -fPIC -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common -O2 -DCHECK_FUNCTION_EXISTS=gsl_fft_complex_wavetable_alloc -o CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o -c /usr/share/cmake-2.4/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec /usr/bin/cmake -P CMakeFiles/cmTryCompileExec.dir/cmake_clean_target.cmake /usr/bin/gcc -fPIC -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common -O2 -DCHECK_FUNCTION_EXISTS=gsl_fft_complex_wavetable_alloc -fPIC "CMakeFiles/cmTryCompileExec.dir/usr/share/cmake-2.4/Modules/CheckFunctionExists.o" -o cmTryCompileExec -rdynamic -lgsl /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ctrmv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zswap' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zsymm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cgeru' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_sgemm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ctrsv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_sgemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_srotg' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zgemm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cdotu_sub' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dznrm2'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ddot' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_csymm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cher2k' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zdotu_sub'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_sdot' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_sdsdot'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cgerc' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_scnrm2'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ctrmm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_sscal'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_strmm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zcopy'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dsyrk' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_cherk'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zherk' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zher'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ztrmv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_drotmg'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dswap' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_scopy'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_scasum' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zscal'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_drotg' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zdotc_sub'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cscal' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_caxpy'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zsyr2k' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ssyr2k'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_csyr2k' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ztrsm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ctrsm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ssymm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cdotc_sub' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zher2k'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_saxpy' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_idamax'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_snrm2' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dsdot'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cher' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dger'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cher2' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dzasum'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dsyr2' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ssyrk'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_strmv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dgemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cgemm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dasum'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dsymv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_srotm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_sswap' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dtrmv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_isamax' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zhemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zaxpy' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dcopy'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_sasum' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dsyr'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_strsm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_drot'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ztrsv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_izamax'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ssymv' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_chemm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zgeru' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dtrsv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_sger' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_srot'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dsymm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_ztrmm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zdscal' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zher2'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ssyr' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dtrmm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zgerc' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_csscal'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dsyr2k' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_chemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dnrm2' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_drotm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_icamax' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zgemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_zhemm' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_cgemv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ssyr2' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_strsv'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_dscal' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dgemm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_srotmg' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_dtrsm'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_ccopy' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_zsyrk'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_cswap' /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference tocblas_daxpy'
    /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libgsl.so: undefined reference to cblas_csyrk' collect2: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec] Error 1 gmake[1]: Leaving directory/home/fundawang/kwave/BUILD/kwave-0.7.9/CMakeFiles/CMakeTmp'
    gmake: *** [cmTryCompileExec/fast] Error 2

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    Those messages are weird:

    ... libgsl.so: undefined reference to `cblas_...'

    Normally the linker resolves those internal library dependencies on it's own. IMO your system is badly borked. You can do a "svn up" in your Kwave source directory to get my latest changes, and try again, I now also link libgslcblas, therefore we should get one step further now.

    Did you ever run "ldconfig -v" before on your system ?

     
  • Funda Wang
    Funda Wang
    2007-06-12

    Logged In: YES
    user_id=164667
    Originator: YES

    It seems cmake passed.
    $ cmake -DWITH_MP3=OFF .
    <snip>
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/fundawang/kwave-0.7.9

    But make failed:
    $ make
    [ 10%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuNode.o
    [ 10%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuGroup.o
    [ 10%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuItem.o
    [ 11%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuSub.o
    [ 11%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuRoot.o
    [ 11%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MenuManager.o
    [ 11%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/MultiStateWidget.o
    [ 12%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/OverViewCache.o
    [ 12%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/OverViewWidget.o
    [ 12%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/ScaleWidget.o
    [ 12%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/SelectTimeWidget.o
    [ 12%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/TrackPixmap.o
    [ 13%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/HMSTimeWidgetBase.o
    [ 13%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/HMSTimeWidgetBase.moc.o
    [ 13%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/LabelPropertiesWidgetBase.o
    [ 13%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/LabelPropertiesWidgetBase.moc.o
    [ 14%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/SelectTimeWidgetBase.o
    [ 14%] Building CXX object libgui/CMakeFiles/libkwavegui.dir/SelectTimeWidgetBase.moc.o
    Linking CXX shared library libkwavegui.so
    /usr/bin/ld: unrecognized option '--dynamic'
    /usr/bin/ld: use the --help option for usage information
    collect2: ld returned 1 exit status
    make[2]: [libgui/libkwavegui.so.0.7.9] Error 1
    make[1]:
    [libgui/CMakeFiles/libkwavegui.dir/all] Error 2
    make: *** [all] Error 2

     
  • Funda Wang
    Funda Wang
    2007-06-12

    Logged In: YES
    user_id=164667
    Originator: YES

    ldconfig -v|grep gsl

    ldconfig: Cannot stat /usr/lib/libdb_java-4.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libdb_java.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libib_util.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libodbcinstQ.so: No such file or directory
    libgslcblas.so.0 -> libgslcblas.so.0.0.0
    libgsl.so.0 -> libgsl.so.0.10.0
    libartsgslplayobject.so.0 -> libartsgslplayobject.so.0.0.0

    ldconfig -v|grep id3

    ldconfig: Cannot stat /usr/lib/libdb_java-4.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libdb_java.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libib_util.so: No such file or directory
    ldconfig: Cannot stat /usr/lib/libodbcinstQ.so: No such file or directory
    libid3-3.8.so.3 -> libid3.so
    libid3.so.0 -> libid3.so.0.0.0
    libid3tag.so.0 -> libid3tag.so.0.3.0

    Is this what you want?

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    I removed the parameter "--dynamic" from the linker flags, it seems to work fine without too.
    You can do a "svn up" and try again.

    Probably we are using different versions of binutils (here: 2.16.1) ?

     
  • Funda Wang
    Funda Wang
    2007-06-13

    Logged In: YES
    user_id=164667
    Originator: YES

    $ rpm -q binutils
    binutils-2.17.50.0.12-1mdv2008.0

    $ make .
    [ 39%] Building CXX object kwave/CMakeFiles/kwave_core.dir/UndoSelection.o
    [ 40%] Building CXX object kwave/CMakeFiles/kwave_core.dir/UndoTransaction.o
    [ 40%] Building CXX object kwave/CMakeFiles/kwave_core.dir/UndoTransactionGuard.o
    [ 40%] Building CXX object kwave/CMakeFiles/kwave_core.dir/menus_config_i18n.o
    Linking CXX executable kwave
    /usr/bin/ld: kwave: hidden symbol `__init_array_end' in kwave is referenced by DSO
    /usr/bin/ld: final link failed: Nonrepresentable section on output
    collect2: ld returned 1 exit status
    make[2]: [kwave/kwave] Error 1
    make[1]:
    [kwave/CMakeFiles/kwave_core.dir/all] Error 2
    make: *** [all] Error 2

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    Ok, you are using binutils-2.17, that explains some things. The linker problem you encounter seems to be a known problem of binutils (e.g. see gcc bug #22185).

    Now, as I have upgraded to binutils 2.17 here, I can reproduce it and will look for a workaround...

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    Finally the mailings about debian bug #422372 gave me the hint! One has to specify "-Wl,--no-whole-archive" after linking libkwavemt to libkwave, because the linker in binutils >= 2.17 adds some extra libs (invisibly to the user) wich are not working with the "--whole-archive" flag. The solution looks ugly, but seems to work here. You can "svn up" (rev. 2007) and go into the next round...

     
  • Funda Wang
    Funda Wang
    2007-06-16

    Logged In: YES
    user_id=164667
    Originator: YES

    It builds correctly without any problem.

    But there is another problem. Mandriva's %cmake rpm macro is defined as:
    $ rpm --eval %cmake

    CFLAGS="${CFLAGS:--O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables}" ; export CFLAGS ;
    CXXFLAGS="${CXXFLAGS:--O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables}" ; export CXXFLAGS ;
    FFLAGS="${FFLAGS:--O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables}" ; export FFLAGS ;
    mkdir build
    cd build
    /usr/bin/cmake .. \
    %if "lib" != "lib"
        -DLIB_SUFFIX=64 \
    %endif
    -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    -DBUILD_SHARED_LIBS:BOOL=ON \
    -DBUILD_STATIC_LIBS:BOOL=OFF
    

    kwave will generate Makefile into TOP_SRC_DIR/build instead of TOP_SRC_DIR. Or, more clearly, Makefile locates at where cmake calls from, rather than the srcdir parameters specified. That will lead to 'make install' in TOP_SRC_DIR won't work.

     
  • Funda Wang
    Funda Wang
    2007-06-16

    Logged In: YES
    user_id=164667
    Originator: YES

    Mmmm.. When building in x86_64 environment:

    [ 50%] Building CXX object plugins/codec_flac/CMakeFiles/plugin_codec_flac.dir/FlacCodecPlugin.o
    /home/fwang/kwave/kwave/plugins/codec_flac/FlacCodecPlugin.cpp: In member function 'virtual void FlacCodecPlugin::load(QStringList&)':
    /home/fwang/kwave/kwave/plugins/codec_flac/FlacCodecPlugin.cpp:46: error: cannot allocate an object of abstract type 'FlacEncoder'
    /home/fwang/kwave/kwave/plugins/codec_flac/FlacEncoder.h:35: note: because the following virtual functions are pure within 'FlacEncoder':
    /usr/include/FLAC++/encoder.h:184: note: virtual FLACStreamEncoderWriteStatus FLAC::Encoder::Stream::write_callback(const FLACbyte, size_t, unsigned int, unsigned int)
    /home/fwang/kwave/kwave/plugins/codec_flac/FlacCodecPlugin.cpp:50: error: cannot allocate an object of abstract type 'FlacDecoder'
    /home/fwang/kwave/kwave/plugins/codec_flac/FlacDecoder.h:41: note: because the following virtual functions are pure within 'FlacDecoder':
    /usr/include/FLAC++/decoder.h:159: note: virtual FLACStreamDecoderReadStatus FLAC::Decoder::Stream::read_callback(FLACbyte
    , size_t*)

    Regarding the Makefile problem, forget about it. I'll contact the cmake maintainer of Mandriva.

     
  • Logged In: YES
    user_id=37622
    Originator: NO

    Regarding the rpm/cmake problem: did you try "make rpm"? You can do this as root, or also as user as long as you have something like "%_topdir /var/tmp/rpm" in your ~/.rpmmacros.

    Regarding the problem in FLAC: I used "unsigned int" instead of "size_t", which is indeed different from a 32 bit int on x86_64 ;-) Seems to be a leftover from an earlier FLAC version. It should be fixed in svn now.

     
  • Funda Wang
    Funda Wang
    2007-06-18

    Logged In: YES
    user_id=164667
    Originator: YES

    Thanks. rev2008 compiles at no problem on both arch.