discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] I can't get my gsl to link


From: Cinaed Simson
Subject: Re: [Discuss-gnuradio] I can't get my gsl to link
Date: Fri, 6 Sep 2019 19:00:44 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

Hi - I have gnuradio-3.7.13.4, gsl-2.5, and the latest git version of
gr-osmosdr installed under stretch (patched) on the Odroid N2.

No problems building. I'm sing the next to the last git version of
rtl-sdr with hackrf-2017.02.1.

Check the ./gnuradio/cmake/Modules/FindGSL.cmake - maybe cmake can't
find the headers?

I installed gsl in the same directory as gnuradio.

Check your pkgconfig directory for the file gsl.pc and examine it to
ensure the information is correct.

Type

   gsl-config --version

- make sure it's in your path.

This was my cmake command:

cmake -Wno-dev -DCMAKE_INSTALL_PREFIX="${PREFIX}"
-DCMAKE_PREFIX_PATH="${PREFIX}" ../

where PREFIX="/opt/gnuradio".

-- Cinaed


On 9/6/19 9:18 AM, Alan Corey wrote:
> It might help if I had more idea what's supposed to happen.  Was I
> supposed to define SEARCH_DIR?  Or replace it?  Is that 1 line or 2?
> 
> Just running
>  ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
> ld: fatal error: no input files
> 
> Trying as 1 line:
> ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012 make VERBOSE=1
> tr: extra operand ‘make’
> Try 'tr --help' for more information.
> ld: fatal error: no input files
> 
> From the stackoverflow example, if I put "-Wl,--verbose" in my
> CMakeCache.txt as part of the string that gets passed to the C
> compiler would that do it?  If I could use a more normal -L and -l I'd
> be more comfortable but I'm working through the full cmake process.  I
> don't know how to extract what I need to try to link this manually.
> 
> Yup, aarch64 on an Odroid N2:
> Linux odroid 4.9.177+ #1 SMP PREEMPT Sat May 18 09:49:10 CEST 2019
> aarch64 GNU/Linux
> 
> Debian from meveric's image, still Stretch so far.  Some dependencies
> I built from source, some are from the debs if they were new enough.
> 
> I disabled GR-WAVELET, FEC and GR-DTV, got it to build.  Ran
> volk_profile, it picked up the neon correctly.  I don't have an RF
> source driver so far.  Using an RTL2832 dongle, trying to build
> Osmocom.  There's a ton of obsolete documentation out there.
> 
> Probably doesn't matter but my LD_LIBRARY_PATH is
> /usr/local/lib:/lib:/lib/aarch64-linux-gnu:/usr/lib:/usr/lib/aarch64-linux-gnu
> 
> 
> 
> 
> 
> On 9/6/19, Vasil Velichkov <address@hidden> wrote:
>> Hi Alen,
>>
>> On 06/09/2019 00.45, Alan Corey wrote:
>>> I think this is a low level problem, it gets through cmake and all
>>> that, but when it gets down to make and ld I get:
>>>
>>> [ 49%] Built target fft_qa_fft_shift
>>> [ 49%] Linking CXX shared library libgnuradio-filter.so
>>> /usr/bin/ld: error: cannot find -lgsl
>>> /usr/bin/ld: error: cannot find -lgslcblas
>>> collect2: error: ld returned 1 exit status
>>> gr-fec/lib/CMakeFiles/gnuradio-fec.dir/build.make:824: recipe for target
>>> 'gr-fec
>>> /lib/libgnuradio-fec.so.3.9.0.0-git' failed
>>> make[2]: *** [gr-fec/lib/libgnuradio-fec.so.3.9.0.0-git] Error 1
>>> CMakeFiles/Makefile2:4691: recipe for target
>>> 'gr-fec/lib/CMakeFiles/gnuradio-fec
>>> .dir/all' failed
>>> make[1]: *** [gr-fec/lib/CMakeFiles/gnuradio-fec.dir/all] Error 2
>>> make[1]: *** Waiting for unfinished jobs....
>>> [ 52%] Built target gnuradio-filter
>>> Makefile:140: recipe for target 'all' failed
>>> make: *** [all] Error 2
>>
>> Post the output of
>>
>>     ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
>>     make VERBOSE=1
>>
>>> Yet ldconfig -p | grep gsl says
>>>     libgslcblas.so.0 (libc6,AArch64) => /usr/local/lib/libgslcblas.so.0
>>>     libgslcblas.so (libc6,AArch64) => /usr/local/lib/libgslcblas.so
>>>     libgsl.so.25 (libc6,AArch64) => /usr/local/lib/libgsl.so.25
>>>     libgsl.so (libc6,AArch64) => /usr/local/lib/libgsl.so
>>
>> The ldconfig cache is used only by the runtime linker and is not used when
>> you build a program or library, e.g. not used by /usr/bin/ld.
>> https://stackoverflow.com/a/21610523/2315085
>>
>>> What's maybe odd is that ls -al | grep gsl in /usr/local/lib looks like
>>> this:
>>> -rw-r--r--  1 root staff 22783350 Sep  3 21:19 libgsl.a
>>> -rw-r--r--  1 root staff  1885346 Sep  3 21:19 libgslcblas.a
>>> -rwxr-xr-x  1 root staff      949 Sep  3 21:19 libgslcblas.la
>>> lrwxrwxrwx  1 root staff       20 Sep  3 21:19 libgslcblas.so ->
>>> libgslcblas.so.0.0.0
>>> lrwxrwxrwx  1 root staff       20 Sep  3 21:19 libgslcblas.so.0 ->
>>> libgslcblas.so.0.0.0
>>> -rwxr-xr-x  1 root staff  1121320 Sep  3 21:19 libgslcblas.so.0.0.0
>>> -rwxr-xr-x  1 root staff      918 Sep  3 21:19 libgsl.la
>>> lrwxrwxrwx  1 root staff       16 Sep  3 21:19 libgsl.so ->
>>> libgsl.so.25.0.0
>>> lrwxrwxrwx  1 root staff       16 Sep  3 21:19 libgsl.so.25 ->
>>> libgsl.so.25.0.0
>>> -rwxr-xr-x  1 root staff 12949992 Sep  3 21:19 libgsl.so.25.0.0
>>>
>>> Only the symlinks to the real files end up in the ld.so cache,
>>> ldfonfig doesn't pick up the actual files (libgsl.so.25.0.0 and
>>> libgslcblas.so.0.0.0) at all.  That may not be important.
>>
>> That is normal.
>>
>>> Are the permissions wrong?  They installed this way.
>>>
>>> I installed gsl 2.6 from a tarball from http://ftp.gnu.org/gnu/gsl/, I
>>> fetched Gnuradio by doing git clone --recursive
>>> https://github.com/gnuradio/gnuradio.git
>>
>> From the ldconfig output it looks like you are building it on an 64bit ARM
>> platform (AArch64). What device do you use and which Linux distribution?
>>
>> Regards,
>> Vasil
>>
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]