Re: Exhaustive Instructions for Toolchain Generation
On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely wrote: > On 27 September 2017 at 05:49, R0b0t1 wrote: >> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely >> wrote: >>> On 26 September 2017 at 22:05, R0b0t1 wrote: Hello, I am having problems understanding the build instructions for GCC. I can almost always produce toolchains which function but I can find programs or scripts which do more or less the same thing that produce nonfunctional toolchains or which abort at some stage of compilation. (To clarify: I have no problem compiling the project, but I need help knowing all options which must be configured.) >>> >>> What does "knowing all options which must be configured" mean? >>> >>> Must be configured for what? >>> >> >> For a working, "self contained" toolchain (no dependencies outside of >> some directory). I'm sorry I can't be more specific, that is part of >> the problem. >> >> It is possible I am aware of all steps that anyone else is aware of. >> If that is the case perhaps I am experiencing bugs or configuration >> issues. >> This is related to my questions about generating an arm-none-eabi toolchain, however I also wish to build targets for x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, powerpc64le-unknown-linux-gnu, etc. Broadly, I have the following questions: 1) What is the complete list of dependencies for a GCC based toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, expat, binutils, gcc, glibc, and gdb. >>> >>> https://gcc.gnu.org/install/prerequisites.html should be clear. >>> >>> isl is optional, it's not required. expat is not needed. zlib is not >>> needed, because the source for it is included in the GCC tree. >>> >> >> Thank you, this explains some earlier confusion I had about there >> being no --with-zlib switch, but I still wonder why it is not present >> (c.f. gmp, mpfr, etc.). >> >> I am still left with the question of how to link GCC with a >> nonstandard libc. Instructions for doing this with miscellaneous >> programs are available,[1] but it does not seem like there is any way >> to do it via configure. > > Build it with a compiler that uses the libc you want to use. > > >> Are you (or anyone else) able to make a recommendation? >> >> I have tried to refer to each project's documentation and the Linux >> From Scratch documentation, but they do not seem to plan for precisely >> what I am doing. > > You haven't explained what you're doing. You're being very vague, so > it's not clear what you're trying to do. > For completeness - I am attempting a more comprehensive version of what is detailed at https://wiki.gentoo.org/wiki/Prefix/libc. >> E.g. I would like to compile most non-system programs against >> non-system libraries and run them as my user. I can do this and don't >> mean to ask general questions on this list. However, the main problem >> existing solutions have is that do not seem to configure GCC properly. > > Define "properly". > >>> 2) How do I specify each of the above to be reliant on the versions of other programs that it may depend on being used for the toolchain? Ideally these toolchains would not use system libraries if CHOST is the same as BHOST. 3) Are there any architecture specific options for any of the possible targets? >>> >>> Read the docs. >>> https://gcc.gnu.org/install/specific.html >> >> I did not know this page existed, > > It's linked to from the start of https://gcc.gnu.org/install/ which is > linked to from https://gcc.gnu.org/ so you don't seem to have looked > very far. > >> but it seems more like errata. It >> doesn't give helpful pointers as to configuration you may need to >> accomplish X. It may be that what I am looking for does not exist, >> which I expected may be the case. > > It would depend what X is. I don't see how anyone can help you with > this vagueness. > > >> Thank you, >> R0b0t1 >> >> >> [1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html
Re: Exhaustive Instructions for Toolchain Generation
On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely wrote: > On 27 September 2017 at 05:49, R0b0t1 wrote: >> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely >> wrote: >>> On 26 September 2017 at 22:05, R0b0t1 wrote: Hello, I am having problems understanding the build instructions for GCC. I can almost always produce toolchains which function but I can find programs or scripts which do more or less the same thing that produce nonfunctional toolchains or which abort at some stage of compilation. (To clarify: I have no problem compiling the project, but I need help knowing all options which must be configured.) >>> >>> What does "knowing all options which must be configured" mean? >>> >>> Must be configured for what? >>> >> >> For a working, "self contained" toolchain (no dependencies outside of >> some directory). I'm sorry I can't be more specific, that is part of >> the problem. >> >> It is possible I am aware of all steps that anyone else is aware of. >> If that is the case perhaps I am experiencing bugs or configuration >> issues. >> This is related to my questions about generating an arm-none-eabi toolchain, however I also wish to build targets for x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, powerpc64le-unknown-linux-gnu, etc. Broadly, I have the following questions: 1) What is the complete list of dependencies for a GCC based toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, expat, binutils, gcc, glibc, and gdb. >>> >>> https://gcc.gnu.org/install/prerequisites.html should be clear. >>> >>> isl is optional, it's not required. expat is not needed. zlib is not >>> needed, because the source for it is included in the GCC tree. >>> >> >> Thank you, this explains some earlier confusion I had about there >> being no --with-zlib switch, but I still wonder why it is not present >> (c.f. gmp, mpfr, etc.). >> >> I am still left with the question of how to link GCC with a >> nonstandard libc. Instructions for doing this with miscellaneous >> programs are available,[1] but it does not seem like there is any way >> to do it via configure. > > Build it with a compiler that uses the libc you want to use. > It looks like the circle is broken with the --sysroot option. I may also need --with-local-prefix and --with-native-system-header-dir. I apologize for not finding the proper documentation. I originally approached the problem from a different angle and became very confused. As my messages to this list indicate, I am not very intelligent. Keeping my mouth closed serves me well. Respectfully, R0b0t1 > >> Are you (or anyone else) able to make a recommendation? >> >> I have tried to refer to each project's documentation and the Linux >> From Scratch documentation, but they do not seem to plan for precisely >> what I am doing. > > You haven't explained what you're doing. You're being very vague, so > it's not clear what you're trying to do. > >> E.g. I would like to compile most non-system programs against >> non-system libraries and run them as my user. I can do this and don't >> mean to ask general questions on this list. However, the main problem >> existing solutions have is that do not seem to configure GCC properly. > > Define "properly". > >>> 2) How do I specify each of the above to be reliant on the versions of other programs that it may depend on being used for the toolchain? Ideally these toolchains would not use system libraries if CHOST is the same as BHOST. 3) Are there any architecture specific options for any of the possible targets? >>> >>> Read the docs. >>> https://gcc.gnu.org/install/specific.html >> >> I did not know this page existed, > > It's linked to from the start of https://gcc.gnu.org/install/ which is > linked to from https://gcc.gnu.org/ so you don't seem to have looked > very far. > >> but it seems more like errata. It >> doesn't give helpful pointers as to configuration you may need to >> accomplish X. It may be that what I am looking for does not exist, >> which I expected may be the case. > > It would depend what X is. I don't see how anyone can help you with > this vagueness. > > >> Thank you, >> R0b0t1 >> >> >> [1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html
Re: Exhaustive Instructions for Toolchain Generation
On 27 September 2017 at 05:49, R0b0t1 wrote: > On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely > wrote: >> On 26 September 2017 at 22:05, R0b0t1 wrote: >>> Hello, >>> >>> I am having problems understanding the build instructions for GCC. I >>> can almost always produce toolchains which function but I can find >>> programs or scripts which do more or less the same thing that produce >>> nonfunctional toolchains or which abort at some stage of compilation. >>> (To clarify: I have no problem compiling the project, but I need help >>> knowing all options which must be configured.) >> >> What does "knowing all options which must be configured" mean? >> >> Must be configured for what? >> > > For a working, "self contained" toolchain (no dependencies outside of > some directory). I'm sorry I can't be more specific, that is part of > the problem. > > It is possible I am aware of all steps that anyone else is aware of. > If that is the case perhaps I am experiencing bugs or configuration > issues. > >>> This is related to my questions about generating an arm-none-eabi >>> toolchain, however I also wish to build targets for >>> x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, >>> powerpc64le-unknown-linux-gnu, etc. >>> >>> Broadly, I have the following questions: >>> >>> 1) What is the complete list of dependencies for a GCC based >>> toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, >>> expat, binutils, gcc, glibc, and gdb. >> >> https://gcc.gnu.org/install/prerequisites.html should be clear. >> >> isl is optional, it's not required. expat is not needed. zlib is not >> needed, because the source for it is included in the GCC tree. >> > > Thank you, this explains some earlier confusion I had about there > being no --with-zlib switch, but I still wonder why it is not present > (c.f. gmp, mpfr, etc.). > > I am still left with the question of how to link GCC with a > nonstandard libc. Instructions for doing this with miscellaneous > programs are available,[1] but it does not seem like there is any way > to do it via configure. Build it with a compiler that uses the libc you want to use. > Are you (or anyone else) able to make a recommendation? > > I have tried to refer to each project's documentation and the Linux > From Scratch documentation, but they do not seem to plan for precisely > what I am doing. You haven't explained what you're doing. You're being very vague, so it's not clear what you're trying to do. > E.g. I would like to compile most non-system programs against > non-system libraries and run them as my user. I can do this and don't > mean to ask general questions on this list. However, the main problem > existing solutions have is that do not seem to configure GCC properly. Define "properly". >> >>> 2) How do I specify each of the above to be reliant on the versions of >>> other programs that it may depend on being used for the toolchain? >>> >>> Ideally these toolchains would not use system libraries if CHOST is >>> the same as BHOST. >>> >>> 3) Are there any architecture specific options for any of the possible >>> targets? >> >> Read the docs. >> https://gcc.gnu.org/install/specific.html > > I did not know this page existed, It's linked to from the start of https://gcc.gnu.org/install/ which is linked to from https://gcc.gnu.org/ so you don't seem to have looked very far. > but it seems more like errata. It > doesn't give helpful pointers as to configuration you may need to > accomplish X. It may be that what I am looking for does not exist, > which I expected may be the case. It would depend what X is. I don't see how anyone can help you with this vagueness. > Thank you, > R0b0t1 > > > [1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html
Re: Exhaustive Instructions for Toolchain Generation
On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely wrote: > On 26 September 2017 at 22:05, R0b0t1 wrote: >> Hello, >> >> I am having problems understanding the build instructions for GCC. I >> can almost always produce toolchains which function but I can find >> programs or scripts which do more or less the same thing that produce >> nonfunctional toolchains or which abort at some stage of compilation. >> (To clarify: I have no problem compiling the project, but I need help >> knowing all options which must be configured.) > > What does "knowing all options which must be configured" mean? > > Must be configured for what? > For a working, "self contained" toolchain (no dependencies outside of some directory). I'm sorry I can't be more specific, that is part of the problem. It is possible I am aware of all steps that anyone else is aware of. If that is the case perhaps I am experiencing bugs or configuration issues. >> This is related to my questions about generating an arm-none-eabi >> toolchain, however I also wish to build targets for >> x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, >> powerpc64le-unknown-linux-gnu, etc. >> >> Broadly, I have the following questions: >> >> 1) What is the complete list of dependencies for a GCC based >> toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, >> expat, binutils, gcc, glibc, and gdb. > > https://gcc.gnu.org/install/prerequisites.html should be clear. > > isl is optional, it's not required. expat is not needed. zlib is not > needed, because the source for it is included in the GCC tree. > Thank you, this explains some earlier confusion I had about there being no --with-zlib switch, but I still wonder why it is not present (c.f. gmp, mpfr, etc.). I am still left with the question of how to link GCC with a nonstandard libc. Instructions for doing this with miscellaneous programs are available,[1] but it does not seem like there is any way to do it via configure. Are you (or anyone else) able to make a recommendation? I have tried to refer to each project's documentation and the Linux >From Scratch documentation, but they do not seem to plan for precisely what I am doing. E.g. I would like to compile most non-system programs against non-system libraries and run them as my user. I can do this and don't mean to ask general questions on this list. However, the main problem existing solutions have is that do not seem to configure GCC properly. > >> 2) How do I specify each of the above to be reliant on the versions of >> other programs that it may depend on being used for the toolchain? >> >> Ideally these toolchains would not use system libraries if CHOST is >> the same as BHOST. >> >> 3) Are there any architecture specific options for any of the possible >> targets? > > Read the docs. > https://gcc.gnu.org/install/specific.html I did not know this page existed, but it seems more like errata. It doesn't give helpful pointers as to configuration you may need to accomplish X. It may be that what I am looking for does not exist, which I expected may be the case. Thank you, R0b0t1 [1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html
gcc-5-20170926 is now available
Snapshot gcc-5-20170926 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/5-20170926/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 5 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch revision 253217 You'll find: gcc-5-20170926.tar.xzComplete GCC SHA256=dfa5537341d7efb44f0ce0db93c95012d4d34c9a1fdbbc2f4ddde582cc85ece3 SHA1=101ba9525dedb95ee9ea5195f03da9c263c94488 Diffs from 5-20170919 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-5 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: Exhaustive Instructions for Toolchain Generation
On 26 September 2017 at 22:05, R0b0t1 wrote: > Hello, > > I am having problems understanding the build instructions for GCC. I > can almost always produce toolchains which function but I can find > programs or scripts which do more or less the same thing that produce > nonfunctional toolchains or which abort at some stage of compilation. > (To clarify: I have no problem compiling the project, but I need help > knowing all options which must be configured.) What does "knowing all options which must be configured" mean? Must be configured for what? > This is related to my questions about generating an arm-none-eabi > toolchain, however I also wish to build targets for > x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, > powerpc64le-unknown-linux-gnu, etc. > > Broadly, I have the following questions: > > 1) What is the complete list of dependencies for a GCC based > toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, > expat, binutils, gcc, glibc, and gdb. https://gcc.gnu.org/install/prerequisites.html should be clear. isl is optional, it's not required. expat is not needed. zlib is not needed, because the source for it is included in the GCC tree. > 2) How do I specify each of the above to be reliant on the versions of > other programs that it may depend on being used for the toolchain? > > Ideally these toolchains would not use system libraries if CHOST is > the same as BHOST. > > 3) Are there any architecture specific options for any of the possible > targets? Read the docs. https://gcc.gnu.org/install/specific.html
Exhaustive Instructions for Toolchain Generation
Hello, I am having problems understanding the build instructions for GCC. I can almost always produce toolchains which function but I can find programs or scripts which do more or less the same thing that produce nonfunctional toolchains or which abort at some stage of compilation. (To clarify: I have no problem compiling the project, but I need help knowing all options which must be configured.) This is related to my questions about generating an arm-none-eabi toolchain, however I also wish to build targets for x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu, powerpc64le-unknown-linux-gnu, etc. Broadly, I have the following questions: 1) What is the complete list of dependencies for a GCC based toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl, expat, binutils, gcc, glibc, and gdb. 2) How do I specify each of the above to be reliant on the versions of other programs that it may depend on being used for the toolchain? Ideally these toolchains would not use system libraries if CHOST is the same as BHOST. 3) Are there any architecture specific options for any of the possible targets? Is there anything else I should be aware of? Respectfully, R0b0t1
Re: GCC Buildbot
On 26/09/17 10:43, Martin Liška wrote: > On 09/25/2017 02:49 PM, Paulo Matos wrote: >> For benchmarks like Qt, blitz (as mentioned in the gcc testing page), we >> can plot the build time of the benchmark and resulting size when >> compiling for size. >> > > Please consider using LNT: > http://llvm.org/docs/lnt/ > > Usage: > http://lnt.llvm.org/ > > I've been investigating the tools and I know that ARM people use the tool: > https://gcc.gnu.org/wiki/cauldron2017#ARM-perf > Good suggestion. I was actually at the presentation. The reason I was going with influx+grafana was because I know the process and already use that internally --- the LNT configuration was unknown to me but you're right. It might be better in the long term. I will look at the documentation. Thanks. -- Paulo Matos
Re: GCC Buildbot
On 09/25/2017 02:49 PM, Paulo Matos wrote: > For benchmarks like Qt, blitz (as mentioned in the gcc testing page), we > can plot the build time of the benchmark and resulting size when > compiling for size. > Please consider using LNT: http://llvm.org/docs/lnt/ Usage: http://lnt.llvm.org/ I've been investigating the tools and I know that ARM people use the tool: https://gcc.gnu.org/wiki/cauldron2017#ARM-perf Martin