Skip to contentSkip to conversation

"cross-localedef-native" build error (with gcc-5.0.0)

PATCH In review Robert P. J. Day 5 participants 7 messages Feb 19, 2015 – Jul 7, 2015

lore
Share & tools
lore
#0 lore raw

didn't see any mention of this in YP's bugzilla:

gcc -o localedef charmap.o charmap-dir.o ld-address.o ld-collate.o ld-ctype.o ld-identification.o ld-measurement.o ld-messages.o ld-monetary.o ld-name.o ld-numeric.o ld-paper.o ld-telephone.o ld-time.o linereader.o localedef.o locarchive.o locfile.o repertoire.o simple-hash.o xmalloc.o xstrdup.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-help.o argp-parse.o argp-pv.o argp-xinl.o error.o getopt.o getopt1.o md5.o obstack.o asprintf.o getdelim.o localedef_extra.o obstack_printf.o vasprintf.o argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1da0): multiple definition of `argp_fmtstream_write'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x7a0): first defined here
argp-help.o: In function `argp_fmtstream_puts':
argp-help.c:(.text+0x1df0): multiple definition of `argp_fmtstream_puts'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x860): first defined here
argp-help.o: In function `argp_fmtstream_putc':
argp-help.c:(.text+0x1e60): multiple definition of `argp_fmtstream_putc'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x800): first defined here
argp-help.o: In function `argp_fmtstream_set_lmargin':
argp-help.c:(.text+0x1eb0): multiple definition of `argp_fmtstream_set_lmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5e0): first defined here
argp-help.o: In function `argp_fmtstream_set_rmargin':
argp-help.c:(.text+0x1ee0): multiple definition of `argp_fmtstream_set_rmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x610): first defined here
argp-help.o: In function `argp_fmtstream_set_wmargin':
argp-help.c:(.text+0x1f10): multiple definition of `argp_fmtstream_set_wmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x640): first defined here
argp-help.o: In function `argp_fmtstream_point':
argp-help.c:(.text+0x1f40): multiple definition of `argp_fmtstream_point'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x670): first defined here
collect2: error: ld returned 1 exit status
Makefile:59: recipe for target 'localedef' failed
make: *** [localedef] Error 1
ERROR: oe_runmake failed
WARNING: /home/rpjday/oe/builds/vtss/minimal/tmp/work/x86_64-linux/cross-localedef-native/2.20-r0/temp/run.do_compile.27985:1 exit 1 from
exit 1
ERROR: Function failed: do_compile (log file is located at /home/rpjday/oe/builds/vtss/minimal/tmp/work/x86_64-linux/cross-localedef-native/2.20-r0/temp/log.do_compile.27985)

is this a known issue?

rday

Signature · 7 lines
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
#1 lore raw

Any progress on this? I got the same problem, also ncurses-native fails to build with GCC >= 5.0

Best regards

- dhs

2015-02-19 8:11 GMT-02:00 Robert P. J. Day <[email protected]>:

Quoted 64 lines

didn't see any mention of this in YP's bugzilla:

gcc -o localedef charmap.o charmap-dir.o ld-address.o ld-collate.o
ld-ctype.o ld-identification.o ld-measurement.o ld-messages.o ld-monetary.o
ld-name.o ld-numeric.o ld-paper.o ld-telephone.o ld-time.o linereader.o
localedef.o locarchive.o locfile.o repertoire.o simple-hash.o xmalloc.o
xstrdup.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-help.o argp-parse.o
argp-pv.o argp-xinl.o error.o getopt.o getopt1.o md5.o obstack.o asprintf.o
getdelim.o localedef_extra.o obstack_printf.o vasprintf.o
argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1da0): multiple definition of `argp_fmtstream_write' argp-fmtstream.o:argp-fmtstream.c:(.text+0x7a0): first defined here
argp-help.o: In function `argp_fmtstream_puts':
argp-help.c:(.text+0x1df0): multiple definition of `argp_fmtstream_puts' argp-fmtstream.o:argp-fmtstream.c:(.text+0x860): first defined here
argp-help.o: In function `argp_fmtstream_putc':
argp-help.c:(.text+0x1e60): multiple definition of `argp_fmtstream_putc' argp-fmtstream.o:argp-fmtstream.c:(.text+0x800): first defined here
argp-help.o: In function `argp_fmtstream_set_lmargin':
argp-help.c:(.text+0x1eb0): multiple definition of
`argp_fmtstream_set_lmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5e0): first defined here
argp-help.o: In function `argp_fmtstream_set_rmargin':
argp-help.c:(.text+0x1ee0): multiple definition of
`argp_fmtstream_set_rmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x610): first defined here
argp-help.o: In function `argp_fmtstream_set_wmargin':
argp-help.c:(.text+0x1f10): multiple definition of
`argp_fmtstream_set_wmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x640): first defined here
argp-help.o: In function `argp_fmtstream_point':
argp-help.c:(.text+0x1f40): multiple definition of `argp_fmtstream_point' argp-fmtstream.o:argp-fmtstream.c:(.text+0x670): first defined here
collect2: error: ld returned 1 exit status
Makefile:59: recipe for target 'localedef' failed
make: *** [localedef] Error 1
ERROR: oe_runmake failed
WARNING:
/home/rpjday/oe/builds/vtss/minimal/tmp/work/x86_64-linux/cross-localedef-native/2.20-r0/temp/run.do_compile.27985:1 exit 1 from
exit 1
ERROR: Function failed: do_compile (log file is located at /home/rpjday/oe/builds/vtss/minimal/tmp/work/x86_64-linux/cross-localedef-native/2.20-r0/temp/log.do_compile.27985)

is this a known issue?

rday

--

========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday

========================================================================
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 2 lines
*"Do or do not. There is no try"*
  *Yoda Master*
#2 lore raw

PATCH 1/1 cross-localedef-native_2.20.bb: fix for gcc5

Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain
--text follows this line--
The build of cross-localedef-native is observed to fail under gcc5 hosts with multiple definition errors, e.g.:

argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1da0): multiple definition of `argp_fmtstream_write' argp-fmtstream.o:argp-fmtstream.c:(.text+0x7a0): first defined here

The problem is the change of the default C standard from gnu89 to gnu11 which changes the semantics of 'inline'. The issue is described in the Porting guide at https://gcc.gnu.org/gcc-5/porting_to.html. Adding the '-fgnu89-inline' option fixes the issue.

(This fix, including the above explanation, was shamelessly copied from
http://git.vahanus.net/?p=csc/ptxdist-kp.git;a=commit;h=2f04a3587bd33c74ccc9be6e115a8b1fde620841.)

---
 meta/recipes-core/glibc/cross-localedef-native_2.20.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/glibc/cross-localedef-native_2.20.bb +1 -1
index ccf56a9..38f2af4 100644
@@ -39,7 +39,7 @@ SRCREV_localedef = "c833367348d39dad7ba018990bfdaffaec8e9ed3"
 S = "${WORKDIR}/git"
 
 EXTRA_OECONF = "--with-glibc=${S}"
-CFLAGS += "-DNOT_IN_libc=1"
+CFLAGS += "-DNOT_IN_libc=1 -fgnu89-inline"
 
 do_configure () {
 	${S}/localedef/configure ${EXTRA_OECONF}
Signature · 1 line
2.4.4
#3 lore raw

Re: [PATCH] cross-localedef-native_2.20.bb: fix for gcc5

Thanks!!!
Em 07/07/2015 00:09, "Richard Tollerton" <[email protected]> escreveu:

Quoted 45 lines

Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain
--text follows this line--
The build of cross-localedef-native is observed to fail under gcc5 hosts with multiple definition errors, e.g.:

argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1da0): multiple definition of `argp_fmtstream_write' argp-fmtstream.o:argp-fmtstream.c:(.text+0x7a0): first defined here

The problem is the change of the default C standard from gnu89 to gnu11 which changes the semantics of 'inline'. The issue is described in the Porting guide at https://gcc.gnu.org/gcc-5/porting_to.html. Adding the '-fgnu89-inline' option fixes the issue.

(This fix, including the above explanation, was shamelessly copied from

http://git.vahanus.net/?p=csc/ptxdist-kp.git;a=commit;h=2f04a3587bd33c74ccc9be6e115a8b1fde620841
.)

---
 meta/recipes-core/glibc/cross-localedef-native_2.20.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/glibc/cross-localedef-native_2.20.bb +0 -0
index ccf56a9..38f2af4 100644
@@ -39,7 +39,7 @@ SRCREV_localedef =

"c833367348d39dad7ba018990bfdaffaec8e9ed3"
S = "${WORKDIR}/git"

EXTRA_OECONF = "--with-glibc=${S}"

meta/recipes-core/glibc/cross-localedef-native_2.20.bb +1 -2
-CFLAGS += "-DNOT_IN_libc=1"
+CFLAGS += "-DNOT_IN_libc=1 -fgnu89-inline"
 
 do_configure () {
        ${S}/localedef/configure ${EXTRA_OECONF}
--

2.4.4

#4 lore raw

Re: [PATCH] cross-localedef-native_2.20.bb: fix for gcc5

In reply to Richard Tollerton
Quoted 3 lines · Richard Tollerton

The build of cross-localedef-native is observed to fail under gcc5 hosts with multiple definition errors, e.g.:

Is this patch intended for fido? Master doesn't have 2.20 anymore (2.21) and I believe that works with gcc5 hosts.

Ross

#5 lore raw

Re: [PATCH] cross-localedef-native_2.20.bb: fix for gcc5

Quoted 9 lines · Ross
Quoted 3 lines · Richard Tollerton

The build of cross-localedef-native is observed to fail under gcc5 hosts with multiple definition errors, e.g.:

Is this patch intended for fido? Master doesn't have 2.20 anymore (2.21) and I believe that works with gcc5 hosts.

I would prefer to upgrade to 2.21, if this is tthe case.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#6 lore raw

Re: [PATCH] cross-localedef-native_2.20.bb: fix for gcc5

In reply to Burton, Ross
Quoted 8 lines · Ross
Quoted 3 lines · Richard Tollerton

The build of cross-localedef-native is observed to fail under gcc5 hosts with multiple definition errors, e.g.:

Is this patch intended for fido? Master doesn't have 2.20 anymore (2.21) and I believe that works with gcc5 hosts.

It was nominally written for dizzy.

It looks like Khem already added -fgnu89-inline in his initial commit of cross-localedef-native_2.21.bb, so that's why this works in fido (and master).