[Buildroot] [PATCH] package/quagga: fix static linking with getopt

Peter Korsgaard peter at korsgaard.com
Thu Aug 22 15:33:00 UTC 2019


>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be> writes:

 > quagga has its own copy of getopt_long() instead of using the system's,
 > and this copy also defines the opterr and optind variables. Obviously,
 > this is only apparent when linking statically.

 > This problem can easily be avoided by making sure that getopt() itself
 > is defined too. This way, there is no reason any more to pull in libc's
 > getopt() and the corresponding definitions of opterr and optind. Note
 > that getopt() itself is pulled in by netsnmp, not by quagga itself.

 > Fortunately, there's a REALLY_NEED_PLAIN_GETOPT flag that we can define
 > to make sure getopt() does get built by quagga. We can safely do this
 > unconditionally (instead of only when BR2_PACKAGE_QUAGGA_SNMP and
 > BR2_STATIC_LIBS are enabled): without netsnmp, getopt() will simply not
 > be used, and with dynamic libs there's no risk of conflicts anyway.

 > Fixes:
 > http://autobuild.buildroot.net/results/0ac598c2259a8d7e8b72d4e8ed95079675b31b84

 > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
 > Cc: Fabrice Fontaine <fontaine.fabrice at gmail.com>

Committed to 2019.02.x and 2019.05.x, thanks.

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list