I installed Cygwin onto an Alienware M17x-R3 running Windows 7 and also downloaded various files from http://www.gnu-pascal.de/ to add Pascal to the list of compilers. gayle@weirdcat ~/Documents $ gcc --version gcc (GCC) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gayle@weirdcat ~/Documents
I successfully ran the classic Hello World program under C.
However I have been unable to install Gnu Pascal Compiler although I believe I have followed the instructions in the manual. I have tried both software installation and direct use of a binary file.
I have gpc source files, too. I also downloaded the source files for gcc 3.2.3 and gcc 3.4.3 because the manual seems to indicate that I should compile against a version that produces a standard compiler. I have the gpc source file: gpc-20060325/.
I got as far as the makeinfo file in the manual. Here is the tail of a verbose output from makeinfo:
gayle@weirdcat ~/Documents $ tail verbosemakeinfo.txt checking for .preinit_array/.init_array/.fini_array support... no checking if mkdir takes one argument... no *** Configuration x86_64-unknown-cygwin not supported Reaping losing child 0x6000bba30 PID 9292 Makefile:23335: recipe for target 'configure-gcc' failed make: *** [configure-gcc] Error 1 Removing child 0x6000bba30 PID 9292 from chain.
gayle@weirdcat ~/gpc-build $
gayle@weirdcat ~/Documents
I have also attempted to install gcc-3.4.3 with the suffix modifier. The output from make with the -d and -i switches is also available.
Should I specify a different host, target, etc.?
What ingredients am I missing to complete the recipe?
Thank you for your help and your time!
Sincerely, (Mr.) Gayle Lee Fairless fairless@ieee.org fairless@fsfe.org
Dear Gayle,
I got as far as the makeinfo file in the manual.
You should be able to install a binary. I have summarized the various installation procedures at the page below.
http://alignment.hep.brandeis.edu/Software/Pascal/Pascal.html
Yours, Kevan
Gayle Lee Fairless wrote:
I installed Cygwin onto an Alienware M17x-R3 running Windows 7 and
also downloaded various files from http://www.gnu-pascal.de/ to add Pascal to the list of compilers.
<snip>
However I have been unable to install Gnu Pascal Compiler although I believe I have followed the instructions in the manual. I have tried both software installation and direct use of a binary file.
I have gpc source files, too. I also downloaded the source files for gcc 3.2.3 and gcc 3.4.3 because the manual seems to indicate that I should compile against a version that produces a standard compiler. I have the gpc source file: gpc-20060325/.
I got as far as the makeinfo file in the manual. Here is the tail of a verbose output from makeinfo:
<snip>
*** Configuration x86_64-unknown-cygwin not supported
This say it all: 64-bit support on Windows is relatively recent, and not present in gcc-3.4.3. I am not aware of any person that build GNU Pascal on Windows in 64-bit mode. All were using 32-bit mode.
Should I specify a different host, target, etc.?
What ingredients am I missing to complete the recipe?
Existing Cygwin binaries are 32-bit mode. You may want to check gcc-4.1.1 which is the newest GCC version that works well with GNU Pascal, however it looks that for 64-bit support on Windows you need newer version. So either you find a way to install 32-bit Pascal on your machine, or you do hard work needed to get GNU Pascal running with newer GCC.
Assuming that you want just to use GNU Pascal you need to know how to install 32-bit compiler on your system. If you installed Cygwin just to run GNU Pascal, then simplest way may be to install 32-bit Cygwin (which may require deinstalling 64-bit Cygwin and may have its own problems). I do not know how good is 64-bit Cygwin at running 32-bit programs, at least you need to install 32-bit versions of basic libraries.
Let me add that your problem is specific to 64-bit Cygwin. I am not Windows/Cygwin user so I can not give you full answer.
I am not aware of any person that build GNU Pascal on Windows in 64-bit mode.
I tried, but failed. I needed substantial help from Dave Bryan just to get the 32-bit compile to work. So, on Windows 64-bit machines I use the 32-bit MinGW, and that's fine.
The 64-bit MinGW seems to be a significant diversion from the 32-bit, but in theory the compile is of course possible. I have a student this summer who I will apply to the project, but it may be too much for him. In the long run, I'm hoping to have one of my people figure out how to compile GPC with a newer version of GCC, which I think will make the 64-bit compile easier. I understand that this update would require a lot of work, but I don't have any clear idea of what the work is. So my first step will be to have my summer student figure out what has to be done.
Yours, Kevan
On 1/19/2015 10:09 PM, Kevan Hashemi wrote:
I am not aware of any person that build GNU Pascal on Windows in 64-bit mode.
I tried, but failed. I needed substantial help from Dave Bryan just to get the 32-bit compile to work. So, on Windows 64-bit machines I use the 32-bit MinGW, and that's fine.
The 64-bit MinGW seems to be a significant diversion from the 32-bit, but in theory the compile is of course possible. I have a student this summer who I will apply to the project, but it may be too much for him. In the long run, I'm hoping to have one of my people figure out how to compile GPC with a newer version of GCC, which I think will make the 64-bit compile easier. I understand that this update would require a lot of work, but I don't have any clear idea of what the work is. So my first step will be to have my summer student figure out what has to be done.
Yours, Kevan
Before I saw the replies from Waldek Hebisch and Kevan Hashemi, it occurred to me that I could try the setup for x86 instead of the setup for x86_64 for Cygwin. That did not work either. I had already installed the binary from the 2007 version of GPC since why not get the latest!
I think I have a 32-bit laptop with the same Windows version on which I can try the setup-x86 program for Cygwin. The gpc-run program will give a response to the --version and --help switches. The gpc.exe program does nothing except return to the command prompt.
At least I shall not have to download the GPC and GCC sources and binaries again!
Tomorrow night at the soonest or maybe as late as Friday since I have Wednesday and Thursday classes I shall try to get back to report the results.
Of course I shall have another reason to wish for summer weather if that student can indeed run GPC on 64-bit Windows!
Thank you for your help!
Sincerely, (Mr.) Gayle Lee Fairless fairless@ieee.org
On 20 Jan 2015 at 3:32, Gayle Lee Fairless wrote:
On 1/19/2015 10:09 PM, Kevan Hashemi wrote:
I am not aware of any person that build GNU Pascal on Windows in 64-bit mode.
I tried, but failed. I needed substantial help from Dave Bryan just to get the 32-bit compile to work. So, on Windows 64-bit machines I use the 32-bit MinGW, and that's fine.
The 64-bit MinGW seems to be a significant diversion from the 32-bit, but in theory the compile is of course possible. I have a student this summer who I will apply to the project, but it may be too much for him. In the long run, I'm hoping to have one of my people figure out how to compile GPC with a newer version of GCC, which I think will make the 64-bit compile easier. I understand that this update would require a lot of work, but I don't have any clear idea of what the work is. So my first step will be to have my summer student figure out what has to be done.
Yours, Kevan
Before I saw the replies from Waldek Hebisch and Kevan Hashemi, it occurred to me that I could try the setup for x86 instead of the setup for x86_64 for Cygwin. That did not work either. I had already installed the binary from the 2007 version of GPC since why not get the latest!
[...]
Did you get them from here: http://www.gnu-pascal.de/binary/mingw32/ or here: http://www.gnu-pascal.de/binary/cygwin/
What you need is the "with-gcc" versions, which come with the necessary gcc environment for the Pascal compiler to work.
Also, do you really need Cygwin, or do you just need a Windows GPC compiler? If the latter, then you should use the Mingw version.
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/
On 1/20/2015 4:04 AM, Prof Abimbola Olowofoyeku wrote:
On 20 Jan 2015 at 3:32, Gayle Lee Fairless wrote:
On 1/19/2015 10:09 PM, Kevan Hashemi wrote:
I am not aware of any person that build GNU Pascal on Windows in 64-bit mode.
<snip>
Yours, Kevan
<snip>
[...]
Did you get them from here: http://www.gnu-pascal.de/binary/mingw32/ or here: http://www.gnu-pascal.de/binary/cygwin/
What you need is the "with-gcc" versions, which come with the necessary gcc environment for the Pascal compiler to work.
Also, do you really need Cygwin, or do you just need a Windows GPC compiler? If the latter, then you should use the Mingw version.
Best regards, The Chief
Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/
I used the gpc-20070904-with-gcc.i686-pc-cygwin.tar.gz file.
gayle@weirdcat ~ $ uname -a CYGWIN_NT-6.1 weirdcat 1.7.33-2(0.280/5/3) 2014-11-13 15:47 x86_64 Cygwin
It did not run on the x86_64 version as already noted.
gayle@RumpusCat ~ $ gpc /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
Here is the result from the i686 version. I put the os-hacks.h into /usr/include directory. Is this sufficient, or are there other directories to hunt down?
gayle@RumpusCat ~ $
gayle@RumpusCat ~/Documents $ uname -a CYGWIN_NT-6.1-WOW64 RumpusCat 1.7.33-2(0.280/5/3) 2014-11-13 15:45 i686 Cygwin
gayle@RumpusCat ~/Documents $ gpc-run --version gpc-run 20070904 Copyright (C) 2001-2006 Free Software Foundation, Inc.
I got the preceding result from gpc-run on both versions. Perhaps it works just fine on both versions?
What do I need to do about shared libraries and/or cygintl-3.dll?
gcc is version 4.9.2 on both installations.
Thanks for the help! We've made progress!
Sincerely, (Mr.) Gayle Lee Fairless fairless@ieee.org
On 21 Jan 2015 at 1:59, Gayle Lee Fairless wrote:
[...]
I used the gpc-20070904-with-gcc.i686-pc-cygwin.tar.gz file.
gayle@weirdcat ~ $ uname -a CYGWIN_NT-6.1 weirdcat 1.7.33-2(0.280/5/3) 2014-11-13 15:47 x86_64 Cygwin
It did not run on the x86_64 version as already noted.
It won't work unless you have a 32-bit version of cygwin installed. It requires the 32-bit cygwin "system" DLLs.
gayle@RumpusCat ~ $ gpc /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
Hmmm ... that shouldn't be needed. You should really only need the 32-bit cygwin1.dll. Possibly it is needed only for internationalisation (in which case cygiconv-2.dll would also be needed). You should be able to find these files in an old installation of cygwin-32. I obviously have them, but I can't send them to this list.
Here is the result from the i686 version. I put the os-hacks.h into
/usr/include directory. Is this sufficient, or are there other directories to hunt down?
os-hacks.h is only needed if you are trying to build the gpc compiler itself (in which case, the include directory is indeed where it should be). It is not needed in order to use gpc.
gayle@RumpusCat ~ $
gayle@RumpusCat ~/Documents $ uname -a CYGWIN_NT-6.1-WOW64 RumpusCat 1.7.33-2(0.280/5/3) 2014-11-13 15:45 i686 Cygwin
gayle@RumpusCat ~/Documents $ gpc-run --version gpc-run 20070904 Copyright (C) 2001-2006 Free Software Foundation, Inc.
I got the preceding result from gpc-run on both versions. Perhaps it works just fine on both versions?
What is the output of "gpc -v" ?
What do I need to do about shared libraries and/or cygintl-3.dll?
See above. They need to be in a directory in the PATH (the best is cygwin/bin, which is where they would be expected to be).
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/
On 1/21/2015 2:34 AM, Prof Abimbola Olowofoyeku wrote:
On 21 Jan 2015 at 1:59, Gayle Lee Fairless wrote:
[...]
I used the gpc-20070904-with-gcc.i686-pc-cygwin.tar.gz file.
gayle@weirdcat ~ $ uname -a CYGWIN_NT-6.1 weirdcat 1.7.33-2(0.280/5/3) 2014-11-13 15:47 x86_64 Cygwin
It did not run on the x86_64 version as already noted.
It won't work unless you have a 32-bit version of cygwin installed. It requires the 32-bit cygwin "system" DLLs.
gayle@RumpusCat ~ $ gpc /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
Hmmm ... that shouldn't be needed. You should really only need the 32-bit cygwin1.dll. Possibly it is needed only for internationalisation (in which case cygiconv-2.dll would also be needed). You should be able to find these files in an old installation of cygwin-32. I obviously have them, but I can't send them to this list.
Here is the result from the i686 version. I put the os-hacks.h into
/usr/include directory. Is this sufficient, or are there other directories to hunt down?
os-hacks.h is only needed if you are trying to build the gpc compiler itself (in which case, the include directory is indeed where it should be). It is not needed in order to use gpc.
gayle@RumpusCat ~ $
gayle@RumpusCat ~/Documents $ uname -a CYGWIN_NT-6.1-WOW64 RumpusCat 1.7.33-2(0.280/5/3) 2014-11-13 15:45 i686 Cygwin
gayle@RumpusCat ~/Documents $ gpc-run --version gpc-run 20070904 Copyright (C) 2001-2006 Free Software Foundation, Inc.
I got the preceding result from gpc-run on both versions. Perhaps it works just fine on both versions?
What is the output of "gpc -v" ?
What do I need to do about shared libraries and/or cygintl-3.dll?
See above. They need to be in a directory in the PATH (the best is cygwin/bin, which is where they would be expected to be).
Best regards, The Chief
Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/
Gpc mailing list Gpc@gnu.de https://www.g-n-u.de/mailman/listinfo/gpc
gayle@RumpusCat ~ $ gpc --version /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
gayle@RumpusCat ~ $ gpc.exe --version /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
gayle@RumpusCat ~ $ gpc.exe -v /usr/bin/gpc.exe: error while loading shared libraries: cygintl-3.dll: cannot open shared object file: No such file or directory
gayle@RumpusCat ~ $ gpc-run --version gpc-run 20070904 Copyright (C) 2001-2006 Free Software Foundation, Inc.
gayle@RumpusCat ~ $ The gpc.exe does not respond to a version request.
Also, the 64-bit C program won't run although the same file compiled by the 32-bit gcc does run. As noted, gcc version is 4.9.2 on both.
This is a long post from my C Hello World program that I enhanced somewhat! ;-)
Only the version produced with the same C source code produced by the 32-bit gcc (version 4.9.2 on both) will run. Each version runs its programs on its own installation. The 64-bit version produces similar output on its installation, but we aren't looking at it since we know the 64-bit version does not yet run Gnu Pascal Compiler.
Sincerely, (Mr.) Gayle Lee Fairless fairless@ieee.org
line 0 is ./dhello32bit ================= env[0] is HOMEPATH=\Users\gayle env[1] is MANPATH=:/usr/openwin/man env[2] is APPDATA=C:\Users\gayle\AppData\Roaming env[3] is SSH_AGENT_PID= <redacted> env[4] is ProgramW6432=C:\Program Files env[5] is HOSTNAME=RumpusCat env[6] is GLADE_PIXMAP_PATH=:/usr/lib/glade3/modules env[7] is TERM=xterm env[8] is XDG_MENU_PREFIX=xfce- env[9] is SHELL=/bin/bash env[10] is PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 104 Stepping 1, AuthenticAMD env[11] is PROFILEREAD=true env[12] is WINDIR=C:\Windows env[13] is PUBLIC=C:\Users\Public <redacted> env[15] is ORIGINAL_PATH=/cygdrive/c/Python33:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/GNU/GnuPG/pub:/cygdrive/c/Program Files (x86)/GNU/BetaGnuPG/GnuPG/pub:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/FPC/2.6.2/bin/i386-Win32 env[16] is CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files env[17] is USERDOMAIN=RUMPUSCAT env[18] is ALLUSERSPROFILE=C:\ProgramData env[19] is OS=Windows_NT env[20] is USER=gayle env[21] is !::=::\ env[22] is COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files env[23] is TEMP=/tmp env[24] is GLADE_MODULE_PATH=:/usr/share/glade3/pixmaps env[25] is SSH_AUTH_SOCK= <redacted> env[26] is USERNAME=gayle env[27] is SESSION_MANAGER=local/RumpusCat:/tmp/.ICE-unix/2856 env[28] is XDG_CONFIG_DIRS=/etc/xdg env[29] is PROCESSOR_LEVEL=15 env[30] is ProgramFiles(x86)=C:\Program Files (x86) env[31] is DESKTOP_SESSION=xfce env[32] is PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Python33:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/GNU/GnuPG/pub:/cygdrive/c/Program Files (x86)/GNU/BetaGnuPG/GnuPG/pub:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/FPC/2.6.2/bin/i386-Win32:/usr/lib/lapack:/usr/openwin/bin env[33] is PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ env[34] is FP_NO_HOST_CHECK=NO env[35] is PROCESSOR_ARCHITEW6432=AMD64 env[36] is PWD=/home/gayle/Documents env[37] is SYSTEMDRIVE=C: env[38] is XNAGSv4=C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\ env[39] is LANG=en_US.UTF-8 env[40] is USERPROFILE=C:\Users\gayle env[41] is TZ=America/Chicago env[42] is LOGONSERVER=\RUMPUSCAT env[43] is CommonProgramW6432=C:\Program Files\Common Files env[44] is LOCALAPPDATA=C:\Users\gayle\AppData\Local env[45] is PROCESSOR_ARCHITECTURE=x86 env[46] is ProgramData=C:\ProgramData env[47] is EXECIGNORE=*.dll env[48] is SHLVL=4 env[49] is HOME=/home/gayle env[50] is PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC env[51] is HOMEDRIVE=C: env[52] is COMSPEC=C:\Windows\system32\cmd.exe env[53] is SYSTEMROOT=C:\Windows env[54] is TMP=/tmp env[55] is PROCESSOR_REVISION=6801 env[56] is PRINTER=HP Officejet Pro 8600 (Network) env[57] is DBUS_SESSION_BUS_ADDRESS= <redacted> env[58] is XDG_DATA_DIRS=/usr/local/share:/usr/share env[59] is VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\ env[60] is XNAGSShared=C:\Program Files (x86)\Common Files\Microsoft Shared\XNA\ env[61] is PROGRAMFILES=C:\Program Files (x86) env[62] is INFOPATH=/usr/local/info:/usr/share/info:/usr/info env[63] is DISPLAY=:0.0 env[64] is GLADE_CATALOG_PATH=:/usr/share/glade3/catalogs env[65] is NUMBER_OF_PROCESSORS=2 env[66] is SESSIONNAME=Console env[67] is COMPUTERNAME=RUMPUSCAT env[68] is XAUTHORITY=/home/gayle/.Xauthority env[69] is COLORTERM=xfce4-terminal env[70] is _=./dhello32bit.exe env[71] is OLDPWD=/home/gayle ================= Hello, World! PI = 3.14159
I found the international libraries on Cygwinports at
https://sourceware.org/cygwinports/
gayle@RumpusCat ~ $ gpc GNU Pascal version 20070904, based on gcc-3.4.4. Copyright (C) 1987-2006 Free Software Foundation, Inc.
GNU Pascal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GNU Pascal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For more version information on components of the GNU Pascal compiler, especially useful when reporting bugs, type the command `gpc --verbose'.
Most used command line options: -c Compile or assemble the source files, but do not link. -o FILE Place output in file FILE. --automake Automatically (re)compile modules/units. -v Be verbose.
The command line options are described in the online documentation. `info -f gpc invoking' describes them in detail.
Report bugs to gpc@gnu.de.
gayle@RumpusCat ~
Now comes the part of actually using it! B-D
I also probably need to install the documentation; however, that should be a new topic.
Thanks for the help! I needed the insight of experience since the installation is the first time I have done this type of work!
Sincerely, (Mr.) Gayle Lee Fairless fairless@ieee.org
On 19 Jan 2015 at 23:09, Kevan Hashemi wrote:
[...]
I am not aware of any person that build GNU Pascal on Windows in 64-bit mode.
Having helped with porting GPC to Win32, I have never tried this. I do not think that it will be a trivial task.
I tried, but failed. I needed substantial help from Dave Bryan just to get the 32-bit compile to work. So, on Windows 64-bit machines I use the 32-bit MinGW, and that's fine.
I also find the Win32 compiler perfectly fine for my needs.
The 64-bit MinGW seems to be a significant diversion from the 32-bit, but in theory the compile is of course possible. I have a student this summer who I will apply to the project, but it may be too much for him. In the long run, I'm hoping to have one of my people figure out how to compile GPC with a newer version of GCC, which I think will make the 64-bit compile easier. I understand that this update would require a lot of work, but I don't have any clear idea of what the work is. So my first step will be to have my summer student figure out what has to be done.
You would need to patch the gcc sources, and most likely would need to amend the gpc sources as well - particularly the gpc runtime library.
Peter, Frank and Waldek would be the most knowledgeable about the kinds of patch that would be needed for the gcc and gpc compiler sources (there must be certain principles that govern what changes would need to be made). If you want to have an idea of the level of work required, look at the gcc patches in the gpc/p/diffs directory. You may also need to patch some of the code in the p/rts and p/units directories, although one would hope that this would not be necessary.
From what I can rememner, we needed to do a number of hacks for the
Win32 libgpc (see the os-hacks.h produced by me and Frank). I don't think, however, that this is compulsory for building the Win32 libgpc if one is not looking for certain Borland Pascal/Delphi compatibility features.
The RTS sources are already configured to look for os-hacks (header and lib) and to use it if found. So there is already an interface that should avoid the need to make too many OS-specific changes to the gpc sources themselves.
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.greatchief.plus.com/