simonjwright / building-gcc-macos-native

Scripts for building GCC on macOS
BSD 3-Clause "New" or "Revised" License
15 stars 1 forks source link

Making a consistent set of libraries #7

Closed SoftImp closed 3 weeks ago

SoftImp commented 10 months ago
          Simon,

As you may remember I have installed GNATStudio based on the macOS GCC 13.1.0 (x86_64).

Within the instructions you provided to me, I needed to delete the existing GNATStudio download and install GCC 13.1.0 before I then downloaded and installed the GNATStudio.

I'm now in the process of installing the GNATCOLL libraries, but noticed that the default for doing so is GCC 13.2.0.

Do I need to re-install GNATStudio based on GCC 13.2.0, or do I edit the version number for the make invocation to install the GNATColl stuff, or do I ignore the differences and proceed to install the GNATColl libraries using GCC 13.2.0 anyway? I'm inclined to assume the latter option, but there may be some idiosyncrasy that's going to cause problems.

As I am not building on Apple Silicon, I'm presuming I can ignore the business about invoking an x86_64 shell?

Hopefully, a quick answer is all that's necessary here!

Regards.

Clive.

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

Originally posted by @SoftImp in https://github.com/simonjwright/distributing-gcc/issues/18#issuecomment-1925103108

simonjwright commented 10 months ago

Clive,

I transferred this issue here because it seems to be about building rather than distributing.

I’m not sure why you’re trying to rebuild GNATCOLL? since the 13.1.0 package I pointed you to already includes most of it (but only the SQLite parts of the database section). The idea is that my distribution contains a consistent set of packages, see the build notes.

If you need to build other parts of gnatcoll-db using your installed compiler, you should

When you get that lot to work, the new software will be included under /opt/gcc-13.1.0.

SoftImp commented 10 months ago

Simon,

Again, thank you for getting back to me with some more precise instructions. I'll be applying them over the next week or so.

The main reason for me asking (sometimes silly) questions is that I haven't been able to easily find the relevant sites to your work.

I understand that your focus is primarily GCC whereas mine is primarily Ada. However, even when I apply searches starting with GCC 13.1.0 (x86_64) etc, I don't come up with any of your informative sites, and that is the same whether I include MacOS or GNATStudio etc.within the search text. Your good work seems to be largely hidden to me.

So when I asked my last question concerning GNATCOLL installation, although I was aware of 'build notes' I obviously missed one or two key points because of my focus on 'installing' GNATCOLL. I had therefore not fully appreciated the actual makeup of GNATStudio/GCC package. Also, I have been using GNATStudio for quite some time within a Linux environment where I had activated two GNATCOLL components - Postgre and SQL - using Make and where the GNATCOLL package is (seemingly) quite separate to the GNATStudio package and there's no mention of GCC. It is pointless me going on with excuses, since it is clear that I have had the wrong end of the stick regarding my understanding of the work you've done to enable GNATStudio etc. on MacOS.

As an aside; As far as I can see from the AdaCore site there is little if any mention of Ada on MacOS. I feel that given the fact that you've created a valid working system for MacOS, they should be promoting its existence. Wold you mind if I suggested to AdaCore something along those lines? AdaCore seems to be quite happy to arrange promotional stories to be told - which could be one way of promoting your work to a wider audience.

Regards.

Clive.

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

On 4 Feb 2024, at 7:42 am, Simon Wright @.***> wrote:

Clive,

I transferred this issue here because it seems to be about building rather than distributing.

I’m not sure why you’re trying to rebuild GNATCOLL? since the 13.1.0 package I pointed you to already includes most of it (but only the SQLite parts of the database section). The idea is that my distribution contains a consistent set of packages, see the build notes https://github.com/simonjwright/building-gcc-macos-native/releases/tag/gcc-13.1.0-x86_64.

If you need to build other parts of gnatcoll-db using your installed compiler, you should

edit common.sh so that VERSION and PREFIX match your current installation; or export those variables into your environment modify gnatcoll-db.sh to do the extra builds use gnatcoll-db.sh, and not the Makefile (you don’t want to rebuild the compiler and all the other tools!) When you get that lot to work, the new software will be included under /opt/gcc-13.1.0.

