discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Linking gr-digital in OOT Module (Success on OSX,


From: Garver, Paul W
Subject: Re: [Discuss-gnuradio] Linking gr-digital in OOT Module (Success on OSX, fails on Linux)
Date: Tue, 15 Nov 2016 03:05:54 +0000

Yes, gr-pwg is the OOT module.


nm on libpwg.so yields:


 nm libgnuradio-pwg.so | grep -i _ZN2gr7trellis26viterbi_algorithm_combinedIfhEEviiiRKSt6vectorIiSaIiEES6_RKS2_IS4_SaIS4_EESA_iiiiRKS2_IT_SaISB_EENS_7digital21trellis_metric_type_tEPKSB_PT0_
                 U _ZN2gr7trellis26viterbi_algorithm_combinedIfhEEviiiRKSt6vectorIiSaIiEES6_RKS2_IS4_SaIS4_EESA_iiiiRKS2_IT_SaISB_EENS_7digital21trellis_metric_type_tEPKSB_PT0_

It is undefined in libgnuradio-pwg, but libgnuradio-pwg links with libgnuradio-trellis, which provides the implementation as we saw before. I don't see an issue with this. What am I missing?

In lib/, the target_link_libraries looks like:
target_link_libraries(gnuradio-pwg ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES})

GNURADIO_ALL_LIBRARIES=/usr/local/lib/libgnuradio-runtime.so/usr/local/lib/libgnuradio-pmt.so/usr/local/lib/libgnuradio-digital.so/usr/local/lib/libgnuradio-trellis.so

It does appear that GR_REQUIRED_COMPONENTS is properly updating cmake since gr-trellis lib is in the directive.

I grep'd through the entire gnuradio source tree and I can't find another instance (except gr-trellis in the viterbi_algorithm_combined blocks) calling viterbi_algorithm_combined().

Thanks for the suggestions. Still trying to track this one down; it has been very elusive!
PWG


From: Discuss-gnuradio <discuss-gnuradio-bounces+address@hidden> on behalf of Marcus Müller <address@hidden>
Sent: Monday, November 14, 2016 5:16:13 PM
To: address@hidden
Subject: Re: [Discuss-gnuradio] Linking gr-digital in OOT Module (Success on OSX, fails on Linux)
 
Good spotting, Cinaed!

judging from his initials, I'd guess gr-pwg is Paul's OOT module. Point
is that libgnuradio-pwg contains a reference to, but no implementation
of, the missing symbol, which is
_ZN2gr7trellis26viterbi_algorithm_combinedIfhEEviiiRKSt6vectorIiSaIiEES6_RKS2_IS4_SaIS4_EESA_iiiiRKS2_IT_SaISB_EENS_7digital21trellis_metric_type_tEPKSB_PT0_

or to put it more "readable" (ha, ha.) in C++ terms:

void gr::trellis::viterbi_algorithm_combined<float, unsigned char>(int, int, int, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > const&, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > const&, int, int, int, int, std::vector<float, std::allocator<float> > const&, gr::digital::trellis_metric_type_t, float const*, unsigned char*)

or omitting standard template arguments and trying to format things:

void
gr::trellis::viterbi_algorithm_combined <float, unsigned char> (
        int,
        int,
        int,
        std::vector<int> const&,
        std::vector<int> const&,
        std::vector< std::vector<int> > const&,
        std::vector< std::vector<int> > const&,
        int,
        int,
        int,
        int,
        std::vector<float> const&,
        gr::digital::trellis_metric_type_t,
        float const*,
        unsigned char*)


Anyway, the question is why linking doesn't look like it should.
Just to get this out of the way: Paul, what does your
lib/CMakeLists.txt's "target_link_libraries" directive look like, exactly?

Best regards,
Marcus

On 14.11.2016 22:38, Cinaed Simson wrote:
> On 11/14/2016 06:34 AM, Garver, Paul W wrote:
>> objdump -t /usr/local/lib/libgnuradio-trellis-3.7.11git.so.0.0.0
> Isn't this a different library from the previous error message, namely
>
>> ImportError: /usr/local/lib/libgnuradio-pwg-1.0.0git.so.0.0.0:
> undefined symbol:
>
> On Linux, I don't have the library libgnuradio-pwg - should I?
>
> I have libgnuradio-trellis.
>
> -- Cinaed
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

reply via email to

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