Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 198817 - app-arch/cpio-2.9-r1 / app-arch/tar-1.19 extern inline patch
Summary: app-arch/cpio-2.9-r1 / app-arch/tar-1.19 extern inline patch
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 202815 214227 (view as bug list)
Depends on:
Blocks: gcc-4.3
  Show dependency tree
 
Reported: 2007-11-11 15:24 UTC by Ryan Hill (RETIRED)
Modified: 2008-03-22 10:07 UTC (History)
2 users (show)

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


Attachments
cpio-2.9_gcc43-inline.patch (cpio-2.9_gcc43-inline.patch,783 bytes, patch)
2007-11-11 15:25 UTC, Ryan Hill (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hill (RETIRED) gentoo-dev 2007-11-11 15:24:53 UTC
cpio uses extern inline in a couple headers, which causes the linker to complain about duplicate symbol definitions in GCC 4.3 when -std={c,gnu}99 is used.  attached patch should fix it.

upstream:  http://lists.gnu.org/archive/html/bug-cpio/2007-09/msg00002.html
Comment 1 Ryan Hill (RETIRED) gentoo-dev 2007-11-11 15:25:33 UTC
Created attachment 135748 [details, diff]
cpio-2.9_gcc43-inline.patch
Comment 2 Ryan Hill (RETIRED) gentoo-dev 2007-11-11 15:26:29 UTC
x86_64-pc-linux-gnu-gcc -std=gnu99  -O2 -g -march=native -fomit-frame-pointer -pipe  -Wl,-O1,--hash-style=gnu -o cpio  copyin.o copyout.o copypass.o defer.o dstring.o global.o main.o tar.o util.o filemode.o idcache.o makepath.o userspec.o ../lib/libcpio.a
../lib/libcpio.a(argp-help.o): In function `_option_is_end':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:607: multiple definition of `_option_is_end'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:607: first defined here
../lib/libcpio.a(argp-help.o): In function `_option_is_short':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:594: multiple definition of `_option_is_short'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:594: first defined here
../lib/libcpio.a(argp-help.o): In function `argp_usage':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:589: multiple definition of `argp_usage'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:589: first defined here
../lib/libcpio.a(argp-parse.o): In function `_option_is_end':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:607: multiple definition of `_option_is_end'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:607: first defined here
../lib/libcpio.a(argp-parse.o): In function `argp_usage':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:589: multiple definition of `argp_usage'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:589: first defined here
../lib/libcpio.a(argp-parse.o): In function `_option_is_short':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:594: multiple definition of `_option_is_short'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:594: first defined here
../lib/libcpio.a(argp-pvh.o): In function `_option_is_end':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:607: multiple definition of `_option_is_end'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:607: first defined here
../lib/libcpio.a(argp-pvh.o): In function `_option_is_short':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:594: multiple definition of `_option_is_short'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:594: first defined here
../lib/libcpio.a(argp-pvh.o): In function `argp_usage':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:589: multiple definition of `argp_usage'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:589: first defined here
../lib/libcpio.a(argp-eexst.o): In function `_option_is_end':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:607: multiple definition of `_option_is_end'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:607: first defined here
../lib/libcpio.a(argp-eexst.o): In function `_option_is_short':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:594: multiple definition of `_option_is_short'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:594: first defined here
../lib/libcpio.a(argp-eexst.o): In function `argp_usage':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp.h:589: multiple definition of `argp_usage'
main.o:/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src/../lib/argp.h:589: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_putc':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:233: multiple definition of `argp_fmtstream_putc'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:233: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_point':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:279: multiple definition of `argp_fmtstream_point'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:279: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_set_wmargin':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:267: multiple definition of `argp_fmtstream_set_wmargin'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:267: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_set_rmargin':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:255: multiple definition of `argp_fmtstream_set_rmargin'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:255: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_set_lmargin':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:243: multiple definition of `argp_fmtstream_set_lmargin'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:243: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_write':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:207: multiple definition of `argp_fmtstream_write'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:207: first defined here
../lib/libcpio.a(argp-fmtstream.o): In function `argp_fmtstream_puts':
/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:220: multiple definition of `argp_fmtstream_puts'
../lib/libcpio.a(argp-help.o):/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/lib/argp-fmtstream.h:220: first defined here
collect2: ld returned 1 exit status
make[2]: *** [cpio] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-arch/cpio-2.9-r1/work/cpio-2.9'
make: *** [all] Error 2
 *
 * ERROR: app-arch/cpio-2.9-r1 failed.
Comment 3 Ryan Hill (RETIRED) gentoo-dev 2007-11-11 15:36:27 UTC
and of course this also applies to tar-1.19.
Comment 4 SpanKY gentoo-dev 2007-11-18 02:46:12 UTC
patches that actually get merged are highly preferred over what gets posted to $random-mailing-list

i grabbed the commits from the gnulib git repo and tossed it into latest cpio/tar ebuilds, cheers
Comment 5 Ryan Hill (RETIRED) gentoo-dev 2007-12-20 00:07:30 UTC
*** Bug 202815 has been marked as a duplicate of this bug. ***
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2008-03-22 10:07:41 UTC
*** Bug 214227 has been marked as a duplicate of this bug. ***