Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 460536 - net-misc/bridge-utils silently fails to compile properly with linux-headers-3.8
Summary: net-misc/bridge-utils silently fails to compile properly with linux-headers-3.8
Status: RESOLVED DUPLICATE of bug 460262
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-06 14:33 UTC by Frankiz DANIEL
Modified: 2013-03-13 19:57 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 Frankiz DANIEL 2013-03-06 14:33:23 UTC
I discovered that bridge-utils compiled with linux-headers-3.8 doesn't produce binaries but doesn't appear to fail either. See the compile log here:

>>> Emerging (2 of 2) net-misc/bridge-utils-1.5
 * bridge-utils-1.5.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                            [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/3.8.2-gentoo/build
 * Found sources for kernel version:
 *     3.8.2-gentoo
 * Checking for suitable kernel configuration options...                                                                                                                                              [ ok ]
>>> Unpacking source...
>>> Unpacking bridge-utils-1.5.tar.gz to /var/tmp/portage/net-misc/bridge-utils-1.5/work
>>> Source unpacked in /var/tmp/portage/net-misc/bridge-utils-1.5/work
>>> Preparing source in /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5 ...
 * Running eautoreconf in '/var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5' ...
 * Running aclocal ...                                                                                                                                                                                [ ok ]
 * Running autoconf ...                                                                                                                                                                               [ ok ]
 * Running autoheader ...                                                                                                                                                                             [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5 ...
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --prefix=/ --libdir=/usr/lib64 --includedir=/usr/include --with-linux-headers=/usr/include
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
checking for gethostname... yes
checking for socket... yes
checking for strdup... yes
checking for uname... yes
checking for if_nametoindex... yes
checking for if_indextoname... yes
configure: creating ./config.status
config.status: creating doc/Makefile
config.status: WARNING:  'doc/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating libbridge/Makefile
config.status: creating brctl/Makefile
config.status: WARNING:  'brctl/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating bridge-utils.spec
config.status: creating libbridge/config.h
>>> Source configured.
>>> Compiling source in /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5 ...
make -j3 
for x in libbridge brctl doc; do make - --jobserver-fds=3,4 -j -C $x ; done
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/libbridge »
x86_64-pc-linux-gnu-gcc -Wall -g -I/usr/include  -c libbridge_devif.c
x86_64-pc-linux-gnu-gcc -Wall -g -I/usr/include  -c libbridge_if.c
x86_64-pc-linux-gnu-gcc -Wall -g -I/usr/include  -c libbridge_init.c
In file included from libbridge.h:24:0,
                 from libbridge_if.c:26:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [libbridge_if.o] Erreur 1
make[1]: *** Attente des tâches non terminées....
In file included from libbridge.h:24:0,
                 from libbridge_devif.c:28:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [libbridge_devif.o] Erreur 1
In file included from libbridge.h:24:0,
                 from libbridge_init.c:28:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [libbridge_init.o] Erreur 1
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/libbridge »
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/brctl »
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl.c 
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl_cmd.c 
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl_disp.c 
make[1]: ***  Aucune règle pour fabriquer la cible « ../libbridge/libbridge.a », nécessaire pour « brctl ». Arrêt.
make[1]: *** Attente des tâches non terminées....
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl_disp.c:24:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl_disp.o] Erreur 1
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl.c:25:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl.o] Erreur 1
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl_cmd.c:25:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl_cmd.o] Erreur 1
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/brctl »
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/doc »
make[1]: Rien à faire pour « all ».
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/doc »
>>> Source compiled.
>>> Test phase [not enabled]: net-misc/bridge-utils-1.5

>>> Install bridge-utils-1.5 into /var/tmp/portage/net-misc/bridge-utils-1.5/image/ category net-misc
make -j3 install DESTDIR=/var/tmp/portage/net-misc/bridge-utils-1.5/image/ 
for x in libbridge brctl doc; do make - --jobserver-fds=3,4 -j -C $x install; done
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/libbridge »
make[1]: Rien à faire pour « install ».
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/libbridge »
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/brctl »
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl.c 
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl_cmd.c 
x86_64-pc-linux-gnu-gcc -Wall -O2 -march=nocona -pipe -I../libbridge -I/usr/include  -c brctl_disp.c 
make[1]: ***  Aucune règle pour fabriquer la cible « ../libbridge/libbridge.a », nécessaire pour « brctl ». Arrêt.
make[1]: *** Attente des tâches non terminées....
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl_disp.c:24:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl_disp.o] Erreur 1
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl.c:25:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl.o] Erreur 1
In file included from ../libbridge/libbridge.h:24:0,
                 from brctl_cmd.c:25:
