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: Alan Corey
Subject: Re: [Discuss-gnuradio] I can't get my gsl to link
Date: Sat, 7 Sep 2019 00:21:17 -0400

How to specify the Gnuradio runtime location in the gr-osmosdr cmake
cache I mean.  There's no NOTFOUND or anything, I don't see anything
about it except the error that it isn't found.  Which comes from the
CMakeLists.txt file:

if(NOT GNURADIO_RUNTIME_FOUND)
    message(FATAL_ERROR "GnuRadio Runtime required to build " ${CMAKE_PROJECT_NA
endif()

On 9/7/19, Alan Corey <address@hidden> wrote:
> My initial problem with linking to gsl was because I had symlinked ld
> -> gold a month or so ago and forgotten about it.  This is the first
> time I've had a problem with it.  The makefile must feed something on
> the command line that ld accepts but gold doesn't.  Gold also works
> differently with --verbose, it has a slightly different meaning so the
> test for SEARCH_DIR bombed.  --verbose in gold expects an argument and
> I wasn't providing one.  Anyway ls is searching:
> SEARCH_DIR("=/usr/local/lib/aarch64-linux-gnu")
> SEARCH_DIR("=/lib/aarch64-linux-gnu")
> SEARCH_DIR("=/usr/lib/aarch64-linux-gnu")
> SEARCH_DIR("=/usr/local/lib")
> SEARCH_DIR("=/lib")
> SEARCH_DIR("=/usr/lib")
> SEARCH_DIR("=/usr/aarch64-linux-gnu/lib")
> which is fine.
>
> But since you're using gr-osmosdr, how is the location of the gnuradio
> runtime specified in your CMakeCache.txt file?  I don't know what
> variable to set.  I'm trying to use an rtl2932 dongle so librtlsdr,
> which is found, but every cmake run so far ends with "GnuRadio Runtime
> required to build gr-osmosdr".  This is right after it checks for
> libhackrf, libairspy, libbladeRF which I don't have.
>
>
> On 9/6/19, Cinaed Simson <address@hidden> wrote:
>> 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
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
>
> --
> -------------
> No, I won't  call it "climate change", do you have a "reality problem"? -
> AB1JX
> Cities are cages built to contain excess people and keep them from
> cluttering up nature.
> Impeach  Impeach  Impeach  Impeach  Impeach  Impeach  Impeach  Impeach
>


-- 
-------------
No, I won't  call it "climate change", do you have a "reality problem"? - AB1JX
Cities are cages built to contain excess people and keep them from
cluttering up nature.
Impeach  Impeach  Impeach  Impeach  Impeach  Impeach  Impeach  Impeach



reply via email to

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