[Xastir] Error during compile

Tom Russo russo at bogodyn.org
Mon Jun 6 22:00:41 PDT 2016


On Mon, Jun 06, 2016 at 10:48:56PM -0500, we recorded a bogon-computron collision of the <kd5ckp at gmail.com> flavor, containing:
> I upgraded my ubuntu to 16.10 today and in the process of recompiling
> GDAL I received the following.
> 
> I have no idea where to go from here? Any assistance or direction is
> appreciated before I FUBAR the whole thing.

The first thing to decide is whether you actually need GDAL at all.

Xastir's GDAL support is really minimal, and is only used for some very 
esoteric vector map types, through the OGR library that is part of GDAL.  
Generally speaking, enabling GDAL support in Xastir isn't worth the trouble 
unless you're using one of those specific map types.

So the simplest path forward is just to skip this step.  In fact, I'd 
recommend that, as 99.999% of Xastir users probably have no use for gdal in 
Xastir.  Gdal is cool software and has a lot of value, but Xastir doesn't
benefit from it much.

But if you really need support for one of those vector data types, then
you should probably get on the GDAL mailing list and ask there, as this
issue has probably been brought up there before.

The code you're seeing errors being reported from is inside a 
HAVE_GETADDRINFO ifdef, and the error message indicates that the size of 
the addrinfo struct is not properly defined by the time you get down into 
the gdalserver app (which is not used by Xastir at all).  

The struct is supposed to be defined in netdb.h, and that should be getting
included if HAVE_GETADDRINFO is beind defined by configure.  

I googled, and found that there has been some discussion of this issue on
the gdal-dev list late last year:

https://lists.osgeo.org/pipermail/gdal-dev/2015-August/042381.html

There's even an indication in a gdal bug report that this has been fixed in 
1.11.3 : https://trac.osgeo.org/gdal/ticket/6073 

The current stable version of gdal is 2.1.0.  Perhaps this is just a matter
of downloading a more recent source than 1.11.0, which is nearly two years
old?

> 01:~/src/gdal-1.11.0$ ./configure && make && sudo make install && sudo ldconfig
> 
> ...
> ...
> libtool: compile:  gcc -g -O2 -DHAVE_SSE_AT_COMPILE_TIME -Wall
> -Wdeclaration-after-statement -I/home/tim/src/gdal-1.11.0/port
> -I/home/tim/src/gdal-1.11.0/gcore -I/home/tim/src/gdal-1.11.0/alg
> -I/home/tim/src/gdal-1.11.0/ogr
> -I/home/tim/src/gdal-1.11.0/ogr/ogrsf_frmts
> -I/home/tim/src/gdal-1.11.0/frmts -DOGR_ENABLED
> -I/home/tim/src/gdal-1.11.0/port -c gdalserver.c  -fPIC -DPIC -o
> .libs/gdalserver.o
> gdalserver.c: In function 'CreateSocketAndBindAndListen':
> gdalserver.c:124:21: error: storage size of 'sHints' isn't known
>      struct addrinfo sHints;
>                      ^
> gdalserver.c:126:31: error: invalid application of 'sizeof' to
> incomplete type 'struct addrinfo'
>      memset(&sHints, 0, sizeof(struct addrinfo));
>                                ^
> gdalserver.c:129:23: error: 'AI_PASSIVE' undeclared (first use in this function)
>      sHints.ai_flags = AI_PASSIVE;
>                        ^
> gdalserver.c:129:23: note: each undeclared identifier is reported only
> once for each function it appears in
> gdalserver.c:132:12: warning: implicit declaration of function
> 'getaddrinfo' [-Wimplicit-function-declaration]
>      nRet = getaddrinfo(NULL, pszService, &sHints, &psResults);
>             ^
> gdalserver.c:135:48: warning: implicit declaration of function
> 'gai_strerror' [-Wimplicit-function-declaration]
>          fprintf(stderr, "getaddrinfo(): %s\n", gai_strerror(nRet));
>                                                 ^
> gdalserver.c:135:25: warning: format '%s' expects argument of type
> 'char *', but argument 3 has type 'int' [-Wformat=]
>          fprintf(stderr, "getaddrinfo(): %s\n", gai_strerror(nRet));
>                          ^
> gdalserver.c:141:39: error: dereferencing pointer to incomplete type
> 'struct addrinfo'
>           psResultsIter = psResultsIter->ai_next)
>                                        ^
> gdalserver.c:162:5: warning: implicit declaration of function
> 'freeaddrinfo' [-Wimplicit-function-declaration]
>      freeaddrinfo(psResults);
>      ^
> gdalserver.c:124:21: warning: unused variable 'sHints' [-Wunused-variable]
>      struct addrinfo sHints;
>                      ^
> ../GDALmake.opt:565: recipe for target 'gdalserver.lo' failed
> make[1]: *** [gdalserver.lo] Error 1
> make[1]: Leaving directory '/home/tim/src/gdal-1.11.0/apps'
> GNUmakefile:69: recipe for target 'apps-target' failed
> make: *** [apps-target] Error 2
> 01:~/src/gdal-1.11.0$
> _______________________________________________
> Xastir mailing list
> Xastir at lists.xastir.org
> http://xastir.org/mailman/listinfo/xastir

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236        http://kevan.org/brain.cgi?DDTNM
 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]

 




More information about the Xastir mailing list