-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[Build] expected a type, got ‘Eigen::PropagateNaN’ #23436
Comments
This looks like a genuine issue with the onnxruntime_external_deps.cmake file. On line 545 I added some debug statements.
Re-running the build triggered the following message.
So cmake is trying to use my system eigen, even though I have not specified the --use_preinstalled_eigen flag. |
Here is a patch that fixes the error.
|
Look at this: #23413 (comment) |
@eKevinHoang It looks to be the same bug. The issue is that the build script takes an argument called |
@axbycc-mark You need to download Eigen from the source code mentioned in the comment above to build ONNX Runtime. The reason is that Eigen has not released a new version, and it is currently missing some required updates. Installing Eigen is straightforward and supports Hope this helps! |
@eKevinHoang You may be misunderstanding the situation. The build script is set up to automatically download the correct version of Eigen. It's supposed to happen as long as the user does not specify |
Please use the latest code from the main branch and set FETCHCONTENT_TRY_FIND_PACKAGE_MODE to NEVER if you do not want the build to prefer using system libs. |
Thanks for the tip @snnn . However I think this is still a bug on the main branch. The flag below has no effect. onnxruntime/tools/ci_build/build.py Line 584 in 25f4274
Whether you specify it or not, the build will use the system Eigen if it exists. |
The "use_preinstalled_eigen" flag is deprecated. It was added for one special case. |
If you have a preinstalled eigen, you can configure it in a way that cmake's find_package function can find it. Then Onnx runtime will consume it through find_package. |
Describe the issue
Building on Ubuntu 22.04, tag v1.20.1, using command
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --use_cuda --cuda_home /usr/local/cuda-12.5 --cudnn_home /usr/lib/x86_64-linux-gnu
.The error was the following.
I did a string search of the whole repo for "PropagateNaN" and did not find any definitions for this expression. I understand it should be defined by the Eigen library, but I'm also not finding where Eigen is located in the source tree.
I found a related issue here #22679, but the user fixed it by switching to a different version.
Urgency
No response
Target platform
x86-64
Build script
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --use_cuda --cuda_home /usr/local/cuda-12.5 --cudnn_home /usr/lib/x86_64-linux-gnu
Error / output
Visual Studio Version
No response
GCC / Compiler Version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
The text was updated successfully, but these errors were encountered: