I’m getting this error:
$ native-image -jar foo.jar bin/java-Objects.bin ... [bin/java-Objects.bin:24855] classlist: 1,143.29 ms, 0.96 GB [bin/java-Objects.bin:24855] (cap): 1,803.60 ms, 0.96 GB [bin/java-Objects.bin:24855] setup: 2,304.75 ms, 0.96 GB Error: Error compiling query code (in /var/folders/vl/633jwjvn2jvbj9zfg1sgglhw0000gp/T/SVM-3396448792019069231/PosixDirectives.c). Compiler command '/usr/bin/cc -Wall -Werror -ObjC -o /var/folders/vl/633jwjvn2jvbj9zfg1sgglhw0000gp/T/SVM-3396448792019069231/PosixDirectives /var/folders/vl/633jwjvn2jvbj9zfg1sgglhw0000gp/T/SVM-3396448792019069231/PosixDirectives.c' output included error: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/include/sys/resource.h:202:2: error: unknown type name 'uint8_t'
I’m with Clang:
$ clang --version Homebrew clang version 13.0.0 Target: x86_64-apple-darwin20.6.0 Thread model: posix InstalledDir: /usr/local/opt/llvm/bin
It seems that the problem is with this code in sys/resource.h:
#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL #include <stdint.h> #endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
This line with stdint.h doesn’t get included and that’s why uint8_t doesn’t get defined.
Advertisement
Answer
Possible solution
Please, consider trying to follow the instruction from quarkus/faq.adoc at main · quarkusio/quarkus:
1. Native compilation
Native executable fails on macOS with
error: unknown type name 'uint8_t'Your macOS has the wrong
*.hfiles compared to the OS and no gcc compilation will work. This can happen when you migrate from versions of the OS. See Cannot compile any C++ programs; error: unknown type name ‘uint8_t’The solution is to
sudo mv /usr/local/include /usr/local/include.old- Reinstall XCode for good measure
- (optional?)
brew install llvm- generally reinstall your brew dependencies with native compilation
The executable should work now.
The purpose of (the idea behind) renaming the include directory (from include to include.old) seems to be explained in the answer.
Additional references
- Related question. May contain some possible solutions. Broken c++ std libraries on macOS High Sierra 10.13 – Stack Overflow.