[postgis-devel] [PostGIS] #1158: Can't compile under Windows mingw

PostGIS trac at osgeo.org
Wed Aug 17 21:30:02 PDT 2011


#1158: Can't compile under Windows mingw
---------------------+------------------------------------------------------
 Reporter:  robe     |       Owner:  strk         
     Type:  defect   |      Status:  new          
 Priority:  blocker  |   Milestone:  PostGIS 2.0.0
Component:  postgis  |     Version:  trunk        
 Keywords:           |  
---------------------+------------------------------------------------------

Comment(by bnordgren):

 Replying to [comment:31 robe]:
 > I thought maybe it was none of the functions in libpgcommon were being
 picked up, but it seems its just the ones in lwgeom_transform.c.  The
 lwgeom_pg.c that have DATUMS e.g. lwgeom_pg.h seem to have installed fine
 since I can use ST_Force_4D etc. from PostgreSQL using this binary.

 The function declarations in `lwgeom_pg.h` are just declarations. They do
 not seem to be implemented in `lwgeom_pg.c`. I think the important part
 w.r.t. exposing the code to the SQL layer is that
 `PG_FUNCTION_INFO_V1(fn_name);` macro. I'd bet those functions are
 implemented somewhere under the postgis/ directory.


 {{{
 *** Warning: This system can not link to static lib archive
 /c/projects/proj/rel-4.6.1/lib/libproj.la.
 *** I have the capability to make that library automatically link in when
 *** you link to this library.  But I can only do this if you have a
 *** shared version of the library, which you do not appear to have.
 libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32
 shared libraries
 }}}

 This could well be a problem, but I defer to strk.

 > I am puzzled though -- why does lwgeom_pg.h have the DATUMS for
 lwgeom_pg.c, but yet lwgeom_transform.c the DATUMS are just thrown in
 there instead of in the header file.  Is there a reason for what seems to
 me like an inconsistency?  I tried moving over the DATUMS to the
 lwgeom_transform.h and it compiled, but didn't seem to solve my problem.

 My intent was to suggest that the ''implementations'' be moved over to the
 postgis directory, as in this commit on github:
 https://github.com/bnordgren/postgis/commit/b657f94874fee490dfdb000bdb8037290624ffc5

 There is more work to do, as this code uses the private projection-cache
 api. I converted it to the public api in this commit:
 https://github.com/bnordgren/postgis/commit/3daa078ff5901befb8ddc373e0c519e4a24ab2a5

 This works for me on linux, but it was working for me before, too. It may
 be worth a shot.

 The super irritating thing is that sometime between this afternoon and
 this evening, raster started having regressions due to the fact that it
 could not find the symbol "lwgeom_init_allocators". (But it's still
 working fine for postgis.) For the life of me, I don't know what changed.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1158#comment:33>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list