Hi all
I have made a native compilation of gpc-20000707 and uploaded it into:
ftp://agnes.dida.physik.uni-essen.de/home/maurice/gpc-20000707-i586-pc-msdosdjgpp-v203.zip
It needs only very minor changes to the sources to work. They are contained in the two attached diffs to apply to gpc-20000707 and gcc-2952 source directories. - the gpc-20000707.diff corrects for an already reported problem with djgpp where pwd under command.com respond c:\djgpp\ garbling ADD_RTS_PARENT_DIR in make-lang.in - the gcc-2952 - includes --enable-languages=pascal in build.djg\djbuild1.sh - comments out unneeded lines in build.djg\build.bat - puts a manifest file in installs.djg\manifest needed to automatically generate the zip
in summary, since this will have to be done several times (twp new alphas are already on agnes): supposing you have all downloaded in c:\installs
cd c:\djgpp unzip32 \installs\gcc2952s.zip cd gnu\gcc-2.952 patch -p1 < \installs\gcc-2.952.diff cd .. tar -xvzhf \installs\gpc-2000070.tar.gz #do not forget the h parameter: it dereferences the links in the diffs, giving non-zero gcc-2.95.2.diff files cd gpc-20000707 patch -p1 < \installs\gpc-20000707.diff cd .. mv gpc-20000707\p gcc-2.952\gcc cd gcc-2.952\build.djg build
It runs blindly since it outputs to several .log files. Watch a moment... when everything stops it means that gpc is asking whether you want to apply the patch. Just hit return (you can control what you are doing with an editor which looks to the file djconfig.log, but take an editor which automatically updates when the edited file is changed by an other process)
and have a coffee ...
You can then install the usual way the file gpc20bb.zip produced in installs.djg
When running the demos I have found
- gpc-in-c.h in the unit directory is not in a standard search directory for C header files, I moved it manually (in the zip) into the %DJGPP%\lib\gcc-lib\djgpp\2.952\include - intfiledemo.pas does not work. Cannot rewrite a non assigned file under djgpp
The testsuite is now still running. Failures come mostly from the same cause.
All this is made on a W98se dos box with LFN=y
Hope this helps
Maurice
Hello Maurice,
Wednesday, July 12, 2000, 8:05:21 PM, you wrote:
ML> I have made a native compilation of gpc-20000707 and uploaded it into:
ML> ftp://agnes.dida.physik.uni-essen.de/home/maurice/gpc-20000707-i586-pc-msdosdjgpp-v203.zip
ML> It needs only very minor changes to the sources to work. They are contained in the two attached ML> diffs to apply to gpc-20000707 and gcc-2952 source directories. [..] ML> cd c:\djgpp [..] ML> patch -p1 < \installs\gcc-2.952.diff [..] ML> Hope this helps
ML> Maurice
Do I need to do something this to make _binary distribution_ to work? Or it's related only to building the compiler itself?
Viktor Kuznetsov a écrit :
Do I need to do something this to make _binary distribution_ to work? Or it's related only to building the compiler itself?
No it's a fully functional binary distribution. It supposes only that the corresponding binaries for gcc (gcc2952b.zip) have also been installed.
Maurice
Le 13 Juillet 2000, à 13:35, Maurice Lombardi a écrit:
Viktor Kuznetsov a écrit :
Do I need to do something this to make _binary distribution_ to work? Or it's related only to building the compiler itself?
No it's a fully functional binary distribution. It supposes only that the corresponding binaries for gcc (gcc2952b.zip) have also been installed.
Maurice
I tried to upgrade my old GPC and GCC (2.8.1 versions). I removed entirely the content of the DJGPP directory. I downloaded gcc2952b.zip from Simtel (and a lot of new DJGPP stuff, accordingly to the zip-picker page) and ftp://agnes.dida.physik.uni-essen.de/home/maurice/gpc-20000707-i586-pc- msdosdjgpp-v203.zip. I only installed the binaries but it doesn't work properly (I can't compile some ancient files and I can't install the Pascal files of GRX232).
Then, I guess I have to recompile GCC but how to do this under MS-DOS (Windows 98) ? I downloaded GCC sources and bsh203b.zip but do I need some more tools ?
I worry about those ancient files that I don't find in gpc-20000707-i586-pc-msdosdjgpp-v203.zip : pc.exe, epc.exe, bpc.exe, gpc-cpp.exe. Are they no more needed ?
Previously, I had libcurso.a in the /lib directory and it seems the Crt unit needed it. Is it the same now ? (I installed PDCurses 2.4 but it doesn't produce a libcurso.a file)
Thanks for your help.
-- "Couperin"
Couperin a écrit :
Le 13 Juillet 2000, à 13:35, Maurice Lombardi a écrit:
Viktor Kuznetsov a écrit :
Do I need to do something this to make _binary distribution_ to work? Or it's related only to building the compiler itself?
No it's a fully functional binary distribution. It supposes only that the corresponding binaries for gcc (gcc2952b.zip) have also been installed.
Maurice
I tried to upgrade my old GPC and GCC (2.8.1 versions). I removed entirely the content of the DJGPP directory. I downloaded gcc2952b.zip from Simtel (and a lot of new DJGPP stuff, accordingly to the zip-picker page) and ftp://agnes.dida.physik.uni-essen.de/home/maurice/gpc-20000707-i586-pc- msdosdjgpp-v203.zip. I only installed the binaries but it doesn't work properly (I can't compile some ancient files and I can't install the Pascal files of GRX232).
Then, I guess I have to recompile GCC but how to do this under MS-DOS (Windows 98) ? I downloaded GCC sources and bsh203b.zip but do I need some more tools ?
acnf amake bsn cprf fil find flx gwk grep gzp m4-14 pat sed shl tar txi txt You can found an updated patch to recompile, together with more recent binaries in the directory ftp://agnes.dida.physik.uni-essen.de/maurice The diff files contains instructions at its beginning
I worry about those ancient files that I don't find in gpc-20000707-i586-pc-msdosdjgpp-v203.zip : pc.exe, epc.exe, bpc.exe, gpc-cpp.exe. Are they no more needed ?
pc epc bpc where aliases for gpc, and they have been dropped. gpc-cpp.exe has been replaced by gpcpp.exe. You need to change accordingly your djdev.env file. This may explain some of your failures. But the main point is to upgrade gcc first. To remove properly gcc 2.8.1 type (in the djgpp base directory)
rm -f @manifest\gcc281b.mft
always remove properly an old distribution before installing a new. Files which remain otherwise may cause troubles.
Previously, I had libcurso.a in the /lib directory and it seems the Crt unit needed it. Is it the same now ? (I installed PDCurses 2.4 but it doesn't produce a libcurso.a file)
djgpp gives now a new version of Curses2.4 which is different from the one which is used with gpc, and present on agnes. In particular names of the libraries have changed. Use the version on agnes until consistency will be back. same problem with gmp. The new gmp 3 is incompatible with the gmp 2.2 used by gpc for a stupid reason: all names in the library have been prepended by a g. It is probably only necessary to update accordingly the interface gmp.pas
Hope this helps
Maurice
Le 18 Jul 2000, à 1:10, Maurice Lombardi a écrit:
Then, I guess I have to recompile GCC but how to do this under MS-DOS (Windows 98) ? I downloaded GCC sources and bsh203b.zip but do I need some more tools ?
acnf amake bsn cprf fil find flx gwk grep gzp m4-14 pat sed shl tar txi txt You can found an updated patch to recompile, together with more recent binaries in the directory ftp://agnes.dida.physik.uni-essen.de/maurice The diff files contains instructions at its beginning
I downloaded and installed all the files ! (and I had to make some place on my disk, which wasn't a simple task to do). But at the beginning of the compilation, I got my first problem.
I copied the files (gcc2952s.zip, gpc-20000718.tar.gz, build_gpc_djgpp.diff) in 'C:\DJGPP\installs'. I tried to follow the instructions of the patch but :
Typing 'tar -xvzhf \installs\gpc-20000718.tar.gz' in a DOS window (under Windows 98), I got the following message : Cannot redirect input: No such file or directory (ENOENT) tar: Cannot open pipe: Bad file descriptor (EBADF) tar: Error is not recoverable: exiting now (I nstalled tar from tar112ab.zip)
What am I doing wrong ? Did I forget to do something to use the new binaries ? (I tried to read all the readme files...) Or is there an error in the command line you wrote ?
I had to use Winzip to unzip the files ; I don't know if it's a good idea...
The second and last :-( problem was with : 'C:\DJGPP\installs\gnu\gcc-2.952> patch -p1 \installs\build_gpc_djgpp.diff'. After 'Enter' (and waiting for almost 15 mn), nothing seems to happen, no messages on the screen, no sound from the hard drive... no prompt... nothing... I tried to find a djconfig.log : always nothing...
I had to type ^C to stop this : Exiting due to signal SIGINT INTR key Pressed at eip=0001c906 (patch.exe comes from pat253b.zip)
If it can help, here is some informations on my configuration :
C:\DJGPP\installs>set :
CONFIG=essai TMP=C:\WINDOWS\TEMP winbootdir=C:\WINDOWS COMSPEC=C:\WINDOWS\COMMAND.COM SOUND=C:\SB16 MIDI=SYNTH:1 MAP:E MODE:0 PROMPT=$p$g TEMP=C:\TMP PATH=C:\DJGPP\BIN;C:\DOS;C:\MOUSE;C:\WINDOWS;C:\WINDOWS\COMMAND DJGPP=C:\DJGPP\DJGPP.ENV windir=C:\WINDOWS BLASTER=A220 I5 D1 H5 P330 T6 E620
djgpp.env :
DJDIR=%:/>DJGPP%
+USER=dosuser +GROUP=root +TMPDIR=%DJDIR%/tmp +EMU387=%DJDIR%/bin/emu387.dxe +LFN=y +TEXMFMAIN=%DJDIR%/share/texmf +GO32STUB=%DJDIR%/bin/stubify.exe LANGUAGE=fr +GRXFONT=%DJDIR%/contrib/grx232/fonts [...]
I also tried to install again the binaries : gpc-20000718.i586-pc-msdosdjgpp.zip (and gcc2952b.zip from Simtel).
But when I try to compile 4f_pg.pas (a program to test graphic modes, found in http://abcp.multimania.com/divers/video/vesa.html#depart), I get : 4f_pg.pas:46: pointer domain type undefined 4f_pg.pas:46: parse error before `Asmname' 4f_pg.pas:46: comma missing after identifier `Go32_info_block' 4f_pg.pas:46: parse error before `;' 4f_pg.pas:49: comma missing after identifier `Go32_info_block' 4f_pg.pas:49: parse error before `=' [...]
Here is line 46 of the program : Var Go32_Info_Block: AsmName '_go32_info_block' T_Go32_Info_Block; It compiles without problems with old GPC 2.8.1 (That I fortunately saved with a whole DJGPP directory, on ZIP disk).
I tried again to compile GRX232s with 'INCLUDE_GPC_SUPPORT=y' in makedefs.gnu. {I previously erased GRX232 directory (I found that 'rm -f @manifest\grx232s.mft' doesn't work)}
'C:\DJGPP\contrib\grx232\src>redir -o 1tmp.txt -eo make -f makefile.dj2' works well. 'C:\DJGPP\contrib\grx232\test>redir -o 1tmp.txt -eo make -f makefile.dj2' also.
But 'C:\DJGPP\contrib\grx232\pascal>redir -o 1tmp.txt -eo make -f makefile.dj2' gives : gpc -O -c grx20.pas -o grx20.o grx20.pas:252: warning: identifiers should not start with an underscore grx20.pas:252: warning: identifiers should not contain two adjacent underscores grx20.pas:252: warning: identifiers should not end with an underscore grx20.pas:252: type name expected, identifier `__asmname__' given [...] make.exe: *** [grx20.o] Error 1
C:\DJGPP\contrib\grx232\pascal\bgi\demos>redir -o 1tmp.txt -eo make -f makefile.dj2 gives : gpc -O -c ../bgi2grx.pas -o bgi2grx.o ../bgi2grx.pas:47: warning: identifiers should not start with an underscore ../bgi2grx.pas:47: warning: identifiers should not contain two adjacent underscores ../bgi2grx.pas:47: warning: identifiers should not end with an underscore [...] make.exe: *** [bgi2grx.o] Error 1
And C:\DJGPP\contrib\grx232\pascal\bgi\test>redir -o 1tmp.txt -eo make -f makefile.dj2 gives : gpc -O -c ../bgi2grx.pas -o bgi2grx.o ../bgi2grx.pas:47: warning: identifiers should not start with an underscore [...]
Is there somewhere a precompiled gcc2952 configured to use with GPC ?
Thanks for your precious help.
-- "Couperin"
Couperin wrote:
Typing 'tar -xvzhf \installs\gpc-20000718.tar.gz' in a DOS window (under Windows 98), I got the following message : Cannot redirect input: No such file or directory (ENOENT) tar: Cannot open pipe: Bad file descriptor (EBADF) tar: Error is not recoverable: exiting now (I nstalled tar from tar112ab.zip)
Did you also install `gzip'? It is needed for unpacking `.tar.gz' files.
I had to use Winzip to unzip the files ; I don't know if it's a good idea...
WinZip is not free software. I also do not like its user interface. However, compressing archives with WinZip should work.
The second and last :-( problem was with : 'C:\DJGPP\installs\gnu\gcc-2.952> patch -p1 \installs\build_gpc_djgpp.diff'. After 'Enter' (and waiting for almost 15 mn), nothing seems to happen, no messages on the screen, no sound from the hard drive... no prompt... nothing... I tried to find a djconfig.log : always nothing...
Maybe some files are missing here, too. Have you `textutils' and `fileutils' installed?
You can try to apply the patch manually before running `configure'.
I also tried to install again the binaries : gpc-20000718.i586-pc-msdosdjgpp.zip (and gcc2952b.zip from Simtel).
But when I try to compile 4f_pg.pas (a program to test graphic modes, found in http://abcp.multimania.com/divers/video/vesa.html#depart), I get : 4f_pg.pas:46: pointer domain type undefined 4f_pg.pas:46: parse error before `Asmname' 4f_pg.pas:46: comma missing after identifier `Go32_info_block' 4f_pg.pas:46: parse error before `;' 4f_pg.pas:49: comma missing after identifier `Go32_info_block' 4f_pg.pas:49: parse error before `=' [...]
Here is line 46 of the program : Var Go32_Info_Block: AsmName '_go32_info_block' T_Go32_Info_Block;
The syntax of `asmname' has changed. The new syntax reads:
Var Go32_Info_Block: T_Go32_Info_Block; AsmName '_go32_info_block';
But 'C:\DJGPP\contrib\grx232\pascal>redir -o 1tmp.txt -eo make -f makefile.dj2' gives : gpc -O -c grx20.pas -o grx20.o grx20.pas:252: warning: identifiers should not start with an underscore grx20.pas:252: warning: identifiers should not contain two adjacent underscores grx20.pas:252: warning: identifiers should not end with an underscore grx20.pas:252: type name expected, identifier `__asmname__' given [...]
Same here. These programs should be adapted to the new `asmname' syntax.
Hope this helps,
Peter