Thursday, April 30, 2020

Re: porting OOT to gr3.8 Make failure

I don't exactly know why, but liborc-0.4.so gets linked into even the
simplest of OOT modules. Here's an example:

    linux-vdso.so.1 (0xbef7b000)
    libgnuradio-runtime.so.3.8.1 =>
/opt/gnuradio-3.7.12git/lib/libgnuradio-runtime.so.3.8.1 (0xb6eb0000)
    libgnuradio-pmt.so.3.8.1 =>
/opt/gnuradio-3.7.12git/lib/libgnuradio-pmt.so.3.8.1 (0xb6e61000)
    libboost_system.so.1.65.1 =>
/usr/lib/arm-linux-gnueabihf/libboost_system.so.1.65.1 (0xb6e35000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
(0xb6d22000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6cf9000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6c01000)
    /lib/ld-linux-armhf.so.3 (0xb6f83000)
    libvolk.so.2.2.1 => /opt/gnuradio-3.7.12git/lib/libvolk.so.2.2.1
(0xb6b45000)
    libboost_program_options.so.1.65.1 =>
/usr/lib/arm-linux-gnueabihf/libboost_program_options.so.1.65.1 (0xb6ade000)
    libboost_filesystem.so.1.65.1 =>
/usr/lib/arm-linux-gnueabihf/libboost_filesystem.so.1.65.1 (0xb6abc000)
    libboost_thread.so.1.65.1 =>
/usr/lib/arm-linux-gnueabihf/libboost_thread.so.1.65.1 (0xb6a8f000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6a79000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0
(0xb6a54000)
    liblog4cpp.so.5 => /usr/lib/arm-linux-gnueabihf/liblog4cpp.so.5
(0xb6a1e000)
    libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0xb69c6000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6945000)
    liborc-0.4.so.0 => /usr/lib/arm-linux-gnueabihf/liborc-0.4.so.0
(0xb68e7000)

Ron

On 4/30/20 02:46, Johannes Demel wrote:
> Hi Tom,
>
> ORC is a Tool that is used in VOLK to optimize some kernels. Though,
> this is an optional dependency. ORC kernels are not built if liborc
> etc is not found.
>
> I assume you can run example flowgraphs in GRC.
> In this case, you shouldn't need to worry about ORC at all. Though,
> somehow you try to link against it. Maybe it's worth a try to figure
> out how ORC ends up in your `target_link_libraries`?
>
> I know, you fixed your issue by installing liborc*-dev but this should
> not be necessary.
>
> Cheers
> Johannes
>
>
> On 30.04.20 09:37, Tom McDermott wrote:
>> Hi Marcus, Vasil.   I have no idea what liborc is, nor why it is needed.
>> It is suggested by the make failure for the ported OOT module.
>>
>> Focal Fossa had liborc-0.4 but not liborc-0.4-dev, so installed that
>> and make completed successfully.  Thanks for the suggestion Vasil.
>> Perhaps it's a dependency that is missing when installing grc on 20.04?
>>
>> With that, gr-hpsdr installed successfully on gr3.8, and the module
>> instantiates
>> in the flowgraph.  Now to start testing to see if it works...
>>
>> -- Tom, N5EG
>>
>>
>>
>>
>>
>>
>> On Wed, Apr 29, 2020 at 2:58 PM Marcus Müller <mmueller@gnuradio.org
>> <mailto:mmueller@gnuradio.org>> wrote:
>>
>>     Hi Tom,
>>
>>     nice hearing from you! I didn't know that hpsdr needed orc?
>>
>>     Best regards,
>>     Marcus
>>
>>     On 29.04.20 22:46, Tom McDermott wrote:
>>      > I am porting an OOT from 3.7 to 3.8.
>>      > Ubuntu 20.04.  Gnuradio installed via apt install from the
>>      > gnuradio-releases PPA.  GR 3.8.1
>>      >
>>      > It looks like all the modules are compiling OK, but am getting an
>>     error.
>>      >
>>      > scanning dependencies of target gnuradio-hpsdr
>>      > [ 12%] Building CXX object
>>      > lib/CMakeFiles/gnuradio-hpsdr.dir/hermesNB_impl.cc.o
>>      > [ 25%] Building CXX object
>>      > lib/CMakeFiles/gnuradio-hpsdr.dir/HermesProxy.cc.o
>>      > [ 37%] Building CXX object
>>     lib/CMakeFiles/gnuradio-hpsdr.dir/metis.cc.o
>>      > [ 50%] Building CXX object
>>      > lib/CMakeFiles/gnuradio-hpsdr.dir/hermesWB_impl.cc.o
>>      > [ 62%] Building CXX object
>>      > lib/CMakeFiles/gnuradio-hpsdr.dir/HermesProxyW.cc.o
>>      > make[2]: *** No rule to make target
>>      > '/usr/lib/x86_64-linux-gnu/liborc-0.4.so <http://liborc-0.4.so>
>>     <http://liborc-0.4.so>', needed
>>      > by 'lib/libgnuradio-hpsdr.so.1937293c'.  Stop.
>>      > make[1]: *** [CMakeFiles/Makefile2:248:
>>      > lib/CMakeFiles/gnuradio-hpsdr.dir/all] Error 2
>>      > make: *** [Makefile:141: all] Error 2
>>      >
>>      >
>>      > Not sure what liborc is.   Is this what's missing, or is it
>>     something else?
>>      > liborc-dev is listed as having no installation candidate for
>> 20.04
>>      >
>>      > $ apt-cache policy liborc-dev
>>      > liborc-dev:
>>      >   Installed: (none)
>>      >   Candidate: (none)
>>      >   Version table:
>>      >
>>      >
>>      >
>>      > -- Tom, N5EG
>>      >
>>      >
>>
>

No comments:

Post a Comment