You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#920 landed McEliece AVX code leading to a visible performance improvement for this algorithm.
However, it also necessitated the addition of -Wl,-Bsymbolic to the link instructions in liboqs for shared library builds.
It is becoming apparent now that this addition would also be required in further downstream library builds, e.g., leading to this build failure. Proof point: build works with the same link instruction addition.
So the question is: Is it sensible to keep changing (complicating) build instructions in all OQS subprojects (and possible unknown "integrators" of liboqs) due to this code or should we try to get the underlying AVX code in McEliece to build without this "symbols problem" (and simplify liboqs builds)?
Here's the original error code (unresolved by adding -fPIC but resolved by adding -Wl,-Bsymbolic):
/usr/bin/ld: kem/classic_mceliece/CMakeFiles/classic_mceliece_348864_avx.dir/pqclean_mceliece348864_avx/transpose_64x256_sp_asm.S.o: relocation R_X86_64_PC32 against symbol `PQCLEAN_MCELIECE348864_AVX_MASK5_0' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
#920 landed McEliece AVX code leading to a visible performance improvement for this algorithm.
However, it also necessitated the addition of
-Wl,-Bsymbolic
to the link instructions in liboqs for shared library builds.It is becoming apparent now that this addition would also be required in further downstream library builds, e.g., leading to this build failure. Proof point: build works with the same link instruction addition.
So the question is: Is it sensible to keep changing (complicating) build instructions in all OQS subprojects (and possible unknown "integrators" of liboqs) due to this code or should we try to get the underlying AVX code in McEliece to build without this "symbols problem" (and simplify
liboqs
builds)?Here's the original error code (unresolved by adding
-fPIC
but resolved by adding-Wl,-Bsymbolic
):Beta Was this translation helpful? Give feedback.
All reactions