-
We're trying to utilize our old CentOS boxes to build liboqs with gcc4.8, without installing cmake. We're specifically interested in Kyber768 and want to create a shared library similar to pq-crystals/kyber. However, we're unable to upgrade gcc4.8 to gcc7, which is required for cmake. We've attempted to build liboqs.a on a toolchain and link it with our crypto shared libraries. But we're encountering /usr/bin/ld: /usr//lib64/liboqs.a(kem_kyber_768.c.o): unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
We need only Kyber768, can we only make shared like pq-crystals/kyber cmake -S liboqs -B build \
-DCMAKE_ASM_FLAGS='-Wa,--noexecstack' \
-DOPENSSL_ROOT_DIR=/usr/local/ssl/ \
-DCMAKE_BUILD_TYPE=Debug \
-DOQS_ALGS_ENABLED=STD \
-DOQS_DIST_BUILD=ON \
-DOQS_OPT_TARGET=generic \
-DOQS_MINIMAL_BUILD=KEM_kyber_768 I have seen we have ci-pipeline https://github.com/open-quantum-safe/ci-containers/tree/main/centos-7 for centos. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
No, we only have a docker image for Centos. That had been created at a time that Centos had been supported. It no longer is. There is no CI for Centos and absolutely no support for it. We kept it in case someone can make use of it (or wants to take up responsibility for it and begin supporting it again).
In that case, I'd suggest you simply use the Kyber reference code. OQS is meant to support multiple algorithms to enable experimentation and risk-reduction (in case a specific single algorithm turns out to be break-able). |
Beta Was this translation helpful? Give feedback.
No, we only have a docker image for Centos. That had been created at a time that Centos had been supported. It no longer is. There is no CI for Centos and absolutely no support for it. We kept it in case someone can make use of it (or wants to take up responsibility for it and begin supporting it again).
In that case, I'd suggest you simply use the Kyber reference code. OQS is meant to support multiple algorithms to enable experimentation and risk-reduction (in case a specific single algorithm turns out to be break-able).