Summary: | dev-lang/gnat-gcc for ppc - please keyword ~ppc (versions 4.1.1 and 3.4.6) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Matti Bickel (RETIRED) <mabi> |
Component: | Current packages | Assignee: | PPC Porters <ppc> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ada+disabled, devel, hiyuh.root |
Priority: | High | ||
Version: | 2006.0 | ||
Hardware: | PPC | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 133119 | ||
Bug Blocks: | |||
Attachments: |
Patch to remove unnecessary bootstrap-logic from gnatbuild.eclass
updated ebuild for 3.4.6 that has ppc keyword/bootstrap |
Description
Matti Bickel (RETIRED)
2006-04-19 12:06:34 UTC
Created attachment 84976 [details, diff]
Patch to remove unnecessary bootstrap-logic from gnatbuild.eclass
Simplified the GNATBOOT assignment, as it's now the same for all arches
Thanks Matti!
Indeed, now, that we managed to produce the bootstrap out of the built gnat-3.45 special handling on ppc is unnecessary. I incorporated this change to eclass (in the tree). I'll go over it again when the final bootstrap becomes available. Speaking of which:
Could you please create a bootstrap off the newly generated gnat-gcc, or even simply a tbz2 file, that you get with --buildpkg and put it up somewhere again and post the link here? I will then recheck it, go through eclass again and update the ebuild (it should only need another SRC_URI and ~ppc in KEYWORDS)..
>For the path-issues: i'm wondering why gnat only sets PATH in profile.env and
>not ROOTPATH too. This effectivly prevents root from compiling ada packages,
>which is odd, since java-paths are included.
That's the omission on my part - I noticed it already (some time ago in fact) just did not get to fixing it yet. I hope this bug will provide enoughof a remainder for me to finally fix it :).
George
Actually I just added ROOTPATH. Looks like all what was necessary was a one-liner in create_gnat_env_entry function.. George Since this was already mentioned here.. The gnatbuild.eclass was a bit refactored - now PATH and ROOTPATH are set only via eselect-gnat module. I added ROOTPATH there, will be in -0.8 version (will commit soon, I may need to put few more touches on it first..) George Hi. What is the progress on this reaching the portage tree? I'm looking to install gnat-gcc-4.1.1 on PPC (already have glibc-2.4 / gcc-4.1.1 installed). Created attachment 95575 [details] updated ebuild for 3.4.6 that has ppc keyword/bootstrap The 3.4 bootstrap isn't on the mirrors, but the following one works dandy: http://dev.gentoo.org/~george/src/gnatboot-3.4-ppc.tar.bz2 When will a 4.1 be created? Could I create it for myself? (In reply to comment #5) > Hi. What is the progress on this reaching the portage tree? I'm looking to > install gnat-gcc-4.1.1 on PPC (already have glibc-2.4 / gcc-4.1.1 installed). > Well, basically I was waiting for the bootstrap to be recreated using the newly built gnat. This should not matter much, given the way gcc builds itself, but the binaries produced during the 2nd build on the arches I have access to (amd64 and x86) had differences, so I would rather prefer to rebuild the binaries, if possible. However, as I do not have ppc here, I need somebody's help here, so if you could repackage the bootstrap from your installed gnat on ppc, or even simply put the produced .tbz2 file somewhere where I could grab it.. I will then check/repackage the bootstrap and submit the ebuild to our ppc arch testers. >When will a 4.1 be created? Could I create it for myself? Sure :). You can use the 3.4 one to build the 4.1 version, this requires just some minor changes to ebuild/eclass. Please put the produced .tbz2 file somewhere as well, then I will be able to process the 4.1 as well.. George Sure, I can hack the eclass/ebuild to use 3.4 to build 4.1 . Do you want anything more than a quickpkg of the result? (And checking that it t produced good binaries.) I'm assuming CFLAGS="-O -pipe", or something like that, to make it as generic as possible? (In reply to comment #8) > Sure, I can hack the eclass/ebuild to use 3.4 to build 4.1 . > Do you want anything more than a quickpkg of the result? That'll do. It will be easier for me to move stuff around and delete unnecessary than to explain exactly what to do :). But you can try to mimic the layout of the bootstrap if you wish (it is somewhat different - to simplify eclass logic a few dirs were combined and docs/cruft were deleted to save the space). In this case please upload both - the original tbz2 and the recreated bootstrap, so that we do not have to repeat any steps if you miss something. > I'm assuming CFLAGS="-O -pipe", or something like that, to make it as generic > as possible? Well, the -O may very well be -O2 (it is probably even safer, as it gets more testing), but -march should be omitted or set to something generic indeed. George (In reply to comment #9) You can find a package of gnat-gcc-4.1.1 at: http://tstotts.net/~tas/gnat/ built with CFLAGS="-pipe". Hi Timothy. Thanks for the package. This seems to contain all I need, except one thing - there is no specs file. Can you please run this command on your system and attach the produced file either here or at the same location? gnatgcc -dumpspecs > specs Thanks! George Sorry, forgot to say - specs must match the compiler, so please use the 4.1 one - the one you have built. Thanks! George (In reply to comment #11) Uploaded to same location. (In reply to comment #12) # eselect gnat set powerpc-unknown-linux-gnu-gnat-gcc-4.1 # env-update # exit / login # which gnatgcc /usr/powerpc-unknown-linux-gnu/gnat-gcc-bin/4.1/gnatgcc # gnatgcc -dumpspecs > gnat-gcc-4.1.1-r1.specs Thanks! I completed and uploaded the bootstrap, also I added the SRC_URI to the ebuild. This seems to be the only necessary change so far. Please test. Please note: I did not yet add the ppc to KEYWORDS, will do that upon successfull test report, or rather I will submit the ebuild to our arch testers team, asking them to test and keyword it. So, meanwhile, you will need to add ppc yourself. Another thing. Do you have access to ppc64 hardware? I wonder if any changes are necessary for that one (there may be one place in gnatboot.eclass that will need to be modified for a proper multilib support). George Thanks, George. 4.1.1 installs and functions just fine on PPC with the new bootstrap. Please consider updating 3.4.6 to include the PPC bootstrap also, and distribute the bootstrap to the mirrors, as the 3.4 bootstrap already exists and works fine. Sorry, I do not have access to PPC64. I only have access to a single PPC and a single x86 (P4). Reassigning to the ppc arch team. This package is an Ada frontend for gcc (but it does not touch the toolchain installation). No changes were necessary from x86 and amd64, except to create a bootstrap and add it to the SRC_URI (so, the arch-specific stuff should be really low maintenance). Therefore, while I personally do not have access to ppc hardware, I feel that it may be Ok for this package to be marked ~ppc (with only occasional testing by the arch team). Please advise if there are any problems or if Timothy or somebody else has to take a more active stance looking over this package on ppc specifically. Matti: are you still on the AT team? If so, may be you could take care of this? ;) George Um, sorry for omitting this part: both dev-lang/gnat-gcc-4.1.1 and 3.4.6 had been prepared for ppc and tested by users. Please test both. Thanks! George Glad to see that gcc-4.1.1 and gpl-3.4.6.2006 made it into Portage for ~ppc . Could you add ~ppc to virtual/gnat ? FYI, I'd like to report "WORKSFORME" on my ~ppc env. Just asserted ~ppc keyword to virtual/gnat-4.1. Then, it can use to build unofficial sci-electronics/ghdl-0.25 was filed bug #83877. virtual/gnat-4.1 ~ppc'ed, see what i can do for 3.4.6 Is there still a need for 3.4.6? Any packages i can test it with? Ghdl got 4.1 now. I'm trying to settle this either way, i don't mind testing but considering that the 4.1 branch is pretty much working, i'm interested in what still uses 3.4.6.. I can't think of anything that still require 3.4.x . At the time gcc4 was not in use as much; but most things are comptatible with the newer gcc now. Skipping 3.4.x sounds fine. Either way, just putting the bootstrap URI I posted previously into the ebuild/eclass will allow the 3.4.x version to compile fine. (Good enough for mask or ~ppc.) Fails for me: creating Makefile gnatgcc -c xtreeprs.adb gnatmake: "xtreeprs.ali" incompatible ALI file, please recompile gnatmake: "xtreeprs.adb" compilation error !!! ERROR in dev-lang/gnat-gcc-3.4.6: !!! In gnatbuild_src_compile at line 528 !!! building helper tools I say drop 3.4.6. Matti, is there anything left on this bug then? Nope, there isn't. Sorry for not looking hard enough at 3.4.6, but lua keeps me more than entertained this weeks :| |