From: Douglas C. <tc...@se...> - 2006-04-02 11:20:04
|
Rolf Ebert wrote: > According to gcc PR24382 I provide the absolute path to ld when running > configure. > > ../gcc-4.1.0/configure --enable-languages=c,c++,ada --disable-nls > --disable-fixincludes --enable-threads=win32 --host=mingw32 > --build=mingw32 --target=mingw32 --with-ld=/mingw/bin/ld > --with-as=/mingw/bin/as > > Then I had to patch gcc/Makefile.in. If not, the gcc build cannot find > libiberty.a although I don't build in the source directory: > > around line 80 in gcc/Makefile.in > > # ifeq ($(host_subdir),.) > build_objdir := ../$(build_subdir) > # else > # build_objdir := ../../$(build_subdir) > # endif > > When building the Ada tools the make process cannot find the assembler (or > is it something else?) even though I provide also an absolute path to as. [...] > Has anybody seen this problem before? Any hints how to solve it? I have encountered a similar problem. Try providing complete paths in configure, something like: --with-ld=c:/mingw/bin/ld \ --with-as=c:/mingw/bin/as Doug |
From: Douglas C. <tc...@se...> - 2006-04-03 11:54:36
|
Rolf wrote: > At Sun, 02 Apr 2006 13:19:54 +0200 schrieb Douglas Cox = <tc...@se...>: >=20 > > Rolf Ebert wrote: > > > >> According to gcc PR24382 I provide the absolute path to ld when = running > >> configure. > >> > >> ../gcc-4.1.0/configure --enable-languages=3Dc,c++,ada --disable-nls > >> --disable-fixincludes --enable-threads=3Dwin32 --host=3Dmingw32 > >> --build=3Dmingw32 --target=3Dmingw32 --with-ld=3D/mingw/bin/ld > >> --with-as=3D/mingw/bin/as > >> >=20 > [...] >=20 > > I have encountered a similar problem. > > Try providing complete paths in configure, something like: > > > > --with-ld=3Dc:/mingw/bin/ld \ > > --with-as=3Dc:/mingw/bin/as >=20 > That's what I already do except the drive letter. Adding it does not =20 > change anything. Try providing the full path to the build directory (complete with drive letter) in the Makefile. That worked for me, I edited the Makefile and added "c:/msys/1.0/" to the path with a global search/replace. Doug=20 |
From: Rolf E. <rol...@gm...> - 2006-04-05 12:03:15
|
At Mon, 03 Apr 2006 13:54:25 +0200 schrieb Douglas Cox <tc...@se...>: >> > I have encountered a similar problem. >> > Try providing complete paths in configure, something like: >> > >> > --with-ld=c:/mingw/bin/ld \ >> > --with-as=c:/mingw/bin/as If I provide an absolute path to as, the make-process stops when building libgcc in stage1: make[3]: Entering directory `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' for d in libgcc; do \ if [ -d $d ]; then true; else /bin/sh ../../gcc-4.1.0/gcc/../mkinstalldirs $d; fi; \ done mkdir -p -- libgcc if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi ./xgcc -B./ -B/mingw/mingw32/bin/ -isystem /mingw/mingw32/include -isystem /mingw/mingw32/sys-include -L/d/Data/Development/gcc-cvs/build_4.1.0/gcc/../ld -O2 -I../../gcc-4.1.0/gcc/../winsup/w32api/include -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.1.0/gcc -I../../gcc-4.1.0/gcc/. -I../../gcc-4.1.0/gcc/../include -I../../gcc-4.1.0/gcc/../libcpp/include -DL_chkstk -xassembler-with-cpp -c ../../gcc-4.1.0/gcc/config/i386/cygwin.asm -o libgcc/./_chkstk.o .\as: d:/Data/Development/gcc-cvs/build_4.1.0/gcc/D:/mingw/bin/as: No such file or directory .\as: exec: d:/Data/Development/gcc-cvs/build_4.1.0/gcc/D:/mingw/bin/as: cannot execute: No such file or directory make[3]: *** [libgcc/./_chkstk.o] Error 1 make[3]: Leaving directory `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' make[2]: *** [libgcc.a] Error 2 make[2]: Leaving directory `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' make[1]: *** [stage1_build] Error 2 make[1]: Leaving directory `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' make: *** [bootstrap] Error 2 See the strange error message where the path to as is composed of the build directory + the absolute path provided by configure. This location does not exist, of course. If I don't specify --with-as to configure, the compilers (all) build well until stage3. Only when the stage3 compiler starts building the Ada run time system, it cannot find 'as' anymore (see my first message on this topic). > Try providing the full path to the build directory (complete with > drive letter) in the Makefile. Which Makefile and which path are you talking about. Do you mean to call configure with an absolute path? Do you mean editing the generated gcc/ada/Makefile, i.e. between running 'configure' and 'make bootstrap'. What should I change in that Makefile? > That worked for me, I edited the Makefile and added "c:/msys/1.0/" to > the path with a global search/replace. I added D:\msys\1.0\bin to my PATH to no avail (I wondered how that might help given that /mingw/bin is already in my PATH) > Doug Thanks for all the tips! I shall try building gcc from within the cygwin shell. Perhaps that works better. Rolf |
From: Keith M. <kei...@to...> - 2006-04-05 12:21:28
|
Rolf Ebert wrote: > If I don't specify --with-as to configure, the compilers (all) > build well until stage3. Only when the stage3 compiler starts > building the Ada run time system, it cannot find 'as' anymore > (see my first message on this topic). Since the problem seems to be confined to Ada, and since you've also reported a fault in the Ada Makefile, related to the usage of `ln -s', isn't it likely that this is also caused by another flaw in that particular Makefile, (or rather the Makefile.in from which it is generated). If you can identify the problem, I guess the GCC maintainers would want to know. (Even if you *can't* identify it, they would probably appreciate a bug report). Regards, Keith. |
From: Douglas C. <tc...@se...> - 2006-04-05 15:45:40
|
Rolf wrote: > At Mon, 03 Apr 2006 13:54:25 +0200 schrieb Douglas Cox = <tc...@se...>: >=20 > >> > I have encountered a similar problem. > >> > Try providing complete paths in configure, something like: > >> > > >> > --with-ld=3Dc:/mingw/bin/ld \ > >> > --with-as=3Dc:/mingw/bin/as >=20 > If I provide an absolute path to as, the make-process stops when = building =20 > libgcc in stage1: >=20 > make[3]: Entering directory = `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' > for d in libgcc; do \ > if [ -d $d ]; then true; else /bin/sh =20 > ../../gcc-4.1.0/gcc/../mkinstalldirs $d; fi; \ > done > mkdir -p -- libgcc > if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi > ./xgcc -B./ -B/mingw/mingw32/bin/ -isystem /mingw/mingw32/include = -isystem =20 > /mingw/mingw32/sys-include =20 > -L/d/Data/Development/gcc-cvs/build_4.1.0/gcc/../ld -O2 =20 > -I../../gcc-4.1.0/gcc/../winsup/w32api/include -O2 -g -O2 -DIN_GCC = -W =20 > -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes =20 > -Wold-style-definition -isystem ./include -g -DHAVE_GTHR_DEFAULT =20 > -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.1.0/gcc =20 > -I../../gcc-4.1.0/gcc/. -I../../gcc-4.1.0/gcc/../include =20 > -I../../gcc-4.1.0/gcc/../libcpp/include -DL_chkstk = -xassembler-with-cpp =20 > -c ../../gcc-4.1.0/gcc/config/i386/cygwin.asm -o libgcc/./_chkstk.o > .\as: d:/Data/Development/gcc-cvs/build_4.1.0/gcc/D:/mingw/bin/as: No = such =20 > file or directory > .\as: exec: = d:/Data/Development/gcc-cvs/build_4.1.0/gcc/D:/mingw/bin/as: =20 > cannot execute: No such file or directory > make[3]: *** [libgcc/./_chkstk.o] Error 1 > make[3]: Leaving directory = `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' > make[2]: *** [libgcc.a] Error 2 > make[2]: Leaving directory = `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' > make[1]: *** [stage1_build] Error 2 > make[1]: Leaving directory = `/d/Data/Development/gcc-cvs/build_4.1.0/gcc' > make: *** [bootstrap] Error 2 >=20 > See the strange error message where the path to as is composed of the = > build directory + the absolute path provided by configure. This = location =20 > does not exist, of course. Yes, it does look strange. =20 >=20 > If I don't specify --with-as to configure, the compilers (all) build = well =20 > until stage3. Only when the stage3 compiler starts building the Ada = run =20 > time system, it cannot find 'as' anymore (see my first message on this = =20 > topic). >=20 >=20 > > Try providing the full path to the build directory (complete with > > drive letter) in the Makefile. >=20 > Which Makefile and which path are you talking about. Do you mean to = call =20 > configure with an absolute path? Do you mean editing the generated =20 > gcc/ada/Makefile, i.e. between running 'configure' and 'make = bootstrap'. =20 > What should I change in that Makefile? I meant the Makefile in the gcc directory. Edit after running = configure. Also you may want to try including --with-gnu-as I have not tried to build ada. The suggestions are based on my = experience building c. =20 Doug >=20 > > That worked for me, I edited the Makefile and added "c:/msys/1.0/" = to > > the path with a global search/replace. >=20 > I added D:\msys\1.0\bin to my PATH to no avail (I wondered how that = might =20 > help given that /mingw/bin is already in my PATH) >=20 > > Doug >=20 > Thanks for all the tips! >=20 > I shall try building gcc from within the cygwin shell. Perhaps that = works =20 > better. >=20 > Rolf >=20 |
From: Danny S. <dan...@cl...> - 2006-07-10 04:37:10
|
>> > --with-ld=c:/mingw/bin/ld \ >> > --with-as=c:/mingw/bin/as These hacks were only necesary because gcc was unable to handle (on mingw32 build) a file 'as' that was a shell scripts. With recent libiberty such shell scripts are supported. If you are interested in the details look at this commit and prior discussion: 2005-09-14 Christopher Faylor <cg...@ti...> * pex-win32.c: Include "windows.h". (backslashify): New function. (fix_argv): Use backslashify to convert path to windows format. Allocate one more place in new argv for potential executable from '#!' parsing. (tack_on_executable): New function. Conditional on USE_MINGW_MSYS (openkey): Ditto. (mingw_rootify): Ditto. (msys_rootify): Ditto. (spawn_script): New function. (pex_win32_exec_child): Save translated argv in newargv. Pass to spawn_script if spawnv* fails. (main): New function. Conditional on MAIN. Useful for testing. |
From: Rolf E. <rol...@gm...> - 2006-04-02 14:27:42
|
At Sun, 02 Apr 2006 13:19:54 +0200 schrieb Douglas Cox <tc...@se...>: > Rolf Ebert wrote: > >> According to gcc PR24382 I provide the absolute path to ld when running >> configure. >> >> ../gcc-4.1.0/configure --enable-languages=c,c++,ada --disable-nls >> --disable-fixincludes --enable-threads=win32 --host=mingw32 >> --build=mingw32 --target=mingw32 --with-ld=/mingw/bin/ld >> --with-as=/mingw/bin/as >> [...] > I have encountered a similar problem. > Try providing complete paths in configure, something like: > > --with-ld=c:/mingw/bin/ld \ > --with-as=c:/mingw/bin/as That's what I already do except the drive letter. Adding it does not change anything. Thanks for your help, anyway. Rolf |