— Reply to this email directly, view it on GitHub https://github.com/simonjwright/building-gcc-macos-native/issues/7#issuecomment-1925450707, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFW2YVI7POD3MTQFPZPOBTYR2OM3AVCNFSM6AAAAABCYIPVAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVGQ2TANZQG4. You are receiving this because you were mentioned.

simonjwright commented 10 months ago

What you get from Google is user-dependent. If I search for "gcc-13.1.0 macos" it ends up at a very reasonable site! - OK, it’s 13.2.0, but not a million miles away.

My interest is Ada, but (in the open-source world) that means GCC.

I have no connection with Gnatstudio, that’s Blady.

SoftImp commented 10 months ago

Simon,

Of course! You are right.

BTW, my interest in Ada goes back to the mid-80's when Ada compilers when popping up all over the place - none of which were free in any form.

There were one or two self-compiled compilers and they (in fact) were the best of the bunch - thinking TeleSoft and Alsys. The Ada compilers that were written in 'C' were generally rubbish - thinking Verdix and York.

At that time it seemed that every compiler had it's own (sometimes peculiar) intermediate language which were largely unpublished - even to the purchaser and even though the typical pricing was over order of $10K+.

At that time even 'C' compilers varied quite a bit, but they were generally cheaper and became free with the advent of the GNU project circa 1987. By the early 90's, myself and a colleague (president and vice president of the Ada Society Australian, respectively) began to promote the idea of using 'C' as the intermediate language. Planning was as far as we went because we couldn't raise the money to really get started. However, both of us remained strong Ada devotees. Both of us were also very interested in developing IDEs for Ada. Hence my interest and usage of GNATStudio.

I'm not sure, but I think I may have met you some time - but can't remember where or when. In 1988 did spend 6 months in CWBRAN as an employee of Ferranti Systems working at their advanced software facility where I got to use the Rational Ada System (including software and hardware). While there I also attend Ada'88 Conference in York.

Regards.

Clive.

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

On 4 Feb 2024, at 11:38 pm, Simon Wright @.***> wrote:

What you get from Google is user-dependent. If I search for "gcc-13.1.0 macos" it ends up at a very reasonable site https://github.com/simonjwright/distributing-gcc/releases! - OK, it’s 13.2.0, but not a million miles away.

My interest is Ada, but (in the open-source world) that means GCC.

I have no connection with Gnatstudio https://sourceforge.net/projects/gnuada/files/GNAT_GPL%20Mac%20OS%20X/2023-ventura/, that’s Blady.

— Reply to this email directly, view it on GitHub https://github.com/simonjwright/building-gcc-macos-native/issues/7#issuecomment-1925734871, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFW2YVEZTOLBJZODDSSWU3YR56LLAVCNFSM6AAAAABCYIPVAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVG4ZTIOBXGE. You are receiving this because you were mentioned.

simonjwright commented 9 months ago

On 4 Feb 2024, at 22:57, CVB @.***> wrote:

I'm not sure, but I think I may have met you some time - but can't remember where or when. In 1988 did spend 6 months in CWBRAN as an employee of Ferranti Systems working at their advanced software facility where I got to use the Rational Ada System (including software and hardware). While there I also attend Ada'88 Conference in York.

Entirely possible! I was based at Portsmouth at the time, with not-infrequent visits to Cwmbran (probably MASCOT, or maybe the WSA423 project). But I was certainly at York for Ada 88.

I used the R1000 via landline from Portsmouth, but I think that was a bit later.

SoftImp commented 8 months ago

Simon,

It's been a while since you sent me the email below. Unfortunately I became tied up with a lot of testing and code reviewing over this last month or so, and so didn't get around to trying out your instructions. However, I'm a little freer now and would really like to finish off the job of not only installing the GNATstudio but also enable access to the postgres and sql components of GNATColl. Obviously, I'm writing to you because I have made attempts to achieve my aim, but so far have failed.

Where am I?

1 - I've installed GCC-13.1.0, made all the necessary changes to the info.plist file to enable GNATStudio to run. Activated GNATStudio and run a couple of tests. 2 - I've edited gnatcoll-db.sh as you've suggested. Merely replaced 'sqllite' with 'postgres' - hope that's OK. Perhaps I should add postgres and leave sqlite in the system? 3 - Started to edit common.sh but I am unsure of what to make 'TOP' and confused about $TOP/src. I cannot find any /src directory with any relevant subdirectory. Should /src be replaced by /buillding-gcc-macos-native-gcc-13.1.0-x86_64?

