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 22:10:44 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 9/6/19 9:21 PM, Alan Corey wrote:
>> 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.

I don't mess with the CMakeCache.txt files.

I use cmake as I indicated earlier.

Try this script. You'll have to set PREFIX to the root of your
installation of gnuradio.

-- Cinaed




>>
>>
>> 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
>>
> 
> 

Attachment: config_gr.sh
Description: application/shellscript


reply via email to

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