quiche icon indicating copy to clipboard operation
quiche copied to clipboard

0.22.0 regression test failure

Open chenrui333 opened this issue 1 year ago • 3 comments

👋 trying to build the latest release, but run into some regression test failure. The error log is as below:

error test log
  ==> ./test
  dyld[13973]: Library not loaded: /opt/homebrew/opt/cloudflare-quiche/lib/libquiche.0.22.0.dylib
    Referenced from: <496810F1-BA70-3C4C-AF28-E3F3015BEA9A> /private/tmp/cloudflare-quiche-test-20240626-13958-qrdomu/test
    Reason: tried: '/opt/homebrew/opt/cloudflare-quiche/lib/libquiche.0.22.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/cloudflare-quiche/lib/libquiche.0.22.0.dylib' (no such file), '/opt/homebrew/opt/cloudflare-quiche/lib/libquiche.0.22.0.dylib' (no such file), '/usr/local/lib/libquiche.0.22.0.dylib' (no such file), '/usr/lib/libquiche.0.22.0.dylib' (no such file, not in dyld cache), '/opt/homebrew/Cellar/cloudflare-quiche/0.22.0/lib/libquiche.0.22.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/cloudflare-quiche/0.22.0/lib/libquiche.0.22.0.dylib' (no such file), '/opt/homebrew/Cellar/cloudflare-quiche/0.22.0/lib/libquiche.0.22.0.dylib' (no such file), '/usr/local/lib/libquiche.0.22.0.dylib' (no such file), '/usr/lib/libquiche.0.22.0.dylib' (no such file, not in dyld cache)
  Error: cloudflare-quiche: failed

full build log, https://github.com/Homebrew/homebrew-core/actions/runs/9684876495/job/26725432998 relates to Homebrew/homebrew-core#175706

chenrui333 avatar Jun 26 '24 23:06 chenrui333

Looks like related to https://github.com/cloudflare/quiche/pull/1769 I made a suggestion on your homebrew PR.

junhochoi avatar Jun 27 '24 05:06 junhochoi

We see a similar problem (seemingly SONAME related) on Linux: https://github.com/curl/curl/pull/14030

bagder avatar Jun 27 '24 21:06 bagder

So the main issue here is when #1769 added it only sets SONAME in the shared lib, but since we don't have an installation step, creating symlinks need to be done manually from the application developer, such as creating libquiche.so -> libquiche.so.0, etc.

Since we are not relying on cargo-c or others to automate this step, we might want to add some document how to install shared libs properly, such as creating linux/*BSD and macOS symlinks might be a good example.

Also there is a question of ABI versioning (https://github.com/Homebrew/homebrew-core/pull/175706#issuecomment-2193842886).

@ghedo @LPardue what do you think?

junhochoi avatar Jun 28 '24 06:06 junhochoi

Homebrew formula has been updated to 0.22.0 and merged. https://github.com/Homebrew/homebrew-core/pull/176665

@chenrui333 thanks for review! you may close this ticket.

junhochoi avatar Jul 09 '24 03:07 junhochoi

Closing the issue, thanks @junhochoi.

chenrui333 avatar Aug 16 '24 17:08 chenrui333