[gdal-dev] FW: [External] : GDAL 3.8.4 build on windows failed at linking
Fengting Chen
fengting.chen at oracle.com
Thu Mar 14 11:27:32 PDT 2024
I included this fix but it doesn’t help. I was building the georaster driver as a plugin but the linker failed at building gdal library. So the fix doesn’t seem to be related to the problem.
Building Custom Rule C:/fechen/gdal-3.8.4/CMakeLists.txt
vsidataio.obj : error LNK2005: "void __cdecl jpeg_vsiio_src(struct jpeg_decompress_struct *,struct VSIVirtualHandle *)"
(?jpeg_vsiio_src@@YAXPEAUjpeg_decompress_struct@@PEAUVSIVirtualHandle@@@Z) already defined in vsidataio.obj [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
vsidataio.obj : error LNK2005: "void __cdecl jpeg_vsiio_dest(struct jpeg_compress_struct *,struct VSIVirtualHandle *)" (?jpeg_vsiio_dest@@YAXPEAUjpeg_compress_struct@@PEAUVSIVirtualHandle@@@Z) already defined in vsidataio.obj [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
Creating library C:/fechen/gdal-3.8.4/build/Debug/gdald.lib and object C:/fechen/gdal-3.8.4/build/Debug/gdald.exp
C:\fechen\gdal-3.8.4\build\Debug\gdald.dll : fatal error LNK1169: one or more multiply defined symbols found [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
From: Even Rouault <even.rouault at spatialys.com>
Date: Thursday, March 14, 2024 at 11:52 AM
To: Fengting Chen <fengting.chen at oracle.com>, gdal-dev at lists.osgeo.org <gdal-dev at lists.osgeo.org>
Subject: Re: [gdal-dev] FW: [External] : GDAL 3.8.4 build on windows failed at linking
Hi,
possibly already fixed in master with commit https://github.com/OSGeo/gdal/commit/849226ce1a9<https://urldefense.com/v3/__https:/github.com/OSGeo/gdal/commit/849226ce1a9__;!!ACWV5N9M2RV99hQ!KbMOD2u6nEacIP2ix07m6Y00zYu21fPOi8h2u_p-cjBCRSh9U8hYhTmK3txq5tv2LAvFBFXNfErVwdiaD9U8YKKFUCjQ$>
Even
Le 14/03/2024 à 16:47, Fengting Chen a écrit :
After upgrading the windows build environment to VS2022, I got the following linker error:
vsidataio.obj : error LNK2005: "void __cdecl jpeg_vsiio_src(struct jpeg_decompress_struct *,struct VSIVirtualHandle *)" (?jpeg_vsiio_src@@YAXPEAUjpeg_decompress_struct@@PEAUVSIVirtualHandle@@@Z) already defined in vsidataio.obj [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
vsidataio.obj : error LNK2005: "void __cdecl jpeg_vsiio_dest(struct jpeg_compress_struct *,struct VSIVirtualHandle *)" (?jpeg_vsiio_dest@@YAXPEAUjpeg_compress_struct@@PEAUVSIVirtualHandle@@@Z) already defined in vsidataio.obj [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
Creating library C:/fechen/gdal-3.8.4/build/Debug/gdald.lib and object C:/fechen/gdal-3.8.4/build/Debug/gdald.exp
C:\fechen\gdal-3.8.4\build\Debug\gdald.dll : fatal error LNK1169: one or more multiply defined symbols found [C:\fechen\gdal-3.8.4\build\GDAL.vcxproj]
I set “GDAL_USE_JPEG_INTERNAL” with “ON”. Any suggestions?
Thanks!
From: Even Rouault <even.rouault at spatialys.com><mailto:even.rouault at spatialys.com>
Date: Tuesday, March 12, 2024 at 12:56 PM
To: Fengting Chen <fengting.chen at oracle.com><mailto:fengting.chen at oracle.com>, gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org> <gdal-dev at lists.osgeo.org><mailto:gdal-dev at lists.osgeo.org>
Subject: Re: [gdal-dev] FW: [External] : GDAL 3.8.4 build on windows failed at linking
Not the answer you'll probably want to hear, but:
- Use an up-to-date compiler
- Use package distributions like vcpkg or conda-forge that already brings all the dependencies "for free"
- It seems you mix builds of different compilers (VS vs mingw). That's a bit asking for troubles ;-)
Le 12/03/2024 à 17:48, Fengting Chen via gdal-dev a écrit :
Resend with more information:
I am trying to build GDAL 3.8.4 on windows under VS2015. The build failed at linking stage that a bunch of external symbols not found, specifically the symbols in libproj, libcurl. I checked the dll library stub .lib for libproj and libcurl using “dumpbin” and found the symbols in the library a little different, for example the linker error shows “__imp__curl_slist_append” not found, the symbol output from the “dumpbin” is “__imp_curl_slist_append” .
Any idea how to fix this?
Thanks!
From: gdal-dev <gdal-dev-bounces at lists.osgeo.org><mailto:gdal-dev-bounces at lists.osgeo.org> on behalf of Fengting Chen via gdal-dev <gdal-dev at lists.osgeo.org><mailto:gdal-dev at lists.osgeo.org>
Date: Monday, March 11, 2024 at 4:50 PM
To: gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org> <gdal-dev at lists.osgeo.org><mailto:gdal-dev at lists.osgeo.org>
Subject: [External] : [gdal-dev] GDAL 3.8.4 build on windows failed at linking
GDAL 3.8.4 build on Windows from VS2015 x64 command prompt: “cmake –build .” throws the following error (there are more similar errors):
cpl_vsil_az.obj : error LNK2001: unresolved external symbol __imp__curl_slist_append [E:\gdal-3.8.4\build\GDAL.vcxproj]
cmake options has:
set (GDAL_USE_CURL ON CACHE BOOL "" FORCE)
set (CURL_INCLUDE_DIR "E:/SDK/curl-8.6.0_1-win64-mingw/include" CACHE PATH "" FORCE)
set (CURL_LIBRARY_RELEASE "E:/SDK/curl-8.6.0_1-win64-mingw/bin/libcurl-x64.lib" CACHE FILEPATH "" FORCE)
libcurl-x64.lib is the DLL stub. Using dumpbin on libcurl-x64.lib shows that “__imp_curl_slist_append” is available. But the linker error is “__imp__curl_slist_append” not found. There is an extra “_” in it.
Any idea why this error occurred?
Thanks!
_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev<https://urldefense.com/v3/__https:/lists.osgeo.org/mailman/listinfo/gdal-dev__;!!ACWV5N9M2RV99hQ!N8ZTSFcueASfCUE2XGRgmOMaX6fq5SFf-Tq25Un9Kws27WD09uZjzbSDMeAzmhzOrmz0mgSpFItXVTdprbA3RxpGPNVk$>
--
http://www.spatialys.com<https://urldefense.com/v3/__http:/www.spatialys.com__;!!ACWV5N9M2RV99hQ!N8ZTSFcueASfCUE2XGRgmOMaX6fq5SFf-Tq25Un9Kws27WD09uZjzbSDMeAzmhzOrmz0mgSpFItXVTdprbA3R_bZl290$>
My software is free, but my time generally not.
--
http://www.spatialys.com<https://urldefense.com/v3/__http:/www.spatialys.com__;!!ACWV5N9M2RV99hQ!KbMOD2u6nEacIP2ix07m6Y00zYu21fPOi8h2u_p-cjBCRSh9U8hYhTmK3txq5tv2LAvFBFXNfErVwdiaD9U8YKzOL5Qh$>
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240314/b4bdbaea/attachment-0001.htm>
More information about the gdal-dev
mailing list