Skip to content

[expat] Fix a few details with expat. #13022

Merged
BillyONeal merged 14 commits intomicrosoft:masterfrom
Neumann-A:fix_expat_details
Aug 28, 2020
Merged

[expat] Fix a few details with expat. #13022
BillyONeal merged 14 commits intomicrosoft:masterfrom
Neumann-A:fix_expat_details

Conversation

@Neumann-A
Copy link
Copy Markdown
Contributor

@Neumann-A Neumann-A commented Aug 20, 2020

  • moved version to head. (I would consider this 2.2.9 with important patches)
  • install pc file
  • install wrapper
  • inconsistent target name.

closes #13012

@NancyLi1013 NancyLi1013 self-assigned this Aug 21, 2020
@NancyLi1013 NancyLi1013 added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Aug 21, 2020
@PhoebeHui
Copy link
Copy Markdown
Contributor

That's what I thought this week, my PR #10326 rely on these changes! Very happy we already have this! Very appreciate for your effort!

@NancyLi1013
Copy link
Copy Markdown
Contributor

Hi @Neumann-A
Thanks for your PR. It is really a great improvement for expat, which make it more flexible to be used in other ports.

I also noticed that there are no updated for libkml and exiv2. Seems the patches in these two ports also need to be updated.
Could you please help check if it is necessary to update them?

Neumann-A and others added 3 commits August 21, 2020 09:26
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
@Neumann-A
Copy link
Copy Markdown
Contributor Author

I also noticed that there are no updated for libkml and exiv2

Done. The patches are not required with the new vcpkg-cmake-wrapper.cmake for expat. Sometimes it is better to correct the findModule instead of going around patching tens of ports... (I could probably throw out most of the other patches too but I am too lazy to do that.)

Copy link
Copy Markdown
Contributor

@NancyLi1013 NancyLi1013 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that you forget to remove ports/expat/fix-find-package-by-cmake.patch.

@NancyLi1013
Copy link
Copy Markdown
Contributor

The regression on arm64-windows caused by wxwidgest :

CMake Error at D:/downloads/tools/cmake-3.17.2-windows/cmake-3.17.2-win32-x86/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
  Could NOT find EXPAT (missing: EXPAT_LIBRARY) (found version "2.2.9")
Call Stack (most recent call first):

@Neumann-A
Copy link
Copy Markdown
Contributor Author

CMake Error at D:/downloads/tools/cmake-3.17.2-windows/cmake-3.17.2-win32-x86/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find EXPAT (missing: EXPAT_LIBRARY) (found version "2.2.9")
Call Stack (most recent call first):

already solved with 67ebee7

@NancyLi1013
Copy link
Copy Markdown
Contributor

All features have finished testing.

  • poco[mariadb,postgresql,pdf] have passed on x64-windows and x64-windows-static.

  • poco[mysql] x64-windows x64-windows-static failed (Also failed on master branch)

