discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] UHD / -lboost_system / pkg-config / Debian patch


From: Michael Dickens
Subject: Re: [Discuss-gnuradio] UHD / -lboost_system / pkg-config / Debian patch
Date: Tue, 1 Oct 2019 09:50:12 -0400

Hi Harald - Mait & I talked about this issue during GRCon19 a few weeks ago. I believe we came to the same conclusions as you note: A project that does not otherwise require non-UHD library/ies should not have to know to link against them (nor how). The linkage should be provided transparently by CMake or pkgconfig or whatever: variables are returned from "find"ing UHD that provides CFLAGS, CXXFLAGS, LDFLAGS, LIBRARIES, LIBRARY_DIRS, INCLUDE_DIRS, and so forth. These variables can then be used as-is by the calling project without having to know anything else about how the API or ABI is built, installed, or used beyond these variables. The correct way to do this varies depending on which "find" is used. For pkgconfig, using "Requires.private" or "Requires" or just leaving the linkage as before the patch ... any of those might work. But, yes, the bottom line is that the patch you note isn't doing the right thing and needs to be either fixed or removed. I'm leaving it to Mait to deal with this as he sees fit; I think we'd all prefer this get done sooner rather than later. - MLD

On Mon, Sep 30, 2019 at 2:34 AM Harald Welte <address@hidden> wrote:
Hi all,

Ettus points at this mailing list as the official forum for raising UHD
related questions.

This mail is sent to seek input on a recent regression we are seeing when
the official Debian UHD package removed "-lboost_system" from uhd.pc 'Libs'
in the following patch:
https://sources.debian.org/patches/uhd/3.14.1.0-2/fix-pkg-config/

This results in (among probably other failures) the osmo-trx Debian package
failing to build [1], and it has actually been scheduled for removal from debian
due to this FTBFS (fail to build from source) [2].

The related Debian bug report for uhd is at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940135
where the Debian package maintainer A. Maitland Bottoms argues his case
for why the removal of "-lboost_system" is correct.  I'm not sure if
that patch has ever been submitted upstream or has been discussed here?

I'm looking for some guidance from upstream UHD as to what is the correct
course of action.

>From us as the application developers, it seems rather clear:
An application program, like osmo-trx, which doesn't use boost directly, shouldn't
have to manually add any boost related libraries to the linker command line.

We are using UHD, and we're using pkg-config to tell us what kind of
compiler flags and linker command line snippets we should use in order
to link against uhd. It's not our responsibility to know about
implementation details of UHD and what kind of libraries it may need
in terms of its upstream dependencies.

I'm not a pkg-config expert, but *if* Debian is right to remove -lboost_system from
Libs, then maybe it simply needs to be added to Requires?  Both the 'Requires'
and the 'Requires.private' lines are empty in libuhd-dev:amd63 3.14.1.0-2

Thanks for any help in advance.

Regards,
        Harald

[1] https://osmocom.org/issues/4182
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939974

--
- Harald Welte <address@hidden>            http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)

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


--
Michael Dickens
Ettus Research Technical Support
Email: address@hidden
Web: https://ettus.com/

reply via email to

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