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

5.6.2 #99

Merged
merged 16 commits into from
Dec 12, 2023
Merged

5.6.2 #99

merged 16 commits into from
Dec 12, 2023

Conversation

minrk
Copy link
Member

@minrk minrk commented Dec 12, 2023

closes #64
closes #83
closes #98

no longer need our shared-library patches

haven't looked at Windows yet

@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

- make allshared, remove shared-build patches
- handle soname on mac
@traversaro
Copy link
Contributor

Windows fails with:

2023-12-12T09:37:47.7893090Z -- Looking for Fortran cheev
2023-12-12T09:37:48.3337810Z -- Looking for Fortran cheev - found
2023-12-12T09:37:48.3352346Z -- Found LAPACK: D:/bld/mumps_1702373512541/_h_env/Library/lib/lapack.lib;D:/bld/mumps_1702373512541/_h_env/Library/lib/blas.lib  
2023-12-12T09:37:48.3428600Z -- Configuring done (26.5s)
2023-12-12T09:37:48.3521571Z CMake Error at CMakeLists.txt:128 (add_library):
2023-12-12T09:37:48.3522693Z   Cannot find source file:
2023-12-12T09:37:48.3523316Z 
2023-12-12T09:37:48.3524027Z     src/mumps_size.c
2023-12-12T09:37:48.3524583Z 
2023-12-12T09:37:48.3525152Z   Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm
2023-12-12T09:37:48.3525894Z   .ccm .cxxm .c++m .h .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90
2023-12-12T09:37:48.3526562Z   .f95 .f03 .hip .ispc
2023-12-12T09:37:48.3527119Z 
2023-12-12T09:37:48.3527544Z 
2023-12-12T09:37:48.4032312Z CMake Error at CMakeLists.txt:128 (add_library):
2023-12-12T09:37:48.4034075Z   No SOURCES given to target: mumps_common
2023-12-12T09:37:48.4034775Z 

Based on https://github.com/scivision/mumps/blob/44fb7e74b5780a3ea1c26a76a55298a2c34279fe/cmake/mumps.cmake#L62, I guess we just need to remove that file from the CMakeLists.txt (and add some other files that I have been added). @minrk I can directly modify the CMakeLists.txt in your branch if that is ok for you.

@minrk
Copy link
Member Author

minrk commented Dec 12, 2023

@Traverso thanks for the offer! I've updated the CMakeLists based on a diff of src/Makefile from 5.2.1 to 5.6.2, hopefully that will be enough. I'll ping you if it turns out to be any more complicated than that.

not sure what's up here, only seems to fail for osx-arm64
@minrk
Copy link
Member Author

minrk commented Dec 12, 2023

Everything appears to work except mac arm builds, which can't find libgfortran at link time for mysterious reasons:

/Users/runner/miniforge3/conda-bld/mumps_1702375244650/_build_env/bin/arm64-apple-darwin20.0.0-gfortran -fPIC -march=armv8.3-a -ftree-vectorize -fPIC -fno-stack-protector -O2 -pipe -isystem /Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/work=/usr/local/src/conda/mumps-seq-5.6.2 -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla=/usr/local/src/conda-prefix -fallow-argument-mismatch -fPIC -march=armv8.3-a -ftree-vectorize -fPIC -fno-stack-protector -O2 -pipe -isystem /Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/work=/usr/local/src/conda/mumps-seq-5.6.2 -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla=/usr/local/src/conda-prefix -fallow-argument-mismatch -fPIC -march=armv8.3-a -ftree-vectorize -fPIC -fno-stack-protector -O2 -pipe -isystem /Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/work=/usr/local/src/conda/mumps-seq-5.6.2 -fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/mumps_1702375244650/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla=/usr/local/src/conda-prefix -fallow-argument-mismatch -shared mpi.o mpic.o elapse.o -o libmpiseq_seq.dylib
ld: library not found for -lgfortran
collect2: error: ld returned 1 exit status

I copied conda-forge/climlab-feedstock#62 which faced the same error, we'll see if the same fix works.

@Traverso can you check if the Windows paths are correct now? I took a stab at #64 and the updated expectations in meta.yaml pass, but I'm not 100% sure I've updated the expectations correctly (DLLs in bin, LIBs in lib).

@traversaro
Copy link
Contributor

@Traverso thanks for the offer! I've updated the CMakeLists based on a diff of src/Makefile from 5.2.1 to 5.6.2, hopefully that will be enough. I'll ping you if it turns out to be any more complicated than that.

Great, thanks!

@traversaro
Copy link
Contributor

@Traverso can you check if the Windows paths are correct now? I took a stab at #64 and the updated expectations in meta.yaml pass, but I'm not 100% sure I've updated the expectations correctly (DLLs in bin, LIBs in lib).

Everything seems correct now. Just FYI, since CMake 3.14 the default arguments for DESTINATION already do the right thing, so a possible fix is also to just get rid of DESTINATION argument of install(TARGETS ...) at all.

@minrk
Copy link
Member Author

minrk commented Dec 12, 2023

I'm at a loss on the mac-arm64-nompi builds, which are the only ones failing now. I don't know what else to try. I assume I'm just missing something in the FFLAGS or the right package in build and/or host.

FL instead of FC, pass LDFLAGS to linker
@minrk
Copy link
Member Author

minrk commented Dec 12, 2023

actually, I do have an idea for possibly missing linker flags on the failing entry

@minrk
Copy link
Member Author

minrk commented Dec 12, 2023

Huzzah! 5769967 works. The problem was $LDFLAGS wasn't getting passed along to libpord_seq and libmpi_seq, and adding them fixes things. One more commit to make sure that the addition of libgfortran to host dependencies wasn't necessary, and it should be all set.

@minrk minrk merged commit 2ca0931 into conda-forge:main Dec 12, 2023
18 checks passed
@minrk minrk deleted the 5.6.2_h47493a branch December 12, 2023 15:22
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

Successfully merging this pull request may close these issues.

Support for newer versions? Windows package installs .lib files in Library\bin\
3 participants