Hello Pavel.
I have been investigating how we can keep GPRbuild from breaking when GCC gets upgraded. It seems that the only practical solution that will work in Koji is to link GPRbuild statically. Here's the discussion in case you haven't followed it on the devel list: https://lists.fedoraproject.org/archives/list/devel%40lists.fedoraproject.or...
The branching of Fedora 24 is scheduled for the second of February. GCC 6 looks like it will enter stage 4 sometime in the middle of January. Around that time I expect GCC 6 to appear in Rawhide. Before that happens we need to have a statically linked GPRbuild ready in Rawhide. Otherwise a bootstrap procedure will be required to get it working again.
The first step is to make an xmlada-static package. Although there is a lot to do before Christmas, I'll try to spend some time making patches. Please tell me if you are also working on this, so we can avoid duplicating the work.
Björn
Hello Bjorn,
Thank you for raising this. Update to gcc-5 adacore-2015 (gnatmake deprecation) was painful and I'd like to avoid this in the future for sure.   Unfortunately I'm quite overloaded at work this time so I'm not working much on Fedora packaging. I'll jump in around Xmas - New Year time (I hope). So If I understand thread correctly we have to uncomment line in XML/Ada makefile which removes static libraries and link GPRBuild statically. Right?
-- Pavel
14.12.2015, 00:54, "Björn Persson" <Bjorn@rombobjörn.se>:
Hello Pavel.
I have been investigating how we can keep GPRbuild from breaking when GCC gets upgraded. It seems that the only practical solution that will work in Koji is to link GPRbuild statically. Here's the discussion in case you haven't followed it on the devel list: https://lists.fedoraproject.org/archives/list/devel%40lists.fedoraproject.or...
The branching of Fedora 24 is scheduled for the second of February. GCC 6 looks like it will enter stage 4 sometime in the middle of January. Around that time I expect GCC 6 to appear in Rawhide. Before that happens we need to have a statically linked GPRbuild ready in Rawhide. Otherwise a bootstrap procedure will be required to get it working again.
The first step is to make an xmlada-static package. Although there is a lot to do before Christmas, I'll try to spend some time making patches. Please tell me if you are also working on this, so we can avoid duplicating the work.
Björn
-- Pavel
Pavel Zhukov wrote:
So If I understand thread correctly we have to uncomment line in XML/Ada makefile which removes static libraries and link GPRBuild statically. Right?
I didn't find any commented-out lines to uncomment. I removed the disable_static patch and various parameters that disabled the static libraries, and worked around some quirks in the build system. It works well for linking some example programs, so here's a patch with those changes.
I removed the chrpath command rather than adjusting it, as it's no longer needed.
I don't understand why the spec creates an empty directory named "static", so I didn't touch that. There should be a comment explaining why that directory is needed.
Then I had to make another patch to include the documentation, because RPMbuild complained about installed but unpackaged files. I guess it was caused by some change in how RPMbuild handles %doc.
Björn
Here's a patch for GPRbuild. Once xmlada-static is in place, it seems that setting XMLADA_BUILD to "static" is all that's needed when building GPRbuild.
It's still linked dynamically to GlibC, but I think that's OK. Soname changes in GlibC are extremely rare, and if it would happen, then it seems to me that a transition period with a compatibility package would be necessary.
Merry Christmas!
Björn