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

[libmysql] Turn off WITH_BUILD_ID to fix baseline #30796

Merged
merged 3 commits into from
Apr 13, 2023

Conversation

Cheney-W
Copy link
Contributor

@Cheney-W Cheney-W commented Apr 12, 2023

Fixes vcpkg ci pipeline issue libmysql:x64-linux failed with below error:

/home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf: /usr/lib/x86_64-linux-gnu/libdw.so.1: version `ELFUTILS_0.173' not found (required by /home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf)
/home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf: /usr/lib/x86_64-linux-gnu/libdw.so.1: version `ELFUTILS_0.177' not found (required by /home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf)
/home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf: /usr/lib/x86_64-linux-gnu/libdw.so.1: version `ELFUTILS_0.171' not found (required by /home/vcpkg/installed/x64-linux/tools/elfutils/bin/eu-readelf)

Since the commit 321f1069, libmysql begin to get the build-id in linux build by below codes:

    FIND_PROGRAM(READELF_EXECUTABLE
      NAMES eu-readelf readelf
      )

This resulted in it finding the eu-readelf provided by vcpkg port elfutils, which in turn caused the above error.
Usually, this issue should be a port bug of elfutils, but we tried to directly build the source code of elfutils using the following command:

./configure
make
make install

and then replace the generated eu-readelf file to installed/x64-linux/tools/elfutils/bin. The error above will still occur, so we think this issue should be an upstream issue. We will reported this issue to upstream.

For fixing this baseline issue, there are currently two ways:

  1. Add -DWITH_BUILD_ID=OFF into vcpkg_cmake_configure()
  2. Use patch to adjust the search order of FIND_PROGRAM()

According to Dg0yt's comment, use the first way.

  • Changes comply with the maintainer guide
  • SHA512s are updated for each updated download
  • The "supports" clause reflects platforms that may be fixed by this new version
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@Cheney-W Cheney-W added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels Apr 12, 2023
@dg0yt
Copy link
Contributor

dg0yt commented Apr 12, 2023

Avoid the patch. Build with build ID off (or pass the path of the executable as a parameter).

@LilyWangLL LilyWangLL marked this pull request as ready for review April 13, 2023 01:56
@LilyWangLL LilyWangLL added the info:reviewed Pull Request changes follow basic guidelines label Apr 13, 2023
@BillyONeal BillyONeal changed the title [vcpkg baseline][libmysql] Adjusting the search order of FIND_PROGRAM [libmysql] Turn off WITH_BUILD_ID to fix baseline Apr 13, 2023
@BillyONeal BillyONeal merged commit e2ca014 into microsoft:master Apr 13, 2023
@BillyONeal
Copy link
Member

Thanks for the fix!

@Cheney-W Cheney-W deleted the Dev/Cheney/cibaseline2 branch April 14, 2023 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants