| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | Michael Meskes <meskes(at)postgresql(dot)org>, ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: Latest ecpg patch broke MSVC build | 
| Date: | 2007-10-01 03:30:35 | 
| Message-ID: | 470069DB.5020403@dunslane.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Tom Lane wrote:
> This morning's ecpg patch certainly seems to have been snake-bit.
> Although the Windows gcc buildfarm members seem happy, the MSVC ones
> are all failing with
>
> Linking...
>            Creating library Release\libecpg\libecpg.lib and object Release\libecpg\libecpg.exp
>         libecpg.exp : error LNK2001: unresolved external symbol DllMain(at)12
>         .\Release\libecpg\libecpg.dll : fatal error LNK1120: 1 unresolved externals
>
> I see that DllMain() got added to misc.c, so it's not obvious what's
> wrong here.  Some adjustment needed in the MSVC build scripts maybe?
>
>
>   
It is building with thread.c but it should not be unless I am misreading 
the Makefile. The makefile processing in Project.pm doesn't look nearly 
powerful enough to handle this:
  # thread.c is needed only for non-WIN32 implementation of path.c
  ifneq ($(PORTNAME), win32)
  OBJS += thread.o
  endif
It will ignore the if and endif lines and process the OBJS line :-(
A quick fix is probably to put some whitespace in front of "OBJS", 
although that seems horribly fragile.
cheers
andrew
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2007-10-01 03:46:00 | Re: Latest ecpg patch broke MSVC build | 
| Previous Message | Chris Browne | 2007-10-01 02:45:38 | Re: 8.3 beta timing |