Just FYI, I tried the latest VOLK with your patch, but that doesn't help
if VOLK is built with ORC. It looks like libvolk.so is required by
libgnuradio-runtime.so (there's one volk_get_alignment() call in
gnuradio-runtime) and libvolk.so requires liborc-0.4.so.
Ron
On 4/30/20 04:02, Vasil Velichkov wrote:
> Hi Johannes, Ron,
>
> The liborc-0.4.so gets linked because it is in INTERFACE_LINK_LIBRARIES in VolkTargets.cmake. This should be fixed in https://github.com/gnuradio/volk/pull/367 but a volk version with this fix is still not released.
>
> Cheers,
> Vasil
>
> On 30/04/2020 13.32, Ron Economos wrote:
>> 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