Resolving 3 above is one thing, but after doing so can I enact the additions to the gnatcoll-db component by merely running something like source ~/gnatcoll-db.sh?

Regards.

Clive.

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

On 4 Feb 2024, at 7:42 am, Simon Wright @.***> wrote:

Clive,

I transferred this issue here because it seems to be about building rather than distributing.

I’m not sure why you’re trying to rebuild GNATCOLL? since the 13.1.0 package I pointed you to already includes most of it (but only the SQLite parts of the database section). The idea is that my distribution contains a consistent set of packages, see the build notes https://github.com/simonjwright/building-gcc-macos-native/releases/tag/gcc-13.1.0-x86_64.

If you need to build other parts of gnatcoll-db using your installed compiler, you should

edit common.sh so that VERSION and PREFIX match your current installation; or export those variables into your environment modify gnatcoll-db.sh to do the extra builds use gnatcoll-db.sh, and not the Makefile (you don’t want to rebuild the compiler and all the other tools!) When you get that lot to work, the new software will be included under /opt/gcc-13.1.0.

— Reply to this email directly, view it on GitHub https://github.com/simonjwright/building-gcc-macos-native/issues/7#issuecomment-1925450707, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFW2YVI7POD3MTQFPZPOBTYR2OM3AVCNFSM6AAAAABCYIPVAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVGQ2TANZQG4. You are receiving this because you were mentioned.

SoftImp commented 8 months ago

Simon,

I am confused!

I mentioned in my earlier email that I had managed (with your input) to get GNATSTUDIO going after installing GCC-13.1.0. However, it seems that I may not have completed the necessary work to get in order to obtain access to GNATCOLL stuff - simply because any WITH statements concerning GNATCOLL (including SQLITE) indicate that certain files (such as gnatcoll.ads) are not found.

I had had the impression from our previous communications that the SQLITE stuff was installed as part of "building-macos-native-gcc-3.1.0-x86_64.sh". Am I wrong?

Looking at the various ".sh" scripts within the above mentioned shell, it seems that I should probably run these (again?) to see that the default SQLITE stuff gets installed.

However, it is at this point that I become confused, andmuch of my confusion centres on the "TOP" statement within common.sh. When I first opened common.sh I found this statement: "TOP=/Volumes/Miscellaneous3". Whereupon, I took "VOLUMES" to possess the usual MacOS meaning. Of course there was no "MISCELLANEOUS" volume when I checked.
Before I moved on from that insight I noted that later in common.sh there is a statement "SRC_PATH=$TOP/src" and on the line immediately following there is a statement GCC_SRC=$SRC_PATH/gcc-VERSION, all of which suggests there is a directory /Volumes/Miscellaneous3/src/gcc-13.1.0. What? There's no such directory on my system. Mind you, I didn't expect one. So what should I be substituting for /Volumes/Miscellaneous3/?

I'm not making much sense of the reference to ~/gcc-src/package-src within the README file for "building-gcc-macos-native" - except that it may be missing from what I've downloaded or I'm not pointing to the right URL? I've looked at the GCC mirror site and found the file "contrib/download-prerequisities", suggesting that perhaps I should be pointing to the GCC Tree. Is that right?

Please forgive my pedantry, but I feel that I'm missing a key piece of information, which to most may be obvious, but to me is not because I'm having to make, or indeed I've already made, assumptions/deductions that may well be wrong!

Could you please set me straight.

Regards.

Clive.

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

On 4 Feb 2024, at 7:42 am, Simon Wright @.***> wrote:

Clive,

I transferred this issue here because it seems to be about building rather than distributing.

I’m not sure why you’re trying to rebuild GNATCOLL? since the 13.1.0 package I pointed you to already includes most of it (but only the SQLite parts of the database section). The idea is that my distribution contains a consistent set of packages, see the build notes https://github.com/simonjwright/building-gcc-macos-native/releases/tag/gcc-13.1.0-x86_64.

If you need to build other parts of gnatcoll-db using your installed compiler, you should

edit common.sh so that VERSION and PREFIX match your current installation; or export those variables into your environment modify gnatcoll-db.sh to do the extra builds use gnatcoll-db.sh, and not the Makefile (you don’t want to rebuild the compiler and all the other tools!) When you get that lot to work, the new software will be included under /opt/gcc-13.1.0.

