Comments (10)
Yes, when debug is active, those error messages are expected (as part of the trial-and-error to autodetect).
This bug is fixed in v3.20.0.
from pycryptodome.
Thanks for the flagging. Can you suggest a way to replicate this problem without having to fully compile from scratch the most recent gcc14 candidate (e.g., some Docker image)?
from pycryptodome.
I don't think there are docker images for gcc itself, but you could use a gentoo image, and build gcc-14 with portage.
from pycryptodome.
Let me see. I think there might be something I can arrange. I will get back to you.
from pycryptodome.
OK, try https://jwakely.github.io/pkg-gcc-latest/. They're unofficial builds from one of the GCC maintainers.
The example Dockerfile on that page works for me:
FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y build-essential wget
RUN wget --quiet https://kayari.org/gcc-latest/gcc-latest.deb
RUN dpkg -i gcc-latest.deb
RUN /opt/gcc-latest/bin/gcc --version
with:
docker build -t gcc gcc/
docker run -it gcc
from pycryptodome.
Thanks @thesamesam!
Unfortunately, with that GCC14 version and OS, I can't reproduce the problem (as in, the library builds fine with export CFLAGS="-O2 -lto"
.
@kostadinsh if this is still a problem for you, can you also retry by setting PYCRYPTODOME_DEBUG=1
, then you get a complete dump of all the autodetect logic.
from pycryptodome.
These appeard with the env variable set:
build/test1.c:3:6: error: #error Not clang
3 | #error Not clang
| ^~~~~
build/test1.c:2:14: fatal error: intrin.h: No such file or directory
2 | #include <intrin.h>
| ^~~~~~~~~~
compilation terminated.
build/test1.c:2:14: fatal error: intrin.h: No such file or directory
2 | #include <intrin.h>
| ^~~~~~~~~~
compilation terminated.
In file included from build/test1.c:2:
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/wmmintrin.h: In function ‘f’:
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to ‘always_inline’ ‘_mm_clmulepi64_si128’: target specific option mismatch
103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
| ^~~~~~~~~~~~~~~~~~~~
build/test1.c:6:16: note: called from here
6 | return _mm_clmulepi64_si128(x, y, 0x00);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
from pycryptodome.
I think I found the issue, and pushed a fix to master (b408368). Please try if you have a chance.
from pycryptodome.
A few new things popped up with the debug variable, but the build finishes fine.
build/test1.c:3:6: error: #error Not clang
3 | #error Not clang
| ^~~~~
build/test1.c:2:14: fatal error: intrin.h: No such file or directory
2 | #include <intrin.h>
| ^~~~~~~~~~
compilation terminated.
build/test1.c:2:14: fatal error: intrin.h: No such file or directory
2 | #include <intrin.h>
| ^~~~~~~~~~
compilation terminated.
In function ‘f’,
inlined from ‘main’ at build/test1.c:11:13:
build/test1.c:5:16: error: ‘__builtin_ia32_aesenc128’ needs isa option -mvaes -mavx512vl -maes -msse2
5 | return _mm_aesenc_si128(x, y);
| ^
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-gcc returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
In file included from build/test1.c:2:
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/wmmintrin.h: In function ‘f’:
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to ‘always_inline’ ‘_mm_clmulepi64_si128’: target specific option mismatch
103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
| ^~~~~~~~~~~~~~~~~~~~
build/test1.c:6:16: note: called from here
6 | return _mm_clmulepi64_si128(x, y, 0x00);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
from pycryptodome.
Just want to say thank you for addressing this quickly and the assistance. It helps a lot when testing many packages with upcoming releases.
from pycryptodome.
Related Issues (20)
- object of type 'DerOctetString' has no len() HOT 1
- Tests cannot be run on non-x86 architectures HOT 8
- "Incorrect decryption." using PyCryptodome's RSA functionality. HOT 1
- 3.19.0: pytest is failing HOT 3
- Plans for KangarooTwelve? HOT 4
- AES CFB mode and AES OFB mode have different first block given same key and IV.
- Enhancement Request: Add `usedforsecurity` Argument to Hash Functions to Indicate Security Context Usage HOT 3
- Make PKCS8.wrap() parameters available when exporting keypair to PEM (feature request) HOT 1
- "AES" is unknown import symbolPylancereportGeneralTypeIssues (import) AES: Unknown HOT 4
- pycryptodome 3.20.0 fails on Debian armel HOT 1
- pycryptodome 3.20.0 fails on Debian mips64el HOT 1
- Question: What are the fix patches for CVE-2023-52323? HOT 4
- Evalue e'th modular root
- AES-GCM: why BLAKE2s? HOT 1
- Win10 FFIError: multiple declarations of function Salsa20_8_core (for interactive usage, try cdef(xx, override=True))
- Windows Deferder Error HOT 2
- errors in documentation
- Problem Kodi 20.5 + pycryotodome
- Possible dereference of null pointer.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycryptodome.