Opened 16 years ago

Closed 16 years ago

#2665 closed defect (fixed)

Build fails for SDE (undefined symbol SE_connection_test_server)

Reported by: havatv Owned by: hobu
Priority: normal Milestone: 5.2 release
Component: Build Problems Version: svn-trunk (development)
Severity: major Keywords:
Cc: dmorissette, bartvde, sdlime

Description

Mapserver 5.2 beta 3 build fails with my SDE configuration (no problems with beta 2).

My SDE configure parameters:

--with-sde=/users/ikf/sde/sdeexe80 --with-sde-version=80

Builds OK if I remove sde in configure.

Error message when building shp2img (there were also warnings about the same symbol when compiling mapsde.c: "In function 'msSDELayerOpen': mapsde.c:1057: warning: implicit declaration of function 'SE_connection_test_server'"):

Undefined                       first referenced
 symbol                             in file
SE_connection_test_server           ./libmapserver.a(mapsde.o)
ld: fatal: Symbol referencing errors. No output written to shp2img
collect2: ld returned 1 exit status

gcc 3.3.2, Solaris 2.7

Change History (7)

comment:1 by havatv, 16 years ago

Component: MapServer C LibraryBuild Problems
Owner: changed from sdlime to mapserverbugs

comment:2 by dmorissette, 16 years ago

Cc: dmorissette added
Owner: changed from mapserverbugs to hobu

Probably related to some changes made by Howard in 5.2b3. Reassigning to him.

comment:3 by hobu, 16 years ago

Cc: bartvde sdlime added

Well that didn't take long :)

This problem is related to #2498. Bart, we need some #ifdefs to protect this call. Maybe the patch can be changed to be something as simple as:

#ifdef SE_connection_test_server
  /* check the connection */ 
    if (poolinfo && (SE_connection_test_server(poolinfo->connection, 30) != SE_SUCCESS)) { 
        msSDECloseConnection(poolinfo->connection); 
    } 
#endif

comment:4 by bartvde, 16 years ago

Wow SDE 8.0, that's ancient. Does ESRI even support that still?

Howard, that looks good to me since it will be defined in sdetype.h.

havatv are you able to verify that this change works for you?

in reply to:  4 comment:5 by havatv, 16 years ago

Replying to bartvde:

Wow SDE 8.0, that's ancient. Does ESRI even support that still?

Well, I have not really used SDE in Mapserver for some time now. Just wanted to report the build error, it is not a problem for me ("major" severity is probably a bit too high...). But if SDE 8 is not to be supported any longer, I guess it should be documented somewhere...

Howard, that looks good to me since it will be defined in sdetype.h.

havatv are you able to verify that this change works for you?

I included the ifdef in mapsde.c, and Mapserver then built OK:

./mapserv -v
MapServer version 5.2.0-beta3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER INPUT=EPPL7 INPUT=SDE INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE

comment:6 by bartvde, 16 years ago

Thanks for the verification. SDE 8.X can still be supported, the only thing which won't work for 8.X is cleaning up dead SDE connections in a FastCGI environment (e.g. after a restart of the ArcSDE service).

Howard, are you able to commit the ifdef change? TIA.

comment:7 by hobu, 16 years ago

Resolution: fixed
Status: newclosed

Added in r7764

Note: See TracTickets for help on using tickets.