This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.
Martin Kelly mkelly at xevo.comOn 04/21/2017 01:33 PM, Sylvain Munaut wrote: > On Fri, Apr 21, 2017 at 7:44 PM, Martin Kelly <mkelly at xevo.com> wrote: >> This shouldn't be necessary as it's part of the default compiler include >> paths anyway. > > Huh ... no. > > It's only part of the default compiler include if you installed in > /usr ... but if you installed in a custom prefix, this will be > required and that's the whole point of the .pc file. > Let me provide a bit more context. I created this patch because a package in Openembedded (qtmultimedia-rtlfm-radio-plugin) relies on the .pc file for rtl-sdr, which injects -I /usr/include. That package uses QMake, when then translates the include into -isystem /usr/include. This breaks GCC 6's #include_next directive, as documented by GCC and Qt: GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 Qt bug report: https://bugreports.qt.io/browse/QTBUG-53367 In both cases, the maintainers state that the right solution is to not do -I /usr/include. AFAICT, this means there are two options: (a) Don't export -I /usr/include in the .pc file. (b) Manually remove -I /usr/include for anyone who compiles with GCC 6 and needs to use rtl-sdr. Solution (a) seems cleaner to me. If you have another way that avoids breaking packages that include rtl-sdr and use GCC 6, I'm happy to hear it. In my case, when I ask GCC for the default include path, I'm seeing /usr/include listed. In the case of Openembedded, the cross-compile toolchain already takes care of prefix issues by using --sysroot. GCC default include paths: martin at columbia:~$ echo | gcc -E -Wp,-v - ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/4.9/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "<command-line>" 2 # 1 "<stdin>"