Skip to content
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

"No rule to make target..." installation error on Windows #3854

Open
spasmann opened this issue May 7, 2024 · 3 comments
Open

"No rule to make target..." installation error on Windows #3854

spasmann opened this issue May 7, 2024 · 3 comments

Comments

@spasmann
Copy link

spasmann commented May 7, 2024

Hello,

I've been following the Windows installation instructions using MSYS2 on Windows 11. After generating the config files and running make I'm getting the following error:

make[3]: *** No rule to make target '../../../contrib/exodusii/v5.22/exodus/cbind/include/exodusII.h', needed by 'exodusII.h'.  Stop.
make[3]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include/libmesh'
make[2]: *** [Makefile:1188: all-recursive] Error 1
make[2]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
make[1]: *** [Makefile:1105: all] Error 2
make[1]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
make: *** [Makefile:33497: all-recursive] Error 1

make check outputs a very similar error. Any ideas on what might be wrong?
Thank you!

EDIT:
I had forgotten to replace the symbolic links as suggested with contrib/bin/fix_windows_symlinks.sh. After doing so and regenerating the config files, the error has changed but appears to be similar.

GEN      netcdf.h
GEN      libmesh_config.h
make  all-am
make[4]: Entering directory '/c/Users/Sam/Documents/Github/libmesh/build/include/libmesh'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include/libmesh'
make[3]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include/libmesh'
make[3]: Entering directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
make[3]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
make[2]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
make[1]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/include'
Making all in contrib
make[1]: Entering directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib'
Making all in boost/include
make[2]: Entering directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib/boost/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib/boost/include'
Making all in eigen/eigen
make[2]: Entering directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib/eigen/eigen'
make[2]: *** No rule to make target 'Eigen/Householder', needed by 'all-am'.  Stop.
make[2]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib/eigen/eigen'
make[1]: *** [Makefile:1047: all-recursive] Error 1
make[1]: Leaving directory '/c/Users/Sam/Documents/Github/libmesh/build/contrib'
make: *** [Makefile:33497: all-recursive] Error 1
@spasmann spasmann changed the title ExodusII related installation error on Windows "No rule to make target..." installation error on Windows May 7, 2024
@zxdi
Copy link

zxdi commented May 13, 2024

Almost the same error:

Making all in eigen/eigen
make[2]: Entering directory '/home/zxdi/code/libmesh-1.7.1/contrib/eigen/eigen'
make[2]: *** No rule to make target 'Eigen/src/Core/arch/CUDA/Half.h', needed by 'all-am'. Stop.
make[2]: Leaving directory '/home/zxdi/code/libmesh-1.7.1/contrib/eigen/eigen'
make[1]: *** [Makefile:1020: all-recursive] Error 1
make[1]: Leaving directory '/home/zxdi/code/libmesh-1.7.1/contrib'
make: *** [Makefile:32290: all-recursive] Error 1

Ubuntu 24.04, libmesh-1.7.1

@roystgnr
Copy link
Member

I'm not very familiar with that script (my apologies: libMesh builds on Windows aren't in CI or really supported, we just don't turn down third-party patches from people who've suffered to get it working anyways), but since it's using git ls-files to get the list of symlinks, and since you're hitting a failure in a git submodule, is it possible that we're just failing to recurse into submodules when we should be? Our contributor wouldn't have noticed at the time, because when that script was written we hadn't yet replaced our copy of Eigen with a submodule hash.

@zxdi
Copy link

zxdi commented May 14, 2024

Almost the same error:

Making all in eigen/eigen
make[2]: Entering directory '/home/zxdi/code/libmesh-1.7.1/contrib/eigen/eigen'
make[2]: *** No rule to make target 'Eigen/src/Core/arch/CUDA/Half.h', needed by 'all-am'. Stop.
make[2]: Leaving directory '/home/zxdi/code/libmesh-1.7.1/contrib/eigen/eigen'
make[1]: *** [Makefile:1020: all-recursive] Error 1
make[1]: Leaving directory '/home/zxdi/code/libmesh-1.7.1/contrib'
make: *** [Makefile:32290: all-recursive] Error 1

Ubuntu 24.04, libmesh-1.7.1

Resolved by using another libmesh version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants