Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 626546 - sys-apps/iproute2-4.12.0: ipxfrm.c: error: 'IPPROTO_MH' undeclared, if using sys-libs/uclibc-ng
Summary: sys-apps/iproute2-4.12.0: ipxfrm.c: error: 'IPPROTO_MH' undeclared, if using ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: uclibc-porting
  Show dependency tree
 
Reported: 2017-07-29 18:09 UTC by Joshua Kinard
Modified: 2017-07-29 20:59 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Kinard gentoo-dev 2017-07-29 18:09:47 UTC
Just creating a bug entry to log this, as I have already found a fix in buildroot.

On a system using sys-libs/uclibc-ng up to at least ~1.0.25, iproute2-4.12.0 will fail due to the following undeclared symbol:

mips-unknown-linux-uclibc-gcc -Wall -Wstrict-prototypes  -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wformat=2 -Os -march=rm7000 -mtune=rm700
0 -pipe -mplt -fomit-frame-pointer  -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/lib\" -DCONFDIR=\"/etc/iproute2\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_
SOURCE -D_LARGEFILE64_SOURCE -Os -march=rm7000 -mtune=rm7000 -pipe -mplt -fomit-frame-pointer -DHAVE_SETNS   -c -o ipxfrm.o ipxfrm.c
ipxfrm.c: In function 'xfrm_selector_print':
ipxfrm.c:490:7: error: 'IPPROTO_MH' undeclared (first use in this function)
  case IPPROTO_MH:
       ^~~~~~~~~~
ipxfrm.c:490:7: note: each undeclared identifier is reported only once for each function it appears in
ipxfrm.c: In function 'xfrm_selector_upspec_parse':
ipxfrm.c:1356:8: error: 'IPPROTO_MH' undeclared (first use in this function)
   case IPPROTO_MH:
        ^~~~~~~~~~
make[1]: *** [<builtin>: ipxfrm.o] Error 1
make[1]: Leaving directory '/usr/obj/portage/sys-apps/iproute2-4.12.0/work/iproute2-4.12.0/ip'
make: *** [Makefile:65: all] Error 2

This is caused by uclibc-ng's netinet/in.h lacking a definition for 'IPPROTO_MH'.  A compatibility fix is available from the following buildroot patch:
https://git.busybox.net/buildroot/commit/?id=c12e01cc2c3133bfb9f53ab0486c6d7bf909d089

I am unable to locate a source or git commit for the commit id cited in that patch, so it might be a private repo or such.  Based on the patch notes, this is a temporary workaround until uclibc-ng upstream syncs some header files with glibc.

Running a test compile now to make sure this fixes things.
Comment 1 Joshua Kinard gentoo-dev 2017-07-29 20:59:28 UTC
Confirmed that the compile error is resolved.  Updated iproute2-4.12.0.ebuild w/o revision, as this is a build-fix only.