-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
[libarchive] Build failure on x64-linux (static only) #37987
Comments
You can use vcpkg-settings.json to add an overlay path with your customized triplet definitions. What a triplet does is more obvious if it can be reviewed in the repository rather then having to guess what some shell magic did to the vcpkg shipped triplet files. Does your problem reproduce with the vcpkg-bundled Also, a consumer CMakeList.txt doesn't need to include the triplet files explicitly, because the vcpkg toolchain processes them before the consumer CMakeLists.txt is processed. |
@SchaichAlonso I apoologize for the hard to understand shell syntax. This uses only the default triplet. The fork of vcpkg is used due to the current issues with liblzma and includes a mirror for it. |
Could you send me your triplet file? I want to confirm the specific content of the |
@JonLiu1993 Thanks for your message. I'm no longer using a custom triplet in the latest test, and the build also fails there (https://github.com/chrismile/ActionsTestRepo4/blob/main/.github/workflows/build-libarchive.yml). |
Make sure that you have a proper installation of port openssl which is the provider of libcrypto. That port comes with a wrapper which also takes care of adding |
(FTR I can reproduce the error iff I remove port openssl's wrapper.) |
@dg0yt As you are able to reproduce this, is the build with trace still necessary? If yes, should I simply be using I'm not able to reproduce the linking issues right now with
|
same issue here
used to work without any problem in the past (darknet ci pipeline running on github runners) |
Please test with |
Sorry to double-check on this. Where do I need to add this? I can't seem to find any documentation online. What do you mean with "OPTIONS"? And where does |
i added a
line to my triplet file and it is doing its job. It's now rebuilding everything as expected, I will post here the expanded trace as soon as i have it (i know i might have wrapped the line inside a "if port matches libarchive" sentence, but i already have the triplet ready and it's quicker for me to keep this pipeline and just rebuild some artifacts in the meantime) |
config-x64-linux-release-trace-out.zip What shall I look in it to help debug the problem? I didn't find anything "obvious", to be honest for me it's perfectly reproducible always and constantly, so I am wondering how is it possible that CI here does not catch it |
Well, the problem shouldn't exist because That's why I can simulate the problem when I remove the wrapper. Now the trace has:
i.e. the toolchain comes to the conclusion that Is this true? |
BTW is it normal that |
All paths are passed as relative ones into CMake in this trace. |
i cleaned up paths with a wrong regex and so you don't see them absolute, but they were initially anyway, there is NO
any idea what's going wrong with the missing file? |
i am sorry i cannot really look deeply into it |
... assuming some familarity with GH actions. |
Given the structure of the openssl port and the specific problem, I now suspect that the actual openssl build may remove (I simulated this now. Don't ask me for the trigger, maybe a specific version of make, or bad timestamps.) |
the problem is still present |
I didn't find anything strange in the openssl buildsystem. |
I am facing the same issue |
with #38398 works for me. Can you confirm? |
I can confirm that this fixes the issue. |
Yeah it worked for me also
…On Fri, Apr 26, 2024, 9:08 AM Christoph Neuhauser ***@***.***> wrote:
with #38398 <#38398> works for me.
Can you confirm?
I can confirm that this fixes the issue.
—
Reply to this email directly, view it on GitHub
<#37987 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AVAQDXIXBWVB3E77Q74XHZLY7HD5BAVCNFSM6AAAAABFYUOFKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZYGU3TKMRRGI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Fixes #37987 - [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] SHA512s are updated for each updated download. - [x] The "supports" clause reflects platforms that may be fixed by this new version. - [x] Any fixed [CI baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt) entries are removed from that file. - [x] Any patches that are no longer applied are deleted from the port's directory. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is added to each modified port's versions file. i don't know why adding the config wrapper at the beginning results in a missing file in the end, but at least in this way it works. Could it be that including a portfile in a portfile triggers any cleanup in the packages folder?
Operating system
Ubuntu 20.04
Compiler
GCC
Steps to reproduce the behavior
I have set up a test repo for reproducing this issue with GitHub actions: https://github.com/chrismile/ActionsTestRepo2
Compilation of libarchive only fails for the static build due to undefined references to, e.g., `dlopen'. This is a regression, as this issue did not appear in commit 2a6371b.
Disclaimer: Due to the ongoing issues with liblzma (#37839), I needed to set a different mirror.
Failure logs
out.log
Additional context
None.
The text was updated successfully, but these errors were encountered: