Hi Richard
Thank you for your explanations. i have built the library with the
Env-Variables
and then just linked the library into /usr/local/lib.
Then my own library stkdsp.so (the realtime part of my SDR) linked
against the version 4: same result as before:
ldd stkdsp.so
linux-gate.so.1 (0xf77a8000)
libm.so.6 => /lib/libm.so.6 (0xf670b000)
libfftw3.so.3 => /usr/local/lib/libfftw3.so.3 (0xf65af000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xf64c5000)
libcodec2.so.0.4 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0xf64a8000)
libc.so.6 => /lib/libc.so.6 (0xf62fb000)
/lib/ld-linux.so.2 (0xf77ab000)
libdl.so.2 => /lib/libdl.so.2 (0xf62f6000)
librt.so.1 => /lib/librt.so.1 (0xf62ed000)
switching back to the version 3 and relinking again I get:
ldd stkdsp.so
linux-gate.so.1 (0xf76f6000)
libm.so.6 => /lib/libm.so.6 (0xf6659000)
libfftw3.so.3 => /usr/local/lib/libfftw3.so.3 (0xf64fd000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xf6413000)
libcodec2.so.0.3 => /usr/local/lib/libcodec2.so.0.3 (0xf63b3000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf6396000)
libc.so.6 => /lib/libc.so.6 (0xf61e9000)
/lib/ld-linux.so.2 (0xf76f9000)
libdl.so.2 => /lib/libdl.so.2 (0xf61e4000)
librt.so.1 => /lib/librt.so.1 (0xf61db000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0xf61c3000)
I don't understand!
73, Alfred
On 14.08.2015 15:36, Richard Shaw wrote:
On Fri, Aug 14, 2015 at 7:43 AM, wully <[email protected]> wrote:
Hi David
About the Cmake: When I specify
# Set default C++ flags.
#awu150813/14: auch hier die -m32 (-fPIC folgt unten)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -Wall -g -O2")
to get 32bit code, the library is built ok, but the make install will
move the library to the /usr/local/lib64
When I move the library (or a link to it) to /usr/local/lib my sdr does
not find the version 4 library.
Something in the build is not as it should, but I don't understand. As
stated before, the version 3 libray is correctely built and installed in
the 32bit-lib directory /usr/local/lib.
If you're forcing a 32-bit build on a 64-bit system I would recommend using
environment variables instead.
The internal cmake flag variables are dependent on the type of build,
CMAKE_CXX_FLAGS_RELEASE, CMAKE_CXX_FLAGS_DEBUG, etc, which is both useful,
and frustrating because the build type needs to match the variable (RELEASE
for Release, etc).
cmake will always honor flags added through environment variables
regardless of build type/variable assignment. So something like:
$ CFLAGS='-m32' CXXFLAGS='-m32' cmake /path/to/codec2
should work. If no languages are specified for the project C and CXX are
assumed (which is why you have to set both environment variables). Since
codec2 is C only, on my next commit I'll force it to only be C so the
CXXFLAGS environment variable can be dropped in the future.
Additionally instead of moving the installed file, change the install
location during configure by adding "-DCMAKE_INSTALL_LIBDIR=/usr/local/lib"
or something like that.
Thanks,
Richard
------------------------------------------------------------------------------
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
------------------------------------------------------------------------------
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2