Hello GPC users !
I need a binary GPC distribution for AIX 4.3.1 operating system. It is absent in collection of binary distributions at GPC site; maybe it exists anywhere else ?
Thank you in advance,
Marina Markus Ben-Gurion University Computer Center Beer-Sheva, Israel ====================== mary@bgumail.bgu.ac.il
Hello!
Marina Markus wrote:
I need a binary GPC distribution for AIX 4.3.1 operating system. It is absent in collection of binary distributions at GPC site; maybe it exists anywhere else ?
AFAIK, we do not have a current AIX binary. But it is not that hard to compile GPC for your platform: Just download the GPC sources and one of egcs-core-1.1.1 or gcc-2.8.1 and follow the instructions. If something goes wrong, this list is the place to ask for help.
Good luck,
Peter
Hello Peter !
Thank you for your generous suggestion. Here is the problem that I encounter when compiling GPC on AIX (I now try it on AIX 4.2, to be exact). When doing "make LANGUAGES=pascal", the compilation worked successfully for a long time, and then failed - here is an excerpt from the output: --------------------- BEGIN --- for i in `./xgcc -B./ --print-multi-lib`; do dir=`echo $i | sed -e 's/; .*$//'`; flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; make GCC_FOR_TA RGET="./xgcc -B./" AR="ar" AR_FLAGS="rc" CC="gcc" CFLAGS="-g" RANLIB="ranlib" ; fi; done /bin/sh: not found
make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2. ---------------------- END ---- (the last two lines repeating several times)
I tried to see what I get by "./xgcc -B./ --print-multi-lib" - it was:
.; soft-float;@msoft-float power;@mcpu=power powerpc;@mcpu=powerpc soft-float/power;@msoft-float@mcpu=power soft-float/powerpc;@msoft-float@mcpu=powerpc
and even tried some tricks to exclude ".;" as apparently leading to "/bin/sh: not found" failure; nothing helped.
I will be very grateful for any advice. Regards,
Marina Markus Ben-Gurion University Computer Center Beer-Sheva, Israel ====================== mary@bgumail.bgu.ac.il
On Thu, 13 May 1999, Peter Gerwinski wrote:
Hello!
Marina Markus wrote:
I need a binary GPC distribution for AIX 4.3.1 operating system. It is absent in collection of binary distributions at GPC site; maybe it exists anywhere else ?
AFAIK, we do not have a current AIX binary. But it is not that hard to compile GPC for your platform: Just download the GPC sources and one of egcs-core-1.1.1 or gcc-2.8.1 and follow the instructions. If something goes wrong, this list is the place to ask for help.
Good luck,
Peter
-- Peter Gerwinski, Essen, Germany, http://home.pages.de/~Peter.Gerwinski/ Maintainer GNU Pascal - http://home.pages.de/~GNU-Pascal/ - gpc-19990118 PGP key on request - 6C 94 45 BE 28 A4 96 - 0E CC E9 12 47 25 82 75 *** Vote against SPAM! ********* http://www.politik-digital.de/spam/ ***
Hello, Marina!
Thank you for your generous suggestion. Here is the problem that I encounter when compiling GPC on AIX (I now try it on AIX 4.2, to be exact).
Which version of GCC are you using? If it is gcc-2.8.x then you should give EGCS a try.
When doing "make LANGUAGES=pascal", the compilation worked successfully for a long time, and then failed - here is an excerpt from the output: --------------------- BEGIN --- for i in `./xgcc -B./ --print-multi-lib`; do dir=`echo $i | sed -e 's/; .*$//'`; flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; make GCC_FOR_TA RGET="./xgcc -B./" AR="ar" AR_FLAGS="rc" CC="gcc" CFLAGS="-g" RANLIB="ranlib" ; fi; done /bin/sh: not found
make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2. ---------------------- END ---- (the last two lines repeating several times)
I tried to see what I get by "./xgcc -B./ --print-multi-lib" - it was:
.; soft-float;@msoft-float power;@mcpu=power powerpc;@mcpu=powerpc soft-float/power;@msoft-float@mcpu=power soft-float/powerpc;@msoft-float@mcpu=powerpc
and even tried some tricks to exclude ".;" as apparently leading to "/bin/sh: not found" failure; nothing helped.
My own `g[pc]c --print-multi-lib' also outputs `.;', so I do not think that this is really the origin of the error.
Maybe different shells work differently in this context? What happens if you use `/bin/bash' instead of `/bin/sh'?
Hope this helps,
Peter
Hello Peter,
Thank you for an idea to use EGCS to compile GPC.
I still have a question: how exactly I insert the "p" directory of GPC to EGCS ? For GCC, it was simple: just to put it under the source directory of GCC. Here, I have two directories: one with the source files, and other where I have built the object files and the rest of EGCS. To which of them do I copy the "p" directory ? More important, how I make the "configure" of EGCS to run over this directory ? I tried several guesses - without success.
Please give me a hint. Thank you in advance,
Marina Markus Ben-Gurion University Computer Center Beer-Sheva, Israel ====================== mary@bgumail.bgu.ac.il
Hello, Marina!
I still have a question: how exactly I insert the "p" directory of GPC to EGCS ? For GCC, it was simple: just to put it under the source directory of GCC. Here, I have two directories: one with the source files, and other where I have built the object files and the rest of EGCS. To which of them do I copy the "p" directory ?
The source directory (egcs-1.1.x/gcc/) is the correct one.
More important, how I make the "configure" of EGCS to run over this directory ? I tried several guesses - without success.
With `p' in the `gcc' directory, `configure' will automatically detect it.
Hope this helps,
Peter
Hello Peter !
Thank you for the explanation. Now, the compilation (make bootstrap) starts OK but falls with the following message: ------------------------- rm -f ../gpc1 stage1/xgcc -Bstage1/ -DIN_GCC -DGPC -O2 -g -O2 -DHAIFA -Wl, -bbigtoc -o ../gpc1 `cat stamp-gbe` ../c-aux-info.o ../c-iterate.o ../c-pragma.o ../choose-temp.o ../pexecute.o mkstemp.o gpc-common.o gpc-convert.o gpc-decl.o gpc-lang.o gpc-lex.o gpc-typeck.o module.o gpi-hash.o circle-buf.o objects.o parse.o rts.o types.o util.o setop.o version.o `if [ xobstack.o != x ]; then echo ../obstack.o; else true; fi` `case "stage1/xgcc -Bstage1/" in "cc") if [ xalloca.o != x ]; then echo ../alloca.o; else true; fi ;; esac` `if [ x != x ]; then echo ../; else true; fi` -lld ld: 0711-783 WARNING: TOC overflow. TOC size: 65636 Maximum size: 65536 Extra instructions are being generated for each reference to a TOC symbol if the symbol is in the TOC overflow area. make: Cannot find a rule to create target mbchar.o from dependencies. Stop. make: The error code from the last command is 2.
Stop. make: The error code from the last command is 2. --------------------------------
The flag that should treat properly the TOC overflow is "-bbigtoc", and it is applied here, but it somehow is not passed to "ld" !
May it be by chance that the problem is the absence of the proper patch-file in "p/diffs" ? It contains:
README gcc-egcs-2.91.60.diff mkdiff* gcc-2.8.1.diff gcc-egcs-2.92.27.diff gcc-egcs-2.91.57.diff gcc-egcs-2.92.33.diff
- nothing specific for egcs-1.1.2. I used the latest one (gcc-egcs-2.92.33.diff).
Waiting for any hint, and sorry for disturbing you,
Marina Markus Ben-Gurion University Computer Center Beer-Sheva, Israel ====================== mary@bgumail.bgu.ac.il
Hello, Marina!
Thank you for the explanation. Now, the compilation (make bootstrap) starts OK but falls with the following message: [...] make: Cannot find a rule to create target mbchar.o from dependencies.
`mbchar.o' is a compatibility problem between gcc-2.8.1 and egcs-1.2.x. To work around, create a file `mbchar.c' containing just a comment "/* empty */" in the GCC source directory.
The flag that should treat properly the TOC overflow is "-bbigtoc", and it is applied here, but it somehow is not passed to "ld" !
Perhaps it must be preceeded by `-Xlinker'? (See `info -f gcc -n "Invoking GCC"').
May it be by chance that the problem is the absence of the proper patch-file in "p/diffs" ? It contains:
README gcc-egcs-2.91.60.diff mkdiff* gcc-2.8.1.diff gcc-egcs-2.92.27.diff gcc-egcs-2.91.57.diff gcc-egcs-2.92.33.diff
- nothing specific for egcs-1.1.2. I used the latest one
(gcc-egcs-2.92.33.diff).
`gcc-egcs-2.91.60.diff' would have been the correct one. It also contains an empty `mbchar.c' as mentioned above.
Waiting for any hint, and sorry for disturbing you,
(-: You are welcome. Please send us the AIX GPC binary once it is ready, so we can put it on our FTP site (`make pascal.bindist').
Greetings,
Peter
Hello Peter and Jo, and thank you for the advice ! Sorry for continuing bothering you, but every time I do make some progress, and now I just cannot give up!
"make bootstrap" now has no problems of big TOC - after creating "mbchar.c", as both of you told me. "make" failed once after not finding "stage1/xgcc" when working in "gcc/p/rts", and I simply made a symbolic link of "gcc/stage1" to "gcc/p/rts", and it helped. Still, the compilation fails as follows (I broke long lines somehow arbitrarily; I believe, warnings are not important, but just after this series of warnings it fails to create "heap.o").
--------------------- stage1/xgcc -Bstage1/ -c -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -O2 -g -O2 -I. -I../.. -I/usr/local/src/egcs-1.1.2/ gcc/p/rts/../.. -I/usr/local/src/egcs-1.1.2/gcc/p/rts/../../config /usr/loc al/src/egcs-1.1.2/gcc/p/rts/pexecute.c In file included from /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.1.0/egcs-2. 91.66/include/sys/wait.h:49, from /usr/local/src/egcs-1.1.2/gcc/p/rts/pexecute.c:38: /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.1.0/egcs-2.91.66/include/sys/sign al.h:121: warning: `SIGEMT' redefined rts-config.h:182: warning: this is the location of the previous definition /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.1.0/egcs-2.91.66/include/sys/sign al.h:126: warning: `SIGSYS' redefined rts-config.h:178: warning: this is the location of the previous definition /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.1.0/egcs-2.91.66/include/sys/sign al.h:130: warning: `SIGURG' redefined rts-config.h:186: warning: this is the location of the previous definition /usr/local/lib/gcc-lib/powerpc-ibm-aix4.2.1.0/egcs-2.91.66/include/sys/sign al.h:164: warning: `SIGIOT' redefined rts-config.h:190: warning: this is the location of the previous definition make: Cannot find a rule to create target heap.o from dependencies. Stop.
make: The error code from the last command is 2.
Stop. ---------------- Thank you ...
Marina Markus Ben-Gurion University Computer Center Beer-Sheva, Israel ====================== mary@bgumail.bgu.ac.il