— Reply to this email directly, view it on GitHub https://github.com/simonjwright/building-gcc-macos-native/issues/7#issuecomment-1925450707, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFW2YVI7POD3MTQFPZPOBTYR2OM3AVCNFSM6AAAAABCYIPVAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVGQ2TANZQG4. You are receiving this because you were mentioned.

simonjwright commented 8 months ago

Clive,

1 - I've installed GCC-13.1.0, made all the necessary changes to the info.plist file to enable GNATStudio to run. Activated GNATStudio and run a couple of tests.

If it’s my GCC, it’ll include a full suite, including SQLite.

2 - I've edited gnatcoll-db.sh as you've suggested. Merely replaced 'sqllite' with 'postgres' - hope that's OK. Perhaps I should add postgres and leave sqlite in the system?

You will of course have downloaded the gnatcoll-db software from here https://github.com/AdaCore/gnatcoll-db (in Releases might be best) and looked at the READMEin the postgres directory. Since you’ll already have the SQLite part of gnatcoll-db, you’re probably best changing the 'components' variable in gnatcoll-db.sh to just "postgres". This should leave the SQLite stuff still workable (I expect, never tried myself).

3 - Started to edit common.sh but I am unsure of what to make 'TOP' and confused about $TOP/src. I cannot find any /src directory with any relevant subdirectory. Should /src be replaced by /buillding-gcc-macos-native-gcc-13.1.0-x86_64?

I’ve updated common.sh to contain a lot more explanation. I hope that’ll help. [I don’t know where you got "/buillding-gcc-macos-native-gcc-13.1.0-x86_64" from?]

Resolving 3 above is one thing, but after doing so can I enact the additions to the gnatcoll-db component by merely running something like source ~/gnatcoll-db.sh?

I would think so. But please don’t build in building-gcc-macos-native/! Use a different, maybe parallel, directory.

—S

SoftImp commented 8 months ago

Simon,

Thanks again for the inputs. Just a quick response before I dive in again later today.

Obviously I didn't explain things fully (either): The directory buillding-gcc-macos-native-gcc-13.1.0-x86_64 is really just a copy of your directory buillding-gcc-macos-native.

-- CVB

Dr Clive Boughton

Software Improvements GPO Box 1928 Canberra ACT 2601 Australia

Street address: 97 Bankers Road, NSW 2621 Australia

Mobile Phone: +61 (0)410 632 055 Telephone: +61 (0)2 6230 3195

On 22 Mar 2024, at 9:06 am, Simon Wright @.***> wrote:

Clive,

1 - I've installed GCC-13.1.0, made all the necessary changes to the info.plist file to enable GNATStudio to run. Activated GNATStudio and run a couple of tests.

If it’s my GCC, it’ll include a full suite, including SQLite.

2 - I've edited gnatcoll-db.sh as you've suggested. Merely replaced 'sqllite' with 'postgres' - hope that's OK. Perhaps I should add postgres and leave sqlite in the system?

You will of course have downloaded the gnatcoll-db software from here https://github.com/AdaCore/gnatcoll-db (in Releases might be best) and looked at the READMEin the postgres directory. Since you’ll already have the SQLite part of gnatcoll-db, you’re probably best changing the 'components' variable in gnatcoll-db.sh to just "postgres". This should leave the SQLite stuff still workable (I expect, never tried myself).

3 - Started to edit common.sh but I am unsure of what to make 'TOP' and confused about $TOP/src. I cannot find any /src directory with any relevant subdirectory. Should /src be replaced by /buillding-gcc-macos-native-gcc-13.1.0-x86_64?

I’ve updated common.sh to contain a lot more explanation. I hope that’ll help. [I don’t know where you got "/buillding-gcc-macos-native-gcc-13.1.0-x86_64" from?]

Resolving 3 above is one thing, but after doing so can I enact the additions to the gnatcoll-db component by merely running something like source ~/gnatcoll-db.sh?

I would think so. But please don’t build in building-gcc-macos-native/! Use a different, maybe parallel, directory.

—S — Reply to this email directly, view it on GitHub https://github.com/simonjwright/building-gcc-macos-native/issues/7#issuecomment-2013913790, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFW2YT3RLKSMAOVFWZIA5TYZNKVNAVCNFSM6AAAAABCYIPVAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJTHEYTGNZZGA. You are receiving this because you were mentioned.