Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[package]l libe57format/2.2.0: xercesc_3_2 undefined symbols on Windows #13719

Closed
karllu3 opened this issue Oct 24, 2022 · 4 comments
Closed
Labels
bug Something isn't working

Comments

@karllu3
Copy link

karllu3 commented Oct 24, 2022

Description

There are an issue with code building which use libe57format/2.2.0 static library on Windows machine. We have downloaded in month ago and the problem did not appear on last Friday 21.10.2022 we have observed that there is a problem with linkage with libe57format lib. Xercesc package has not changed.

The receipt has the same name
.conan\data\libe57format\2.2.0__\package\99dbd0ec50a6fb8c00cb677dbfbfb9115890da29
however binary has different size
the metadata.json has different values
conandata.yml has different values
new one

patches:
  2.2.0:
  - patch_file: patches/0001-fix-pic.patch
  - patch_file: patches/0002-missing-include.patch
sources:
  2.2.0:
    sha256: 19df04af07925bf43e1793534b0c77cb1346a2bee7746859d2fe1714a24f1c7d
    url: https://github.com/asmaloney/libE57Format/archive/refs/tags/v2.2.0.tar.gz

old one:

patches:
  2.2.0:
  - base_path: source_subfolder
    patch_file: patches/fix-pic.patch
sources:
  2.2.0:
    sha256: 19df04af07925bf43e1793534b0c77cb1346a2bee7746859d2fe1714a24f1c7d
    url: https://github.com/asmaloney/libE57Format/archive/refs/tags/v2.2.0.tar.gz

Package and Environment Details

  • Package Name/Version: libe57format/2.2.0
  • Operating System+version: Windows 10
  • Compiler+version: Visual Studio 16
  • Conan version: conan 1.53.0
  • Python version: Python 3.9.13

Conan profile

os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler=Visual Studio
compiler.version=16

[options]
[build_requires]
[env]

Steps to reproduce

cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -S . -B %BUILD_DIR%
where the libE57Format is added to target_link_libraries

Logs

Example xercesc unresolved symbols


E57Format.lib(E57XmlParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl xercesc_3_2::DefaultHandler::skippedEntity(unsigned short const * const)" (?skippedEntity@DefaultHandler@xercesc_3_2@@UEAAXQEBG@Z) [xyz]
E57Format.lib(E57XmlParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl xercesc_3_2::DefaultHandler::startCDATA(void)" (?startCDATA@DefaultHandler@xercesc_3_2@@UEAAXXZ) [xyz]
E57Format.lib(E57XmlParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl ]
@karllu3 karllu3 added the bug Something isn't working label Oct 24, 2022
@SpaceIm
Copy link
Contributor

SpaceIm commented Oct 24, 2022

Yes, it's an consequence of #13502 (comment), fixed by #13616, but libe57format binaries should be generated again since they were linked to the shared flavor of xerces-c.
Indeed, #13501 has been merged between #13502 & #13616.

/cc @jgsogo @danimtb @uilianries if you can trigger a rebuild of libe57format packages

(side note: so here it's really a consequence of a bug where xerces-c:shared=False was lying when last packages of libde57format were built, but it's also a reminder that this kind of bug can also occur when folks build from source against a shared lib then change transitive shared option without forcing a rebuild, since shared option of dependencies don't contribute to package id, see #8987, hope it will be fixed in conan v2)

@uilianries
Copy link
Member

@SpaceIm please, read #13461

if you can trigger a rebuild of libe57format packages

Done, libe57format/2.2.0@ has been re-triggered.

@karllu3
Copy link
Author

karllu3 commented Oct 24, 2022

Thank You for picking up the issue. I guess conan center have some cache or re-triggered binaries haven't been updated/uploaded yet (I have still the same issue)

unresolved symbol public: virtual void __cdecl xercesc_3_2::DefaultHandler::startPrefixMapp
ing(unsigned short const * const,unsigned short const * const)" (?startPrefixMapping@DefaultHandler@xercesc_3_2@@UEAAXQEBG0@Z)

@karllu3
Copy link
Author

karllu3 commented Oct 27, 2022

Everything works fine. Thank You!

@karllu3 karllu3 closed this as completed Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants