BIRD 2.0.5 build failures on RHEL/CentOS 6 and 7
Hello all, I'm seeing the following build failures with BIRD 2.0.5 on RHEL/CentOS 6, while BIRD 2.0.4 worked fine (just did a BIRD version bump, not more): --- snipp --- BUILDSTDERR: obj/conf/cf-parse.y: In function 'cf_parse': BUILDSTDERR: obj/conf/cf-parse.y:1918: error: unknown field 'asn' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'from' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'to' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: error: unknown field 'sym' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: unknown field 'sa' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_static_attr' BUILDSTDERR: obj/conf/cf-parse.y:2175: error: unknown field 'da' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2175: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_dynamic_attr' BUILDSTDERR: obj/conf/cf-parse.y:2403: warning: pointer targets in assignment differ in signedness BUILDSTDERR: obj/conf/cf-parse.y:2404: warning: pointer targets in assignment differ in signedness --- snapp --- https://kojipkgs.fedoraproject.org/work/tasks/4846/36814846/build.log is the full log (will be auto-cleaned up in a couple of days). And even building on RHEL/CentOS 7 fails now (also just a BIRD version bump): --- snipp --- BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans0.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans1.ltrans.o: relocation R_X86_64_32 against hidden symbol `sk_class.61292' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans2.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans3.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans4.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans5.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans6.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans7.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans8.ltrans.o: relocation R_X86_64_32S against hidden symbol `opaque_lsa_types_inv.40457' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans9.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans10.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans11.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans12.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans13.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans14.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans15.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans16.ltrans.o: relocation R_X86_64_32S against hidden symbol `bfd_wait_list.24893' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans17.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans18.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans19.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans20.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans21.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans22.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans23.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans24.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans25.ltrans.o: relocation R_X86_64_32 against hidden symbol `b.8691.10727' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans26.ltrans.o: relocation R_X86_64_32 against hidden symbol `filter_state.9587' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans27.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans28.ltrans.o: relocation R_X86_64_32S against hidden symbol `yy_accept.7797' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans29.ltrans.o: relocation R_X86_64_32S against hidden symbol `yypact.4429' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans30.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: final link failed: Nonrepresentable section on output --- snapp --- https://kojipkgs.fedoraproject.org//work/tasks/5313/36815313/build.log is the full log (will be auto-cleaned up in a couple of days). While I indeed can pass -fPIC myself (leading to a successful build), I still wonder why these changes happened and whether you maybe missed some autoconf/automake-foo to cover it "automagically". Regards, Robert
Will examine tomorrow, thank you for pointing that out. Maria On August 5, 2019 9:35:43 PM GMT+02:00, Robert Scheck <bird@robert-scheck.de> wrote:
Hello all,
I'm seeing the following build failures with BIRD 2.0.5 on RHEL/CentOS 6, while BIRD 2.0.4 worked fine (just did a BIRD version bump, not more):
--- snipp --- BUILDSTDERR: obj/conf/cf-parse.y: In function 'cf_parse': BUILDSTDERR: obj/conf/cf-parse.y:1918: error: unknown field 'asn' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'from' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'to' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: error: unknown field 'sym' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: unknown field 'sa' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_static_attr' BUILDSTDERR: obj/conf/cf-parse.y:2175: error: unknown field 'da' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2175: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_dynamic_attr' BUILDSTDERR: obj/conf/cf-parse.y:2403: warning: pointer targets in assignment differ in signedness BUILDSTDERR: obj/conf/cf-parse.y:2404: warning: pointer targets in assignment differ in signedness --- snapp ---
https://kojipkgs.fedoraproject.org/work/tasks/4846/36814846/build.log is the full log (will be auto-cleaned up in a couple of days).
And even building on RHEL/CentOS 7 fails now (also just a BIRD version bump):
--- snipp --- BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans0.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans1.ltrans.o: relocation R_X86_64_32 against hidden symbol `sk_class.61292' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans2.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans3.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans4.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans5.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans6.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans7.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans8.ltrans.o: relocation R_X86_64_32S against hidden symbol `opaque_lsa_types_inv.40457' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans9.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans10.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans11.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans12.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans13.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans14.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans15.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans16.ltrans.o: relocation R_X86_64_32S against hidden symbol `bfd_wait_list.24893' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans17.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans18.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans19.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans20.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans21.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans22.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans23.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans24.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans25.ltrans.o: relocation R_X86_64_32 against hidden symbol `b.8691.10727' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans26.ltrans.o: relocation R_X86_64_32 against hidden symbol `filter_state.9587' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans27.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans28.ltrans.o: relocation R_X86_64_32S against hidden symbol `yy_accept.7797' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans29.ltrans.o: relocation R_X86_64_32S against hidden symbol `yypact.4429' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans30.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: final link failed: Nonrepresentable section on output --- snapp ---
https://kojipkgs.fedoraproject.org//work/tasks/5313/36815313/build.log is the full log (will be auto-cleaned up in a couple of days).
While I indeed can pass -fPIC myself (leading to a successful build), I still wonder why these changes happened and whether you maybe missed some autoconf/automake-foo to cover it "automagically".
Regards, Robert
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
On Mon, Aug 05, 2019 at 09:35:43PM +0200, Robert Scheck wrote:
Hello all,
I'm seeing the following build failures with BIRD 2.0.5 on RHEL/CentOS 6, while BIRD 2.0.4 worked fine (just did a BIRD version bump, not more):
--- snipp --- BUILDSTDERR: obj/conf/cf-parse.y: In function 'cf_parse': BUILDSTDERR: obj/conf/cf-parse.y:1918: error: unknown field 'asn' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: (near initialization for '(anonymous).val.pmi.<anonymous>')
Hi I think we started to require newer bison (although it should be checked by configure and complained there). We aim to be compatible with 5 year old systems, but RHEL/CentOS 6 is too old even for that.
And even building on RHEL/CentOS 7 fails now (also just a BIRD version bump):
--- snipp --- BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans0.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans1.ltrans.o: relocation R_X86_64_32 against hidden symbol `sk_class.61292' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans2.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans3.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC --- snapp ---
Not sure about that, it works on CentOS 7 in our Gitlab test build. It seems like our configure script improperly adds -flto even if CFLAGS / LDFLAGS are expliclty set, and it is incompatible with your flags. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Hello Ondrej, On Mon, 05 Aug 2019, Ondrej Zajicek wrote:
I think we started to require newer bison (although it should be checked by configure and complained there). We aim to be compatible with 5 year old systems, but RHEL/CentOS 6 is too old even for that.
while this is a good pointer indeed, it's unfortunately wrong. Using bison 3.0.4 (same version like RHEL/CentOS 7 uses) still leads to the same error. But following your pointer in general, I figured out that GCC 4.4.x causes the error, while GCC 4.8.x works. Looks like BIRD depends on a feature from GCC 4.5 (or newer, I didn't track this down further). Thanks though!
Not sure about that, it works on CentOS 7 in our Gitlab test build.
It seems like our configure script improperly adds -flto even if CFLAGS / LDFLAGS are expliclty set, and it is incompatible with your flags.
Sounds like a bug in the configure script then, may you have a look to it, please? Regards, Robert
On Tue, Aug 06, 2019 at 12:37:49AM +0200, Robert Scheck wrote:
Hello Ondrej,
On Mon, 05 Aug 2019, Ondrej Zajicek wrote:
I think we started to require newer bison (although it should be checked by configure and complained there). We aim to be compatible with 5 year old systems, but RHEL/CentOS 6 is too old even for that.
while this is a good pointer indeed, it's unfortunately wrong. Using bison 3.0.4 (same version like RHEL/CentOS 7 uses) still leads to the same error.
But following your pointer in general, I figured out that GCC 4.4.x causes the error, while GCC 4.8.x works. Looks like BIRD depends on a feature from GCC 4.5 (or newer, I didn't track this down further). Thanks though!
Yes, that is true. We probably should add some checks for that.
Not sure about that, it works on CentOS 7 in our Gitlab test build.
It seems like our configure script improperly adds -flto even if CFLAGS / LDFLAGS are expliclty set, and it is incompatible with your flags.
Sounds like a bug in the configure script then, may you have a look to it, please?
Fixed, see attached patch. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On 05. 08. 19 21:35, Robert Scheck wrote:
Hello all,
Hi Robert! I was able to prepare packages for CentOS 7. You can check ftp://bird.network.cz/pub/bird/centos/7/x86_64 Ondrej
I'm seeing the following build failures with BIRD 2.0.5 on RHEL/CentOS 6, while BIRD 2.0.4 worked fine (just did a BIRD version bump, not more):
--- snipp --- BUILDSTDERR: obj/conf/cf-parse.y: In function 'cf_parse': BUILDSTDERR: obj/conf/cf-parse.y:1918: error: unknown field 'asn' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1918: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'from' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:1919: warning: (near initialization for '(anonymous).val.pmi.<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:1919: error: unknown field 'to' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: error: unknown field 'sym' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2172: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: unknown field 'sa' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2174: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2174: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_static_attr' BUILDSTDERR: obj/conf/cf-parse.y:2175: error: unknown field 'da' specified in initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: missing braces around initializer BUILDSTDERR: obj/conf/cf-parse.y:2175: warning: (near initialization for '(anonymous).<anonymous>') BUILDSTDERR: obj/conf/cf-parse.y:2175: error: incompatible types when initializing type 'struct symbol *' using type 'struct f_dynamic_attr' BUILDSTDERR: obj/conf/cf-parse.y:2403: warning: pointer targets in assignment differ in signedness BUILDSTDERR: obj/conf/cf-parse.y:2404: warning: pointer targets in assignment differ in signedness --- snapp ---
https://kojipkgs.fedoraproject.org/work/tasks/4846/36814846/build.log is the full log (will be auto-cleaned up in a couple of days).
And even building on RHEL/CentOS 7 fails now (also just a BIRD version bump):
--- snipp --- BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans0.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans1.ltrans.o: relocation R_X86_64_32 against hidden symbol `sk_class.61292' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans2.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans3.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans4.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans5.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans6.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans7.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans8.ltrans.o: relocation R_X86_64_32S against hidden symbol `opaque_lsa_types_inv.40457' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans9.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans10.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans11.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans12.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans13.ltrans.o: relocation R_X86_64_32S against hidden symbol `proto_bgp' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans14.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans15.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans16.ltrans.o: relocation R_X86_64_32S against hidden symbol `bfd_wait_list.24893' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans17.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans18.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans19.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans20.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans21.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans22.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans23.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans24.ltrans.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans25.ltrans.o: relocation R_X86_64_32 against hidden symbol `b.8691.10727' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans26.ltrans.o: relocation R_X86_64_32 against hidden symbol `filter_state.9587' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans27.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans28.ltrans.o: relocation R_X86_64_32S against hidden symbol `yy_accept.7797' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans29.ltrans.o: relocation R_X86_64_32S against hidden symbol `yypact.4429' can not be used when making a shared object BUILDSTDERR: /usr/bin/ld: /tmp/ccZUW9JI.ltrans30.ltrans.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC BUILDSTDERR: /usr/bin/ld: final link failed: Nonrepresentable section on output --- snapp ---
https://kojipkgs.fedoraproject.org//work/tasks/5313/36815313/build.log is the full log (will be auto-cleaned up in a couple of days).
While I indeed can pass -fPIC myself (leading to a successful build), I still wonder why these changes happened and whether you maybe missed some autoconf/automake-foo to cover it "automagically".
Regards, Robert
Hello Ondrej, On Tue, 06 Aug 2019, Ondrej Filip wrote:
I was able to prepare packages for CentOS 7. You can check ftp://bird.network.cz/pub/bird/centos/7/x86_64
aside of that the packages can't be downloaded (likely some permissions missing), your packages don't align with the Fedora Packaging Guidelines for multiple reasons, sorry ;-( -rw-r--r-- 14 50 1056532 Mar 1 08:36 bird2-2.0.4-8.el7.src.rpm -rw-r--r-- 14 50 365292 Mar 1 08:36 bird2-2.0.4-8.el7.x86_64.rpm -rw----r-- 14 50 1104377 Aug 5 16:12 bird2-2.0.5-1.el7.src.rpm -rw----r-- 14 50 392860 Aug 5 16:12 bird2-2.0.5-1.el7.x86_64.rpm https://src.fedoraproject.org/rpms/bird/blob/master/f/bird.spec in case you're interested. IIRC your packages are also not built with CFLAGS and LDFLAGS that Fedora and EPEL endorse (and not inside a clean mock chroot). For RHEL/CentOS 7, the way seems either to pass -fPIC explicitly or to use a more recent GCC (like Fedora does) which handles -flto more nicely. Regards, Robert
On 06. 08. 19 11:50, Robert Scheck wrote:
Hello Ondrej,
On Tue, 06 Aug 2019, Ondrej Filip wrote:
I was able to prepare packages for CentOS 7. You can check ftp://bird.network.cz/pub/bird/centos/7/x86_64
aside of that the packages can't be downloaded (likely some permissions missing), your packages don't align with the Fedora Packaging Guidelines
Fixed.
for multiple reasons, sorry ;-(
I have never claimed that! Ondrej
-rw-r--r-- 14 50 1056532 Mar 1 08:36 bird2-2.0.4-8.el7.src.rpm -rw-r--r-- 14 50 365292 Mar 1 08:36 bird2-2.0.4-8.el7.x86_64.rpm -rw----r-- 14 50 1104377 Aug 5 16:12 bird2-2.0.5-1.el7.src.rpm -rw----r-- 14 50 392860 Aug 5 16:12 bird2-2.0.5-1.el7.x86_64.rpm
https://src.fedoraproject.org/rpms/bird/blob/master/f/bird.spec in case you're interested. IIRC your packages are also not built with CFLAGS and LDFLAGS that Fedora and EPEL endorse (and not inside a clean mock chroot).
For RHEL/CentOS 7, the way seems either to pass -fPIC explicitly or to use a more recent GCC (like Fedora does) which handles -flto more nicely.
Regards, Robert
participants (4)
-
Maria Jan Matějka -
Ondrej Filip -
Ondrej Zajicek -
Robert Scheck