8>F:\13022\vcpkg\installed\x64-windows\include\mysql\mysql/client_plugin.h(110,8): error C2371: 'MYSQL': redefinition; different basic types (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Binder.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
       F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\include\Poco/Data/MySQL/MySQLException.h(26): message : see declaration of 'MYSQL' (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Binder.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
     8>F:\13022\vcpkg\installed\x64-windows\include\mysql\mysql.h(293,8): error C2371: 'MYSQL_STMT': redefinition; different basic types (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Binder.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
       F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\include\Poco/Data/MySQL/MySQLException.h(27): message : see declaration of 'MYSQL_STMT' (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Binder.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
     8>F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\include\Poco/Data/MySQL/MySQLException.h(26,25): error C2371: 'MYSQL': redefinition; different basic types (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Connector.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
       F:\13022\vcpkg\installed\x64-windows\include\mysql\mysql.h(295): message : see declaration of 'MYSQL' (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Connector.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
     8>F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\include\Poco/Data/MySQL/MySQLException.h(27,30): error C2371: 'MYSQL_STMT': redefinition; different basic types (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Connector.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
       F:\13022\vcpkg\installed\x64-windows\include\mysql\mysql.h(666): message : see declaration of 'MYSQL_STMT' (compiling source file F:\13022\vcpkg\buildtrees\poco\src\b9b7999e3b-777248efb0.clean\Data\MySQL\src\Connector.cpp) [F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\MySQL\DataMySQL.vcxproj]
     3>Project "F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\ALL_BUILD.vcxproj" (3) is building "F:\13022\vcpkg\buildtrees\poco\x64-windows-dbg\Data\ODBC\DataODBC.vcxproj" (9) on node 2 (default targets).

Note: libmysql and libmariadb are incompatible.

  • exiv2[unicode,xmp] have passed on x86-windows and x64-windows-static.

  • gdal[mysql-libmariadb,libspatialite] have passed on x64-windows.

  • gdal[mysql-libmariadb,libspatialite] failed on x64-windows-static. (Also failed on master branch)

F:\13022\vcpkg\buildtrees\gdal\src-x64-windows-static-release\gdal-2.4.1>if exist *.ilk del *.ilk 
	link /nologo /dll /INCLUDE:OSRValidate  /INCLUDE:OPTGetProjectionMethods  /INCLUDE:OGR_G_GetPointCount  /INCLUDE:OGRRegisterAll /INCLUDE:GDALSimpleImageWarp  /INCLUDE:GDALReprojectImage  /INCLUDE:GDALComputeMedianCutPCT  /INCLUDE:GDALDitherRGB2PCT  /INCLUDE:OCTNewCoordinateTransformation port\*.obj gcore\*.obj alg\*.obj frmts\o\*.obj ogr\ogrsf_frmts\ogrsf_frmts.lib ogr\ogr.lib gnm\*.obj gnm\gnm_frmts\o\*.obj third_party\o\*.obj apps\commonutils.obj apps\gdalinfo_lib.obj apps\gdal_translate_lib.obj apps\gdalwarp_lib.obj apps\ogr2ogr_lib.obj  apps\gdaldem_lib.obj apps\nearblack_lib.obj apps\gdal_grid_lib.obj apps\gdal_rasterize_lib.obj apps\gdalbuildvrt_lib.obj    F:\13022\vcpkg\installed\x64-windows-static\lib\libexpatMD.lib  F:\13022\vcpkg\installed\x64-windows-static\lib\libpq.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libpgcommon.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libpgport.lib Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libcrypto.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libssl.lib                F:\13022\vcpkg\installed\x64-windows-static\lib\proj.lib F:\13022\vcpkg\installed\x64-windows-static\lib\sqlite3.lib F:\13022\vcpkg\installed\x64-windows-static\lib\spatialite.lib  F:\13022\vcpkg\installed\x64-windows-static\lib\libmariadb.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libgeos_c.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libgeos.lib        F:\13022\vcpkg\installed\x64-windows-static\lib\libcurl.lib wsock32.lib wldap32.lib winmm.lib    legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib  F:\13022\vcpkg\installed\x64-windows-static\lib\libpng16.lib F:\13022\vcpkg\installed\x64-windows-static\lib\zlib.lib  F:\13022\vcpkg\installed\x64-windows-static\lib\openjp2.lib          F:\13022\vcpkg\installed\x64-windows-static\lib\webp.lib      F:\13022\vcpkg\installed\x64-windows-static\lib\libxml2.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libiconv.lib F:\13022\vcpkg\installed\x64-windows-static\lib\libcharset.lib F:\13022\vcpkg\installed\x64-windows-static\lib\lzma.lib      ws2_32.lib  kernel32.lib psapi.lib gcore\Version.res  /out:gdal204.dll /implib:gdal_i.lib   
   Creating library gdal_i.lib and object gdal_i.exp
ogrsf_frmts.lib(ogrmysqldriver.obj) : error LNK2019: unresolved external symbol mysql_server_init referenced in function "class GDALDataset * __cdecl OGRMySQLDriverOpen(class GDALOpenInfo *)" (?OGRMySQLDriverOpen@@YAPEAVGDALDataset@@PEAVGDALOpenInfo@@@Z)
ogrsf_frmts.lib(ogrmysqldriver.obj) : error LNK2019: unresolved external symbol mysql_server_end referenced in function "void __cdecl OGRMySQLDriverUnload(class GDALDriver *)" (?OGRMySQLDriverUnload@@YAXPEAVGDALDriver@@@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_num_rows referenced in function "public: int __cdecl OGRMySQLDataSource::FetchSRSId(class OGRSpatialReference *)" (?FetchSRSId@OGRMySQLDataSource@@QEAAHPEAVOGRSpatialReference@@@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_field_count referenced in function "public: int __cdecl OGRMySQLDataSource::Open(char const *,char * *,int)" (?Open@OGRMySQLDataSource@@QEAAHPEBDPEAPEADH@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_affected_rows referenced in function "public: int __cdecl OGRMySQLDataSource::Open(char const *,char * *,int)" (?Open@OGRMySQLDataSource@@QEAAHPEBDPEAPEADH@Z)
ogrsf_frmts.lib(ogrmysqltablelayer.obj) : error LNK2001: unresolved external symbol mysql_affected_rows
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_error referenced in function "private: virtual int __cdecl OGRMySQLDataSource::DeleteLayer(int)" (?DeleteLayer@OGRMySQLDataSource@@EEAAHH@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_init referenced in function "public: int __cdecl OGRMySQLDataSource::Open(char const *,char * *,int)" (?Open@OGRMySQLDataSource@@QEAAHPEBDPEAPEADH@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_real_connect referenced in function "public: int __cdecl OGRMySQLDataSource::Open(char const *,char * *,int)" (?Open@OGRMySQLDataSource@@QEAAHPEBDPEAPEADH@Z)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_close referenced in function "public: virtual __cdecl OGRMySQLDataSource::~OGRMySQLDataSource(void)" (??1OGRMySQLDataSource@@UEAA@XZ)
ogrsf_frmts.lib(ogrmysqldatasource.obj) : error LNK2019: unresolved external symbol mysql_query referenced in function "private: virtual int __cdecl OGRMySQLDataSource::DeleteLayer(int)" (?DeleteLayer@OGRMySQLDataSource@@EEAAHH@Z)

@NancyLi1013 NancyLi1013 added info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. and removed requires:testing labels Aug 26, 2020
@NancyLi1013
Copy link
Copy Markdown
Contributor

LGTM now. Thanks for your hard work. @Neumann-A

@BillyONeal BillyONeal merged commit 53a47bc into microsoft:master Aug 28, 2020
@BillyONeal
Copy link
Copy Markdown
Member

Thanks for your contribution!

Hoikas added a commit to Hoikas/Plasma that referenced this pull request Aug 30, 2020
This reverts commit 732ad9f, reversing
changes made to fde27d9.

The bug fixed by H-uru#709 was fixed by microsoft/vcpkg#13022. The upstream
fix renamed the target `expat::libexpat` to `expat::expat` but also
fixed the expat finder.
@Ghabry
Copy link
Copy Markdown
Contributor

Ghabry commented Aug 30, 2020

oh, thanks for fixing this. Because of the MD/MT suffix stuff the bundled FindEXPAT module failed to find the library and I couldn't use the exported target because of ::libexpat (Windows) vs ::expat (others). So don't to wait now for 2.2.10 👍

@Neumann-A Neumann-A deleted the fix_expat_details branch November 18, 2020 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[expat] a few issues

5 participants