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 <mmuel...@gnuradio.org >>> <mailto:mmuel...@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 >>> > >>> > >>> >> >