[Qgis-developer] Re: Building gdal in mingw xcompile environment

Radim Blazek radim.blazek at gmail.com
Tue May 9 06:18:17 EDT 2006


On 5/9/06, Tim Sutton <tim at linfiniti.com> wrote:
> Hi Radim
>
> I have been working my way through your instructions but creating
> everything in a chroot jail so that we have a ready to use, easy to
> distribute windows build environment for linux. Did you have to do any
> other configuration things for gdal? :
>
> make[1]: Entering directory `/home/user/win/source/gdal-1.3.1/ogr'
> i586-mingw32msvc-g++  ogrinfo.o ../libgdal.a  ../libgdal.a
> -L/home/user/win/i586-mingw32msvc/lib -lgeos -lz  -o ogrinfo
> ../libgdal.a(cpl_vsil.o):cpl_vsil.cpp:(.text+0x401): undefined
> reference to `_VSIInstallLargeFileHandler'
> collect2: ld returned 1 exit status
> make[1]: *** [ogrinfo] Error 1
> make[1]: Leaving directory `/home/user/win/source/gdal-1.3.1/ogr'
> make: *** [ogr-apps] Error 2
>
> Grepping for that I see :
>
> user at ubuntu:~/win/source/gdal-1.3.1$ egrep -R
> VSIInstallLargeFileHandler * Binary file libgdal.a matches
> Binary file port/cpl_vsil.o matches
> port/cpl_vsil_win32.cpp:/*
> VSIInstallLargeFileHandler()                 */
> port/cpl_vsil_win32.cpp:void VSIInstallLargeFileHandler()
> port/cpl_vsi_mem.cpp:/*
> VSIInstallLargeFileHandler()              */
> port/cpl_vsi.h:void CPL_DLL VSIInstallLargeFileHandler(void);
> port/cpl_vsil_unix_stdio_64.cpp:/*
> VSIInstallLargeFileHandler()                     */
> port/cpl_vsil_unix_stdio_64.cpp:void VSIInstallLargeFileHandler()
> port/cpl_vsil.cpp:        VSIInstallLargeFileHandler();

I presume you did ?:

"In $WIN/source/gdal-1.3.1/port/GNUmakefile add cpl_vsil_win32.o
 to list of objects (OBJ variable) (fixed in GDAL CVS)"

> Also you have this section under todo use dll:
>
>      # $WIN/i586-mingw32msvc/bin/g++ --shared -o xdr.dll \
>      #              -Wl,--out-implib=libxdr.dll.a \
>      #              -Wl,--export-all-symbols \
>      #              -Wl,--enable-auto-import \
>      #              -Wl,--whole-archive libxdr.a \
>      #              -Wl,--no-whole-archive -lwsock32 -liberty -lmingw32
>      # $WIN/i586-mingw32msvc/bin/strip xdr.dll
>      # cp xdr.dll $WIN/i586-mingw32msvc/bin/
>      # cp libxdr.dll.a $WIN/i586-mingw32msvc/lib
>      # rm -f $WIN/i586-mingw32msvc/lib/libxdr.a
>
> Is it correct that we should not follow the above steps?

Yes but maybe it was fixed already, I dont remember.
XDR DLL is important because it is used by all raster modules.

Radim



More information about the Qgis-developer mailing list