From: SourceForge.net <no...@so...> - 2004-05-10 15:17:40
|
Bugs item #931263, was opened at 2004-04-07 21:53 Message generated for change (Comment added) made by petere78 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=931263&group_id=2435 Category: MinGW Group: Known bugs Status: Closed Resolution: Invalid Priority: 5 Submitted By: Dann Corbit (dcorbit) Assigned to: Earnie Boyd (earnie) Summary: Symlinks sometimes fail Initial Comment: Building Postgresql for the beta 7.5 version is a process designed to run on Mingw. There are several symlinks used in the build script. These symlinks fail randomly. Once in a while, all of them will work. Sometimes, two or more will fail. Steps to reproduce: 1. Go to the Postgresql site and download the latest development snapshot called postgresql- snapshot.tar.bz2 and decompress and untar it. 2. Install the complete MINGW tool chain from here: http://www.mingw.org/download.shtml I went from the bottom up and installed everything. 3. Using mingw, change directory to the /postgresql- snapshot directory and run $ ./configure --without-readline 3. b) even at that, the pg_config.h file will be messed up. You have to manually edit it so that every reference to readline is #undef removed. 3. c) edit pg_config.h and make these changes: /* Define to 1 if you have the <termios.h> header file. */ #undef HAVE_TERMIOS_H #define WIN32 1 when you run make, one of the steps is to produce several symlinks. Here is output from config.log: config.status:661: creating GNUmakefile config.status:661: creating src/Makefile.global config.status:764: creating src/include/pg_config.h config.status:1086: linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s config.status:1086: linking ./src/backend/port/dynloader/win32.c to src/backend/port/dynloader.c config.status:1086: linking ./src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c config.status:1086: linking ./src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c config.status:1086: linking ./src/backend/port/dynloader/win32.h to src/include/dynloader.h config.status:1086: linking ./src/include/port/win32.h to src/include/pg_config_os.h config.status:1086: linking ./src/makefiles/Makefile.win32 to src/Makefile.port Very often, these symlinks do not work. It may take a couple tries to reproduce it. My system information: OS: Windows 2000 Professional v5.00 Build:2195 Service Pack:4 Installed RAM: 1023MB Vendor ID: Advanced Micro Devices CPU Type ID: 0 Family ID: 6 Model ID: 4 Stepping Code: 2 Brand ID: AMD Athlon(TM)Processor ---------------------------------------------------------------------- Comment By: Peter Eisentraut (petere78) Date: 2004-05-10 17:17 Message: Logged In: YES user_id=178336 The problem is that ln does not give a nonzero exit status if it does not succeed, it just fails to fulifill its task randomly. Fixing this is hard because it's buried somewhere in autoconf-generated code. Handling this correctly in autoconf is also hard because the failures are apparently nondeterministic. What do you suggest? ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2004-04-08 13:33 Message: Logged In: YES user_id=15438 Symbolic links to files and directories do not work on Win32 in general. Support for symlink operation is limited to the source directory or file existing and being able to copy the source to the destination. You will need to modify the package to do the appropriate thing for the environment. Earnie ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=931263&group_id=2435 |