Re: [Seed7-users] Seed7 installation problems
Interpreter and compiler for the Seed7 programming language.
Brought to you by:
thomas_mertes
From: Thomas M. <tho...@gm...> - 2021-02-07 19:15:35
|
Hi Anders, It seems that you have still problems unrelated to Seed7. You wrote: > 1. Extract seed7 folder > In seed7/src there is no config.h file, but _config.h exist. > There are also some other files missing which now start with _ Seed7 does not have any files that start with _ like _config.h. So I guess that your extracting tool produces them. What tool you are using to extract? > 2. Renamed all the files starting with _ This should never be necessary. You should probably delete the directory that this extraction tool created and use a better tool to extract the Seed7 archive. Maybe the tar7.exe commandline tool is useful for you. See: https://sourceforge.net/projects/seed7/files/bin/ You can put tar7.exe in a directory that is in the search path. On windows computers I usually have a directory like c:\Users\tm\bin with the *.exe files of some tools I like. In order to accessable this directory needs to be added to the PATH environment variable. > 3. Start cmd-window in admininistrator mode Compiling Seed7 does not need admininistrator rights. You should just use a normal cmd-window. Later you need administrator rights to do the install, but you will be asked for that with a popup window that mentions setwpath.exe. > 4. copy mk_mingw.mak makefile Okay. > 5. Edit the makefile adding the following rows under the heading chkccomp.h: > echo #define POSTGRESQL_LIBRARY_PATH "C:/Program Files/PostgreSQL/13/include" >> chkccomp.h > echo #define POSTGRESQL_LIBS "C:/Program Files/PostgreSQL/13/lib/libpq.lib" >> chkccomp.h > echo #define POSTGRESQL_DLL "C:/Program Files/PostgreSQL/13/lib/libpq.dll" >> chkccomp.h These settings are wrong and they should not be necessary. Normally chkccomp.c should know that verson 13 of PostgreSQL exists. Unfortunately this knowledge is missing in the chkccomp.c of Seed7 version 2021-01-30. I will sent you an intermediate release which should support verson 13 of PostgreSQL. Please tell me if that works. > 6. Turn off the anti-virus program (McAfee) > 7. Run mingw32-make depend > OK > 8. Run mingw32-make > OK Don't forget to turn you anti-virus program on again later. > 9. Run mingw32-make s7c > Caused a lot of errors see the attached file install_1.txt. > Probably my attempt to rename the files previously was not the right thing to do? The file install_1.txt shows that more files are missing. These missing include files are mentioned: seed7/lib/null_file.s7i seed7/lib/comp/config.s7i seed7/lib/comp/const.s7i seed7/lib/comp/con_act.s7i Probably your extraction tool added also an _ to the name. You definitively should use a different tool to extract *.tgz files. > Then reinstalled the latest version from 20210130 using the win-installer > and now this worked OK. The Seed7 installer uses its own extraction library, so it can avoid the problems that your extraction tool triggers. The installer uses also its own make library (see make.s7i) and its own gcc from the directory seed7/gcc, so it does not depend on mingw32-make and your local installation of gcc. BTW at: https://sourceforge.net/projects/seed7/files/bin/ you can find make7.exe, which can be used as make tool like mingw32-make. > Message from the DATABASE_ERROR exception: > Searching for dynamic libraries failed: C:/Program Files/PostgreSQL/13/lib/libpq.dll This message is triggered by the fact that libpq.dll depends on two other dlls: libintl.dll and libeay32.dll For libpq.dll you specified the absolute path: C:/Program Files/PostgreSQL/13/lib/libpq.dll Unfortunately the windows function to load a dll does not look for other dlls (libintl.dll and libeay32.dll), on which libpq.dll depends, in the same directory. As a result the attempt to load libpq.dll fails. I will send you an intermediate release of Seed7, which will contain fixes in chkccomp.c to solve your problem regarding PostgreSQL. I have improved chkccomp.c in two areas: 1. It now knows about PostgreSQL version 13. This means it will look into "C:/Program Files/PostgreSQL/13/" to search for include files and libraries. Changes in the makefile (chkccomp.h) should be not necessary. Please tell me if it works without these changes. 2. If you define POSTGRESQL_DLL with an absolute path of libpq.dll in the makefile (as you did) the program chkccomp.c now computes absolute paths for libintl.dll and libeay32.dll (in the same directory as libpq.dll). Please tell me if the intermediate release works. Regards Thomas Mertes |