* Ada-3.1.1 Makefile Madness @ 2002-08-08 8:09 Michael S. Zick 2002-08-08 12:11 ` Florian Weimer 0 siblings, 1 reply; 7+ messages in thread From: Michael S. Zick @ 2002-08-08 8:09 UTC (permalink / raw) To: gcc Hi folks... I seem to have a makefile problem here while bootstraping gcc-3.1.1<c,ada>. While following the <release>/INSTALL#build.html instructions for building a native Ada... When I reach the "make gnatlib_and_tools" step from within <release>/gcc-bld/gcc... The archive building fails. Descending into <release>/gcc-bld/gcc/ada and trying "make gnatlib" allowed me to capture the attached text which seems to indicate what is going wrong... The "ar...." command expects the objects (except for "prefix.o") to be in the <release>/gcc-bld/gcc/ada/rts directory. The two prior calls to "make" found SOME of them in <release>/gcc-bld/gcc/ada but didn't build, move or link them into <release>/gcc-bld/ada/rts. To continue my build, I hand "cp -p 'd" the missing *.o's into rts and everything else seemed to work. Would it be possible to get a "Makefile" generated in <release>/gcc-bld/ada/rts that understands how to go from ../*.ads -> *.o and also use mt-frag and mh-frag as appropriate? The existing makefile (Makefile.adalib) in "rts" will build the *.o's in that directory but complains about the missing archives (which are yet to be built). I have made a few other comments in the attached "cut and paste" of the build output text attached. Mike Attachment: ada-3.1.1-fail.txt Description: Make output text ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-08 8:09 Ada-3.1.1 Makefile Madness Michael S. Zick @ 2002-08-08 12:11 ` Florian Weimer 2002-08-08 16:17 ` Michael S. Zick 0 siblings, 1 reply; 7+ messages in thread From: Florian Weimer @ 2002-08-08 12:11 UTC (permalink / raw) To: Michael S. Zick; +Cc: gcc Michael S. Zick <mszick@goquest.com> writes: > When I reach the "make gnatlib_and_tools" step from within > <release>/gcc-bld/gcc... Your build directory is inside the source directory tree. Maybe that's causing the problems you are seeing. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-08 12:11 ` Florian Weimer @ 2002-08-08 16:17 ` Michael S. Zick 2002-08-09 0:11 ` Andris Pavenis 0 siblings, 1 reply; 7+ messages in thread From: Michael S. Zick @ 2002-08-08 16:17 UTC (permalink / raw) To: Florian Weimer; +Cc: gcc On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote: > Michael S. Zick <mszick@goquest.com> writes: > > When I reach the "make gnatlib_and_tools" step from within > > <release>/gcc-bld/gcc... > > Your build directory is inside the source directory tree. Maybe > that's causing the problems you are seeing. Could well be the problem. The instructions do say: "...where objdir is a subdirectory of srcdir ... unsupported..." BUT - that I was able to get to work with a little file copying. The organization: <something>/<release>/gcc .... with building in: <something>/<bld-gcc>/ .... is a total loser on my machine. The instructions do say: "... some broken make's ... where srcdir is seperate from objdir ... fail". (No shit!) So, Question: "What is the minimum REQUIRED version of gnu-make to successfully build gcc-3.1.1<c, ada>? (Note the "Ada"). Mike ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-08 16:17 ` Michael S. Zick @ 2002-08-09 0:11 ` Andris Pavenis 2002-08-09 6:35 ` Michael S. Zick 0 siblings, 1 reply; 7+ messages in thread From: Andris Pavenis @ 2002-08-09 0:11 UTC (permalink / raw) To: Michael S. Zick; +Cc: gcc On Friday 09 August 2002 02:07, Michael S. Zick wrote: > On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote: > > Michael S. Zick <mszick@goquest.com> writes: > > > When I reach the "make gnatlib_and_tools" step from within > > > <release>/gcc-bld/gcc... > > > > Your build directory is inside the source directory tree. Maybe > > that's causing the problems you are seeing. > > Could well be the problem. > The instructions do say: "...where objdir is a subdirectory of srcdir ... > unsupported..." It didn't work also for me (target i586-pc-msdosdjgpp). Moving build directory out of source directory and specifying absolute path to sources worked > > BUT - that I was able to get to work with a little file copying. > > The organization: <something>/<release>/gcc .... with building in: > <something>/<bld-gcc>/ .... is a total loser on my machine. > > The instructions do say: "... some broken make's ... where srcdir is > seperate from objdir ... fail". (No shit!) > > So, Question: "What is the minimum REQUIRED version of gnu-make to > successfully build gcc-3.1.1<c, ada>? (Note the "Ada"). make-3.79.1 worked OK for me. Andris ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-09 0:11 ` Andris Pavenis @ 2002-08-09 6:35 ` Michael S. Zick 2002-08-09 10:00 ` Michael S. Zick 0 siblings, 1 reply; 7+ messages in thread From: Michael S. Zick @ 2002-08-09 6:35 UTC (permalink / raw) To: Andris Pavenis; +Cc: gcc On Friday 09 August 2002 02:09 am, Andris Pavenis wrote: > On Friday 09 August 2002 02:07, Michael S. Zick wrote: > > On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote: > > > Michael S. Zick <mszick@goquest.com> writes: > > > > When I reach the "make gnatlib_and_tools" step from within > > > > <release>/gcc-bld/gcc... > > > > > > Your build directory is inside the source directory tree. Maybe > > > that's causing the problems you are seeing. > > > > Could well be the problem. > > The instructions do say: "...where objdir is a subdirectory of srcdir ... > > unsupported..." > > It didn't work also for me (target i586-pc-msdosdjgpp). Moving build > directory out of source directory and specifying absolute path to sources > worked On host: i686-pc-linux-gnu (Redhat 7.1 installation style), where original software exists in: /usr/bin... & /usr/lib... Using gnat-3.13p-8 (complete, rpm, binary, install) from www.gnuada.org which also installs in /usr/bin & /usr/lib... Ensuring that /usr/bin is first entry in $PATH and specifying: export CC=/usr/bin/gnatgcc Almost works... If (or when) bootstrap exits with an "ensure you are using a compatiable gcc/gnatbind" message... Specify: export GNATBIND=/usr/bin/gnatbind Once an initial gcc-3.1.1<ada,c> is built and installed in: <somewhere>/bin & <somewhere>/lib... Specify: export CC=<somewhere>/gcc export GNATBIND=<somewhere>/gnatbind To also get the tools (components) used by the Makefile:bootstrap that don't have a variable to hold the current absolute path... Specify: export PATH=<somewhere>:$PATH At which point things get a little iffy during the initial stage of building for the stage1 compiler and tools. The Makefiles hardcode: "../xgcc -B../" used AFTER the building of the stage1 compiler and tools... My mind "vapor locks" whenever I try to read these Makefiles - So if a Makefile expert could comment on the following: 1) Do away with the use of "GNATBIND" - it only handles "gnatbind" not the other gnat tools. 2) Provide ability to specify the absolute paths used during the initial building of the stage1 compiler and tools, perhaps like: export INITIAL_ADA_PATH=<somewhere> During initial build for stage1 would give: ADAC=$(INITIAL_ADA_PATH)/$(compiler_that_understands_Ada) and: $(INITIAL_ADA_PATH)/gnatbind and: $(INITIAL_ADA_PATH)/<any_other_Ada_tools_used> I am using binutils-2.13 installed <somewhere>/bin & <somewhere>/lib I am using the configure options to specify "as" and "ld" to be the <somewhere>/bin/as & <somewhere>/bin/ld BUT, like the problem of not getting matching Ada tools above... 3) Provide ability to specify the absolute paths used during the initial building of the stage1 compiler and tools, perhaps like: export INITIAL_BTOOLS_PATH=<somewhere>/bin During initial build for stage1 (and other stages if not building new binutils in a composite tree), all the non-Ada tools (ar, nm, etc.) would be: $(INITIAL_BTOOLS_PATH)/nm $(INITIAL_BTOOLS_PATH)/ar $(INITIAL_BTOOLS_PATH)/<whatever> Note: this could also replace the "--with-as= & --with-ld=" configure options. If building in a composite tree (I am not) - then once the stage1 build is complete, those things would become: $(OUR_NEW_BTOOLS_PATH)/nm $(OUR_NEW_BTOOLS_PATH)/as $(OUR_NEW_BTOOLS_PATH)/<whatever> Of course, all of the above suggestions would have to account for: HOST_SYSTEM, TARGET_SYSTEM, and BUILD_SYSTEM when not building a native compilier / toolset. Groan. > > > BUT - that I was able to get to work with a little file copying. > > > > The organization: <something>/<release>/gcc .... with building in: > > <something>/<bld-gcc>/ .... is a total loser on my machine. > > > > The instructions do say: "... some broken make's ... where srcdir is > > seperate from objdir ... fail". (No shit!) I have repeated the bootstrap with the build directory totally seperate from the source directory - Once I finish groking this 30MB log file produced by "make -d -p bootstrap" I may have more information. > > > > So, Question: "What is the minimum REQUIRED version of gnu-make to > > successfully build gcc-3.1.1<c, ada>? (Note the "Ada"). > > make-3.79.1 worked OK for me. Humm. I am using make-3.79.1-5 (Redhat-5) there is a make-3.79.1-8 (Redhat-8), I'll try that also. Mike > > Andris ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-09 6:35 ` Michael S. Zick @ 2002-08-09 10:00 ` Michael S. Zick 2002-08-09 14:33 ` Michael S. Zick 0 siblings, 1 reply; 7+ messages in thread From: Michael S. Zick @ 2002-08-09 10:00 UTC (permalink / raw) To: gcc On Friday 09 August 2002 08:25 am, Michael S. Zick wrote: > On Friday 09 August 2002 02:09 am, Andris Pavenis wrote: > > On Friday 09 August 2002 02:07, Michael S. Zick wrote: > > > On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote: > Michael S. Zick <mszick@goquest.com> writes: > > I have repeated the bootstrap with the build directory totally seperate > from the source directory - Once I finish groking this 30MB log file > produced by "make -d -p bootstrap" I may have more information. > In follow-up: The directories: <somewhere>/gcc-bld/gcc/stage1 <somewhere>/gcc-bld/gcc/stage2 <somewhere>/gcc-bld/gcc/ada/stage1 <somewhere>/gcc-bld/gcc/ada/stage2 are present. There is NOT a directory: <somewhere>/gcc-bld/gcc/stage3 The directory links: <somewhere>/gcc-bld/gcc/ada/stage3 <somewhere>/gcc-bld/gcc/ada/stage4 point nowhere. The following is what appears to be the key 46 lines from my 499,751 line log file: - - - - a really big SNIP - - - - # Finished Make data base on Thu Aug 8 23:33:46 2002 # make[2]: Leaving directory `/home/mszick/SRC/bld-gcc/gcc' Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080b8bf0 PID 26761 echo timestamp > stage3_build Child access: user 500 (real 500), group 500 (real 500) Live child 0x080b8bf0 (stage3_build) PID 29231 Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080b8bf0 PID 29231 echo stage3_build > stage_last Child access: user 500 (real 500), group 500 (real 500) Live child 0x080b8bf0 (stage3_build) PID 29232 Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080b8bf0 PID 29232 Removing child 0x080b8bf0 PID 29232 from chain. Successfully remade target file `stage3_build'. Finished prerequisites of target file `bootstrap'. Must remake target `bootstrap'. Child access: user 500 (real 500), group 500 (real 500) - - Sorry Folks, I didn't snip anything here... - - stage3:bootstrap just returns as complete Got a SIGCHLD; 2 unreaped children. Putting child 0x080d77e8 (bootstrap) PID 29233 on the chain. Live child 0x080d77e8 (bootstrap) PID 29233 Reaping winning child 0x080d77e8 PID 29233 Child access: user 500 (real 500), group 500 (real 500) Live child 0x080d77e8 (bootstrap) PID 29234 Bootstrap complete - make "quickstrap" to redo last build, Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080d77e8 PID 29234 Child access: user 500 (real 500), group 500 (real 500) Live child 0x080d77e8 (bootstrap) PID 29235 "restage1" through "restage3" to rebuild specific stages, Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080d77e8 PID 29235 Child access: user 500 (real 500), group 500 (real 500) Live child 0x080d77e8 (bootstrap) PID 29236 or "cleanstrap" to redo the bootstrap from scratch. Got a SIGCHLD; 1 unreaped children. Reaping winning child 0x080d77e8 PID 29236 Removing child 0x080d77e8 PID 29236 from chain. Successfully remade target file `bootstrap'. # Make data base, printed on Thu Aug 8 23:33:46 2002 - - - - end snip - - - - Note the "Bootstrap complete" message above, even though "make stage3:bootstrap" only returned. Mike ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ada-3.1.1 Makefile Madness 2002-08-09 10:00 ` Michael S. Zick @ 2002-08-09 14:33 ` Michael S. Zick 0 siblings, 0 replies; 7+ messages in thread From: Michael S. Zick @ 2002-08-09 14:33 UTC (permalink / raw) To: gcc On Friday 09 August 2002 11:49 am, Michael S. Zick wrote: > On Friday 09 August 2002 08:25 am, Michael S. Zick wrote: > > On Friday 09 August 2002 02:09 am, Andris Pavenis wrote: > > > On Friday 09 August 2002 02:07, Michael S. Zick wrote: > > > > On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote: > > > > Michael S. Zick <mszick@goquest.com> writes: > > > > I have repeated the bootstrap with the build directory totally seperate > > from the source directory - Once I finish groking this 30MB log file > > produced by "make -d -p bootstrap" I may have more information. > > In follow-up: > > Note the "Bootstrap complete" message above, even though "make > stage3:bootstrap" only returned. > </End-Panic> I have completed three, full bootstraps (each using the generated compiler and tools) now. Think of it as a 9-Stage bootstrap. Four of the Ada tools varied by a few bytes during the second build; gnat, gnatfind, and gnatkr - each by 32 bytes; gnatprep by 64 bytes. The second and third builds are identical in all filesizes. I have diff'd all three build logs ("make -d -p ...") and found only the expected differences (times, pids, etc). Conclusions: 1) Massive "Cockpit Error" at my keyboard. 2) The makefile's are doing the build as intended, although not quite in the way described. I will post a standard completion report RSN, with some tips to other "first timers" in the body. I will work on revising those files in <release>/INSTALL to perhaps make the instructions a little more clear and consistant. Thanks for everybody's time on the list. Mike ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-08-09 14:33 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-08-08 8:09 Ada-3.1.1 Makefile Madness Michael S. Zick 2002-08-08 12:11 ` Florian Weimer 2002-08-08 16:17 ` Michael S. Zick 2002-08-09 0:11 ` Andris Pavenis 2002-08-09 6:35 ` Michael S. Zick 2002-08-09 10:00 ` Michael S. Zick 2002-08-09 14:33 ` Michael S. Zick
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).