/usr/include/linux/if_bridge.h:172:20: erreur: field ‘ip6’ has incomplete type
make[1]: *** [brctl_cmd.o] Erreur 1
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/brctl »
make[1] : on entre dans le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/doc »
mkdir -p /var/tmp/portage/net-misc/bridge-utils-1.5/image//usr/share/man/man8
/usr/bin/install -c -m 644 brctl.8 /var/tmp/portage/net-misc/bridge-utils-1.5/image//usr/share/man/man8
make[1] : on quitte le répertoire « /var/tmp/portage/net-misc/bridge-utils-1.5/work/bridge-utils-1.5/doc »
>>> Completed installing bridge-utils-1.5 into /var/tmp/portage/net-misc/bridge-utils-1.5/image/

ecompressdir: bzip2 -9 /usr/share/man

>>> Installing (2 of 2) net-misc/bridge-utils-1.5
 * checking 13 files for package collisions
>>> Merging net-misc/bridge-utils-1.5 to /
--- /usr/
--- /usr/share/
--- /usr/share/man/
--- /usr/share/man/man8/
>>> /usr/share/man/man8/brctl.8.bz2
--- /usr/share/doc/
--- /usr/share/doc/bridge-utils-1.5/
>>> /usr/share/doc/bridge-utils-1.5/THANKS.bz2
>>> /usr/share/doc/bridge-utils-1.5/HOWTO.bz2
>>> /usr/share/doc/bridge-utils-1.5/FIREWALL.bz2
>>> /usr/share/doc/bridge-utils-1.5/AUTHORS.bz2
>>> /usr/share/doc/bridge-utils-1.5/WISHLIST.bz2
>>> /usr/share/doc/bridge-utils-1.5/SMPNOTES.bz2
>>> /usr/share/doc/bridge-utils-1.5/TODO.bz2
>>> /usr/share/doc/bridge-utils-1.5/PROJECTS.bz2
>>> /usr/share/doc/bridge-utils-1.5/FAQ.bz2
>>> /usr/share/doc/bridge-utils-1.5/README.bz2
>>> /usr/share/doc/bridge-utils-1.5/ChangeLog.bz2
>>> /usr/share/doc/bridge-utils-1.5/RPM-GPG-KEY.bz2
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
--- replaced obj /usr/share/man/man8/brctl.8.bz2
--- replaced dir /usr/share/man/man8
--- replaced dir /usr/share/man
--- replaced obj /usr/share/doc/bridge-utils-1.5/WISHLIST.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/TODO.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/THANKS.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/SMPNOTES.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/RPM-GPG-KEY.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/README.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/PROJECTS.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/HOWTO.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/FIREWALL.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/FAQ.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/ChangeLog.bz2
--- replaced obj /usr/share/doc/bridge-utils-1.5/AUTHORS.bz2
--- replaced dir /usr/share/doc/bridge-utils-1.5
--- replaced dir /usr/share/doc
--- replaced dir /usr/share
--- replaced dir /usr
<<<          obj /sbin/brctl
--- !empty   dir /sbin
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
>>> net-misc/bridge-utils-1.5 merged.
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

The expected behaviour is to have bridge-utils produce the brctl binary or at least have the compilation fail.
Comment 1 Frankiz DANIEL 2013-03-06 14:35:12 UTC
The current workaround to have it running is simply to mask linux-headers-3.8.
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-03-09 12:26:14 UTC

*** This bug has been marked as a duplicate of bug 460262 ***
Comment 3 Robert White 2013-03-13 19:57:52 UTC
I would note that the destructive install of the bridge utils after compilation fail is problematic for its own cause. E.g. I did a rebuild of bridge-utils and brctl disappeared from my system entirely. This hosed my system rather a lot.

Masking an recompiling is a work around of sorts, but the package system needs to detect the make failure and abort the install/overwrite instead of nuking the existing elements off of the system.