-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[Bug]: Build break in LLVM v19 #3045
Comments
I've just tried to build dlib and
|
I am using Emscripten v4.0.0 to build ONNXRuntime, while dlib is an indirect dependency. I checked the toolset version. The LLVM binaries version is 322eb1a92e6d4266184060346616fa0dbe39e731: The versions of compiler-rt, libcxx, libcxxabi, and libunwind is 19.1.6 according to ChangeLog. Full build log is here. |
I am new here, any help which I can provide? |
If you would like to help, please follow the steps below:
The DLib source will be located at You should be able to see the build error. Please let me know if you have any questions regarding setting up environment. |
@fs-eire hey thanks for the steps, I will take a look today and get back .. |
Hi ! 🙂 Getting the same issue here while trying the following with Emscripten
Which gives
I tried rolling back the repo to the last commit where i tried this and it worked 44689c1, but this seems to fail as well with the same errors. So I believe this issue is related to Emscripten. |
@michel-mexique do you mean that an older version of emscripten can compile dlib successfully, or do you mean that emscripten v4.0.1 can compile an older version of dlib successfully? |
I failed to compile an older version of dlib (that worked before) on the latest version of emscripten so maybe try rolling back versions of emscripten ? |
This is expected. I think latest EMSDK uses newer LLVM so this is why it fails. The reason in one sentence is: dlib uses You can check the description of this issue for more details. |
Yes seems to be related to release of emscripten 4.0.0 on Jan 14. Will roll back to 3.1.74. Thank you ! |
Well, latest dlib compiles on emscripten 3.1.74. No idea how to fix this long term but that will do for today. |
Rolling back the version to 3.1.74 is not a "fix". It is a "workaround", but unfortunately this workaround does not work for me. I need to use latest EMSDK in onnxruntime build, because version v4.0.1 contains a compiler fix that is needed in onnxruntime. In my understanding, a correct fix should be updating the code of I know this may not be easy to fix and WebAssembly may be not considered as a very important usage for dlib. But eventually this need to be fixed, as future version of other compiler may deprecate it too. |
You can probably just find/replace it to |
I tried that, but as explained in the issue summary:
It is not easy as a one liner. |
What Operating System(s) are you seeing this problem on?
Other (plase, specify in the Steps to Reproduce)
dlib version
19.24.6
Python version
No response
Compiler
clang 19
Expected Behavior
Build pass.
Current Behavior
in unicode/unicode.h,
unichar
is defined touint32
, andstd::char_traits<unichar>
is used but the template instantiation failed because LLVM libc++ v19 deprecated this behavior:https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
Simply replacing
using unichar = uint32;
tousing unichar = char32_t;
does not fix this build error because it causes other code to fail (eg serialize.h)Steps to Reproduce
Build with Clang 19
Anything else?
No response
The text was updated successfully, but these errors were encountered: