I upgraded yesterday my gpc to the latest release. Compilation of the full gcc.3.3.1 and gpc together was OK (linux, Suse 8.1)
The strange behavior: when I build a pascal project with my own units, and the crt, dos ... units with automake, I get dos.gpi, dos.o, crt.gpi etc... in the local directory. These files are not the same as in the /usr/local....../units directory (very different sizes)
If I delete the dos.gpi etc... in the local directory and do not use automake I get the error message dos.gpi must be recompiled.
The (small) bugs: when I compile the units in /usr/local/..../3.3.1/units I get two errors
a missing header file rxposix.h in regexc.c so regexp.pas is not built (I don't care)
in ports.pas there is a test {$ifndef __i386__} this test fails on my machine (identified as i686 by the configure script) replacing the test by __i686__ does not help if I suppress the test, the compilation is OK
Jean-Pierre Vial wrote:
I upgraded yesterday my gpc to the latest release. Compilation of the full gcc.3.3.1 and gpc together was OK (linux, Suse 8.1)
The strange behavior: when I build a pascal project with my own units, and the crt, dos ... units with automake, I get dos.gpi, dos.o, crt.gpi etc... in the local directory. These files are not the same as in the /usr/local....../units directory (very different sizes)
Perhaps you used different options (explicitly or implicitly via the GPC Makefiles, respectively), in particular `-g' and optimization options would have a significant effect on file size.
BTW, did you put the GPI/object files etc. in /usr/local/.../units? Or are they left from a previous install?(*) Normally, GPC should only install the unit sources.
If I delete the dos.gpi etc... in the local directory and do not use automake I get the error message dos.gpi must be recompiled.
Perhaps the GPI/object files are older than the sources, or they are compiled with a previous GPC version (especially in the (*) case).
The (small) bugs: when I compile the units in /usr/local/..../3.3.1/units I get two errors
a missing header file rxposix.h in regexc.c so regexp.pas is not built (I don't care)
You need to install the rx library (see "Libraries" on the web page) to use it.
in ports.pas there is a test {$ifndef __i386__} this test fails on my machine (identified as i686 by the configure script) replacing the test by __i686__ does not help if I suppress the test, the compilation is OK
There's a known problem with system conditionals with gcc-3.3. I hope we can fix it soon. Until then, GPC with gcc-3.3 is to be considered experimental!
Frank