Re: lib problems

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: lib problems
Дата
Msg-id 002901c3899b$7566e680$6401a8c0@DUNSLANE
обсуждение исходный текст
Ответ на lib problems  ("Andrew Dunstan" <andrew@dunslane.net>)
Ответы Re: lib problems  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers-win32
 
For now I have got around this with the following code:
 
#ifdef WIN32
 
#ifdef unlink
#undef unlink
#endif
 
static int
init_unlink(const char *path)
{
 while (unlink(path))
 {
  if (errno != EACCES)
   return -1;
  Sleep(100);            /* ms */
 }
 return 0;
}
 
#define unlink(x) init_unlink((x))
 
#endif
 
cheers
 
andrew
 
----- Original Message -----
Sent: Thursday, October 02, 2003 10:59 PM
Subject: [pgsql-hackers-win32] lib problems

 
OK, I have a C version of initdb that apparently works fine on Unix, and is only missing signal handling. (If anyone is curious and/or adventurous I can email you a copy).
 
When I compile on W32/Mingw I get this:
 
$ make
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -DPGBINDIR=\"/usr/local/pgsql/bin\" -DPGDATADIR=\"/usr/local/pgsql/share\" -L../../../src/port   initdb.o -lpgport -o initdb
../../../src/port/libpgport.a(dirmod.o)(.text+0xe1):dirmod.c: undefined reference to `errstart'
../../../src/port/libpgport.a(dirmod.o)(.text+0xef):dirmod.c: undefined reference to `elog_finish'
../../../src/port/libpgport.a(dirmod.o)(.text+0x11a):dirmod.c: undefined reference to `errstart'
../../../src/port/libpgport.a(dirmod.o)(.text+0x128):dirmod.c: undefined reference to `elog_finish'
../../../src/port/libpgport.a(dirmod.o)(.text+0x1df):dirmod.c: undefined reference to `errstart'
../../../src/port/libpgport.a(dirmod.o)(.text+0x1ef):dirmod.c: undefined reference to `elog_finish'
../../../src/port/libpgport.a(dirmod.o)(.text+0x21a):dirmod.c: undefined reference to `errstart'
../../../src/port/libpgport.a(dirmod.o)(.text+0x22a):dirmod.c: undefined reference to `elog_finish'
make: *** [initdb] Error 1
The strange thing is I didn't get that this morning, but I assume it's clearly because I added some unlink calls.
 
Anyone have clues about how to fix this? Compile a copy of dirmod.c with FRONTEND defined, maybe? Or just remove the logging statements from pgunlink altogether - unlink should really be silent.
 
BTW, if the W32 timing problems that apply to unlink() also apply to rmdir(), we'll need a replacement for that too.
 
thanks
 
andrew

В списке pgsql-hackers-win32 по дате отправления:

Предыдущее
От: "Andrew Dunstan"
Дата:
Сообщение: lib problems
Следующее
От: "Merlin Moncure"
Дата:
Сообщение: Re: initdb