Closed bib1963 closed 2 years ago
I can guess it is a problem with your Linux config. In my side both bootstrup and regular build is OK on Ubuntu 20.04. It is also tested with success on SUSE 15 as I can see. Looks like error messages is truncated in your posts, it is hard to guess what is really happen.
Yes, but are you using GCC 11.3.0? And are you sure you are calling the bootstrap version of gprbuild to build the install version of gprbuild?
I cannot see what would be wrong with my install given that it is suse supplied. I also tried it with my own built gcc 11.3.0 version with the same failures.
I truncated the error messages as they are just much of the same. They do not give any further help.
11.3.1
<<And are you sure you are calling the bootstrap version of gprbuild to build the install version of gprbuild?>> Yes
I've now gone through this.
I am looking at these 2 changes:
2022-04-06 New attribute Bindfile_Option_Substitution processing e96be0361bcf3c532f0f9beb13b595164ccfb57a 2022-04-06 Process Config_Concatenable flag for associative arrays d4dff8ed2eb425450ef77a81f5d379f23111a510
With d4dff8ed2e, gprbuild builds just fine.
with e96be0361, gprbuild then has linking problems.
This is what it calls.. Why on earth does it have a -static switch set?
gcc gprconfig-main.o b__gprconfig-main.o /home/src/build/Ada/gprbuild/obj/production/gprconfig.o /home/src/build/Ada/gprbuild/gpr/lib/production/static/libgpr.a /opt/ada/202206/lib/xmlada/xmlada_schema.static/libxmlada_schema.a /opt/ada/202206/lib/xmlada/xmlada_dom.static/libxmlada_dom.a /opt/ada/202206/lib/xmlada/xmlada_sax.static/libxmlada_sax.a /opt/ada/202206/lib/xmlada/xmlada_input.static/libxmlada_input_sources.a /opt/ada/202206/lib/xmlada/xmlada_unicode.static/libxmlada_unicode.a -L/home/src/build/Ada/gprbuild/obj/production/ -L/home/src/build/Ada/gprbuild/obj/production/ -L/opt/ada/202206/lib/xmlada/xmlada_unicode.static/ -L/opt/ada/202206/lib/xmlada/xmlada_sax.static/ -L/opt/ada/202206/lib/xmlada/xmlada_input.static/ -L/opt/ada/202206/lib/xmlada/xmlada_dom.static/ -L/opt/ada/202206/lib/xmlada/xmlada_schema.static/ -L/home/src/build/Ada/gprbuild/gpr/lib/production/static/ -L/opt/gcc/11.2.0/202206/lib64/gcc/x86_64-suse-linux/11/adalib/ -static /opt/gcc/11.2.0/202206/lib64/gcc/x86_64-suse-linux/11/adalib/libgnat.a -ldl -Wl,-rpath-link,/opt/gcc/11.2.0/202206/lib64/gcc/x86_64-suse-linux/11//adalib -Wl,-z,origin,-rpath,$ORIGIN/../..//obj/production:/opt/ada/202206/lib/xmlada/xmlada_unicode.static:/opt/ada/202206/lib/xmlada/xmlada_sax.static:/opt/ada/202206/lib/xmlada/xmlada_input.static:/opt/ada/202206/lib/xmlada/xmlada_dom.static:/opt/ada/202206/lib/xmlada/xmlada_schema.static:$ORIGIN/../..//gpr/lib/production/static:/opt/gcc/11.2.0/202206/lib64/gcc/x86_64-suse-linux/11/adalib -o /home/src/build/Ada/gprbuild/exe/production//gprconfig
I guess you did not provide fresh knowlege base on build. It is located at https://github.com/AdaCore/gprconfig_kb repository and xml file from it should be installed into share/gprconfig of the same tree where is gprtools is in the bin directory.
Sigh... you're right. In my defence though this is due to me battling the broken gprconfig_kb system.
I've asked you to pull a change which will allow it to be built on many most Linux x86_64 systems which has not been done, and now I am battling to build it on AArch64/opensuse.
We should not need to do this.
And what really gets me, is that building this means we have 3 identical versions of gprconfig_kb in place when built, gprbuild/share/gprconfig/linker.xml
, gprbuild/bootstrap/share/gprconfig/linker.xml
& the base gprconfig_kb/db/linker.xml
.
Why these could not be done with symlinks so we only deal with a single copy, I do not know.
I think this, with regards to a previous issue goes back to 38ebfdf.
I have a newly installed opensuse 15.4 system. It has gcc 11.3.0. gcc is able to build c code just fine, no problems regardless whether static or linked to shared libs.
Building gprbuild now fails on many levels...
Running bootstrap builds fine, and building xmlada is also fine.
When you begin building gprbuild proper, all hell breaks loose.
It's trying to build static versions, which means static libc has to be installed.
The errors are produced (small selection):
Okay, so we install libc static and now the following warnings are generated (small selection again):
Okay, at least it builds, but it does not work...
So, what type of files has it actually built?
So lets try and build a relocatable version.
And lets test the files again:
Uh, why when relocatable version requested, it did static ones only?
I am guessing the changes have not been fully tested on a clean system, from bootstrap right through to full installation and were only checked with an already previously built system which has masked problems.
If I install the gnat community version and use the supplied gprbuild from it, it all works.
As it stands, gprbuild is wholly broken.