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

0.10.0-rc1: kat-kem: liboqs-internal.so => not found #1723

Closed
vt-alt opened this issue Mar 10, 2024 · 3 comments · Fixed by #1725
Closed

0.10.0-rc1: kat-kem: liboqs-internal.so => not found #1723

vt-alt opened this issue Mar 10, 2024 · 3 comments · Fixed by #1725
Labels
bug Something isn't working; high priority to fix

Comments

@vt-alt
Copy link
Contributor

vt-alt commented Mar 10, 2024

Previously (for ALT) I was installing (for liboqs-tests package) some test binaries but now they require liboqs-internal.so which is not installed. Is this intended? If so I can easily remove installation of them (perhaps this tests package altogether).

List of binaries now requiring the lib (they are prefixed with oqs- to not accidentally conflict with other packages and to group them with a namespace):

builder@x86_64:~/tmp/liboqs-buildroot/usr/bin$ for i in *; do (set -x; ldd $i) | grep internal; done
+ ldd oqs-dump-alg-info
+ ldd oqs-example-kem
+ ldd oqs-example-sig
+ ldd oqs-kat-kem
        liboqs-internal.so => not found
+ ldd oqs-kat-sig
        liboqs-internal.so => not found
+ ldd oqs-speed-common
        liboqs-internal.so => not found
+ ldd oqs-speed-kem
+ ldd oqs-speed-sig
+ ldd oqs-test-aes
        liboqs-internal.so => not found
+ ldd oqs-test-hash
        liboqs-internal.so => not found
+ ldd oqs-test-kem
+ ldd oqs-test-kem-mem
+ ldd oqs-test-sha3
        liboqs-internal.so => not found
+ ldd oqs-test-sig
+ ldd oqs-test-sig-mem
+ ldd oqs-vectors-kem
+ ldd oqs-vectors-sig

Environment (please complete the following information):

  • OS: ALT Linux Sisyphus
  • liboqs version 0.10.0-rc1
@SWilson4
Copy link
Member

Thanks for catching this, @vt-alt. This is due to PR #1667, in which we refactored our build process to use an internal not-to-be-installed library for common symmetric code, which the test programs use. It seems to me like we probably shouldn't be building this library as shared even if liboqs is built as shared, since it won't ever be installed on the user's system. Thoughts on this, @baentsch?

Could you please provide the library config / build commands that you're using so I can duplicate the issue locally and test a fix?

@vt-alt
Copy link
Contributor Author

vt-alt commented Mar 11, 2024

There is temporary build log with set -x trace: https://git.altlinux.org/tasks/342500/build/100/x86_64/log
Excerpt:

[00:00:03] + cmake -DCMAKE_SKIP_INSTALL_RPATH:BOOL=yes '-DCMAKE_C_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2  ' '-DCMAKE_CXX_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2  ' '-DCMAKE_Fortran_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2  ' -DCMAKE_INSTALL_PREFIX=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_DESTINATION=lib64 -DLIB_SUFFIX=64 -S . -B x86_64-alt-linux -B build -GNinja '-DCMAKE_ASM_FLAGS=-pipe -frecord-gcc-switches -Wall -g -O2  ' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DOQS_DIST_BUILD=ON -DOQS_OPT_TARGET=generic
[00:00:03] + /usr/bin/ninja -j32 -C build --verbose
[00:00:15] + DESTDIR=/usr/src/tmp/liboqs-buildroot
[00:00:15] + /usr/bin/ninja -j32 install -C build

The log finishes with a failure because our verify-elf detects absence of liboqs-internal.so too.

Linking liboqs-internal statically looks like a good idea.

@SWilson4 SWilson4 added the bug Something isn't working; high priority to fix label Mar 11, 2024
@vt-alt
Copy link
Contributor Author

vt-alt commented Mar 13, 2024

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working; high priority to fix
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants