Can somebody PLEASE make an ELF version of GPC for Linux that works with GCC v.2.7.0???? Or give me some pointers on how to do it myself????
I downloaded the Linux version of GPC that Peter Gerwinski made, but it doesn't work on my system. I'm thinking maybe because I have SlackWare 3.0/ELF installed.
When I first installed GPC, the compilation process would break when it came to the linking phase. ld, the GNU Linker, would say that it's unable to find file "crt0.o". I remembered seeing that file way back in my SlackWare 2.2 days, so kicked out the old SlackWare 2.2 CD-ROM and copied a "crt0.o" into my /usr/lib directory. Now, when I try to compile and link, I just get a whole bunch of unresolved reference errors.
However, GPC itself appears to compile alright (except it produces a.out object files instead of ELF). It's just when it comes time to link that it goes haywire.
Please help somebody! I need this compiler soon for a school project ...
Arcadio
According to Arcadio Alivio Sincero:
Can somebody PLEASE make an ELF version of GPC for Linux that works with GCC v.2.7.0???? Or give me some pointers on how to do it myself????
If you really want to try to implement this yourself, I suggest the following strategy:
- get GCC 2.6.3 and GCC 2.7.0 source, - look, which files of the GPC 2.6.3 source are replacing GCC 2.6.3 files, and make diffs between GCC 2.6.3 and GPC 2.6.3 for them, - do the GPC changes to the GCC 2.7.0 files, - compile GCC 2.7.0 (one stage is enough), - compile GPC, now version 2.7.0, and hope the best, - send your files to Juki, because he will be interested, - send your files to me, because I am interested, too.
Since I expect trouble when doing this, let us first try it in another way ...
I downloaded the Linux version of GPC that Peter Gerwinski made, but it doesn't work on my system. I'm thinking maybe because I have SlackWare 3.0/ELF installed.
When I first installed GPC, the compilation process would break when it came to the linking phase. ld, the GNU Linker, would say that it's unable to find file "crt0.o". I remembered seeing that file way back in my SlackWare 2.2 days, so kicked out the old SlackWare 2.2 CD-ROM and copied a "crt0.o" into my /usr/lib directory. Now, when I try to compile and link, I just get a whole bunch of unresolved reference errors.
Which gcclib do you use? Perhaps it is already the 2.7.0 version while crt0.o and gpc expect the 2.6.3 version. I suggest to install the com- plete gcc 2.6.3 in /usr/bin and /usr/lib. (It should work with SlackWare 3.0, as I hope.) Then also install gpc 2.6.3, and they should work to- gether.
However, GPC itself appears to compile alright (except it produces a.out object files instead of ELF). It's just when it comes time to link that it goes haywire.
This gives hope to me, that the above idea could work.
Please help somebody! I need this compiler soon for a school project ...
For case of emergency I will figure out how to run GPC under EMX in the DOS emulator of Linux. This is somehow stupid, but should work.
Till later,
Peter
-------------------------------------------------------------------------------- Dipl. Phys. Peter Gerwinski Fachbereich Physik Universitaet-GH Essen Phone: +49-201-183-2763 D-45117 Essen Fax: +49-201-183-2120 Germany e-mail: pege@mail.theo-phys.uni-essen.de --------------------------------------------------------------------------------
On Mon, 13 Nov 1995, Peter Gerwinski wrote:
- get GCC 2.6.3 and GCC 2.7.0 source,
- look, which files of the GPC 2.6.3 source are replacing GCC 2.6.3 files, and make diffs between GCC 2.6.3 and GPC 2.6.3 for them,
- do the GPC changes to the GCC 2.7.0 files,
- compile GCC 2.7.0 (one stage is enough),
- compile GPC, now version 2.7.0, and hope the best,
- send your files to Juki, because he will be interested,
- send your files to me, because I am interested, too.
Since I expect trouble when doing this, let us first try it in another way ...
Thanks for the play by play. This does look involved 'tho. I'll work on it next weekend. I'll just use Turbo Pascal on my DOS partition and hope when I translate it to conform to the ISO Standard, I don't make any mistakes (for my project thats due ... uhh .. man, tomorrow! Sheesh, I better get cracking ...).
Which gcclib do you use? Perhaps it is already the 2.7.0 version while crt0.o and gpc expect the 2.6.3 version. I suggest to install the com- plete gcc 2.6.3 in /usr/bin and /usr/lib. (It should work with SlackWare 3.0, as I hope.) Then also install gpc 2.6.3, and they should work to- gether.
Well, I do have GCC v.2.7.0 installed, so I'm assuming the gcclib I have is 2.7.0. I have no idea because the SlackWare setup script just installed everything.
Hmm ... if I install gcc 2.6.3, won't it over write 2.7.0?
Can I install GCC 2.6.3 in it's own directory, say in /usr/local/bin/gcc263? That way I won't have to worry about gcc263 clashing with gcc270.
For case of emergency I will figure out how to run GPC under EMX in the DOS emulator of Linux. This is somehow stupid, but should work.
Hmm ... I was told that DOSEMU operates in a similar fashion to OS/2 VDMs. In that case, EMX won't work in DOSEMU because it uses the VPCI (or is it VCPI? I always get it confused) protected mode standard. 'Tho you can get the RSX package which will make EMX use the DPMI standard instead. I know that works in an OS/2 VDM ...
Arcadio
Hello Arcadio, hello GPC-list!
I have checked that the EMX (i.e. DOS and OS/2) version of GPC 2.6.3 runs fine in the DOSemu (version 0.60.3 with WinDoze hack---but probably also without it) of Linux. It is somehow stupid to emulate DOS under Linux in order to run there a program which has been ported from UNIX to DOS, but this may serve as a last resort when you have problems with Linux SlackWare 3 (ELF binary format) until GPC 2.7.x will exist.
The steps to get a compiling GPC in Linux DOSemu are straightforward, nevertheless here is a short description what to do:
- Install DOSemu, - get the following packets of EMX: emxrt, emxdev, gnudev, dpmigcc5, - get GPC binaries for EMX, - create a directory for EMX, install everything in that directory from Linux with unzip (this is more stable than installing it under DOSemu for example with pkunzip -d). Note that DOS is not case- sensitive, so you will have to move GPC files from EMX/BIN and EMX/LIB to emx/bin and emx/lib. - Start DOSemu and edit your AUTOEXEC.BAT: - set up a PATH to the emx/bin directory, - set up the LIBRARY_PATH environment variable to point to your emx/lib directory. - ExitEmu and restart it---now it should work. Run some tests.
This sounds complicated, but if you are experienced with DOS and already have installed DOSemu and know where to get EMX (e.g. on the server ftp.uni-stuttgart.de in /pub/systems/os2/emx-0.9a or similar), the whole procedure can be done in half an hour or less. If not, it may be easier to do the port from GPC 2.6.3 to GPC 2.7.0 on your own.
Good luck,
Peter
-------------------------------------------------------------------------------- Dipl. Phys. Peter Gerwinski Fachbereich Physik Universitaet-GH Essen Phone: +49-201-183-2763 D-45117 Essen Fax: +49-201-183-2120 Germany e-mail: pege@mail.theo-phys.uni-essen.de --------------------------------------------------------------------------------