Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130509 - dev-lang/gnat-gcc for ppc - please keyword ~ppc (versions 4.1.1 and 3.4.6)
Summary: dev-lang/gnat-gcc for ppc - please keyword ~ppc (versions 4.1.1 and 3.4.6)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
Depends on: 133119
Blocks:
  Show dependency tree
 
Reported: 2006-04-19 12:06 UTC by Matti Bickel (RETIRED)
Modified: 2007-03-01 08:57 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to remove unnecessary bootstrap-logic from gnatbuild.eclass (gnatbuild.patch,537 bytes, patch)
2006-04-19 12:48 UTC, Matti Bickel (RETIRED)
Details | Diff
updated ebuild for 3.4.6 that has ppc keyword/bootstrap (gnat-gcc-3.4.6-r1.ebuild,1019 bytes, text/plain)
2006-08-31 13:10 UTC, Timothy Stotts
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matti Bickel (RETIRED) gentoo-dev 2006-04-19 12:06:34 UTC
So here's the result so far: i've compiled dev-lang/gnat-gcc on ppc w/o problems and after some fiddling with PATH i've got it to compile my university work w/o problems. This includes mostly basic stuff like Generics, Loops, Exception-Handling and such. I've not touched threads or advanced timing yet.

I hope the bootstrap-image will be avaible soon - fully patched for hardened and included in the gnat-gcc ebuild.

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.

Some changes to the gnatbuild.eclass were also necessary, as it treats the ppc arch special in paths, which is no longer necessary and brings the configure to halt. I'll attach a patch for it.
Comment 1 Matti Bickel (RETIRED) gentoo-dev 2006-04-19 12:48:30 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
Comment 2 George Shapovalov (RETIRED) gentoo-dev 2006-04-19 14:16:30 UTC
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
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2006-04-19 14:28:35 UTC
Actually I just added ROOTPATH. Looks like all what was necessary was a one-liner in create_gnat_env_entry function..

George
Comment 4 George Shapovalov (RETIRED) gentoo-dev 2006-05-12 04:00:47 UTC
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
Comment 5 Timothy Stotts 2006-08-31 08:56:13 UTC
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).
Comment 6 Timothy Stotts 2006-08-31 13:10:03 UTC
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?
Comment 7 George Shapovalov (RETIRED) gentoo-dev 2006-08-31 13:23:42 UTC
(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
Comment 8 Timothy Stotts 2006-08-31 13:43:52 UTC
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?
Comment 9 George Shapovalov (RETIRED) gentoo-dev 2006-08-31 13:52:39 UTC
(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
Comment 10 Timothy Stotts 2006-09-01 03:29:28 UTC
(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".
Comment 11 George Shapovalov (RETIRED) gentoo-dev 2006-09-01 06:56:02 UTC
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
Comment 12 George Shapovalov (RETIRED) gentoo-dev 2006-09-01 07:03:05 UTC
Sorry, forgot to say - specs must match the compiler, so please use the 4.1 one - the one you have built.
Thanks!

George
Comment 13 Timothy Stotts 2006-09-01 08:42:56 UTC
(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
Comment 14 George Shapovalov (RETIRED) gentoo-dev 2006-09-04 08:52:50 UTC
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
Comment 15 Timothy Stotts 2006-09-04 13:48:03 UTC
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).
Comment 16 George Shapovalov (RETIRED) gentoo-dev 2006-09-05 08:47:24 UTC
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
Comment 17 George Shapovalov (RETIRED) gentoo-dev 2006-09-05 08:50:59 UTC
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
Comment 18 Timothy Stotts 2006-09-26 09:10:52 UTC
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 ?

Comment 19 hiyuh 2006-09-26 10:19:26 UTC
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.
Comment 20 Matti Bickel (RETIRED) gentoo-dev 2006-10-22 08:41:30 UTC
virtual/gnat-4.1 ~ppc'ed, see what i can do for 3.4.6
Comment 21 Matti Bickel (RETIRED) gentoo-dev 2007-01-10 21:27:52 UTC
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..
Comment 22 Timothy Stotts 2007-01-10 22:04:41 UTC
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.)
Comment 23 Matti Bickel (RETIRED) gentoo-dev 2007-01-17 19:04:51 UTC
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
Comment 24 Joe Jezak (RETIRED) gentoo-dev 2007-02-21 04:09:34 UTC
I say drop 3.4.6.  Matti, is there anything left on this bug then?
Comment 25 Matti Bickel (RETIRED) gentoo-dev 2007-03-01 08:57:40 UTC
Nope, there isn't. Sorry for not looking hard enough at 3.4.6, but lua keeps me more than entertained this weeks :|