conda-forge / metis-feedstock

A conda-smithy repository for metis.
BSD 3-Clause "New" or "Revised" License
0 stars 19 forks source link

Update/5.1.1 #32

Closed mikemhenry closed 1 year ago

mikemhenry commented 1 year ago

Checklist

conda-forge-webservices[bot] commented 1 year ago

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.

mikemhenry commented 1 year ago

Taking what @hadim did in https://github.com/conda-forge/metis-feedstock/pull/30 and doing a fresh render to see what happens, @hadim is testing if we can use metis 5.2.1 with dgl

mikemhenry commented 1 year ago

@basnijholt @SylvainCorlay

What are your thoughts on this PR? I can't get the windows build to work, but it would be nice to have a more updated version of metis on conda-forge.

The windows error:

-- Configuring incomplete, errors occurred!
NMAKE : fatal error U1052: file 'Makefile' not found
Stop.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
        1 file(s) copied.
'mpmetis.exe' is not recognized as an internal or external command,
operable program or batch file.
mikemhenry commented 1 year ago

Another issue with the windows build:

CMake Error at CMakeLists.txt:43 (add_subdirectory):
  add_subdirectory given source "build/xinclude" which is not an existing
  directory.
hadim commented 1 year ago

Another issue with the windows build:

CMake Error at CMakeLists.txt:43 (add_subdirectory):
  add_subdirectory given source "build/xinclude" which is not an existing
  directory.

Could it be because of some strange monkey patching the Makefile is doing at https://github.com/KarypisLab/METIS/blob/22008804e8c9b78893ae10a94c0d8b4b592438b4/Makefile#L67 ?

hadim commented 1 year ago

See also special instructions for windows: https://github.com/KarypisLab/METIS/blob/v5.1.1-DistDGL-v0.5/BUILD-Windows.txt

That being said merging without windows is fine for me. This can always be tackled at another time.

mikemhenry commented 1 year ago

@basnijholt @SylvainCorlay

I will give another pass at getting windows support working but no promises. The aarch64 build on travis passes, but the ppc64le build seems to die but I am not sure why:

make[1]: Entering directory '$SRC_DIR/build'

$BUILD_PREFIX/bin/cmake -S$SRC_DIR -B$SRC_DIR/build --check-build-system CMakeFiles/Makefile.cmake 0

$BUILD_PREFIX/bin/cmake -E cmake_progress_start $SRC_DIR/build/CMakeFiles $SRC_DIR/build//CMakeFiles/progress.marks

make  -f CMakeFiles/Makefile2 all

make[2]: Entering directory '$SRC_DIR/build'

make  -f libmetis/CMakeFiles/metis.dir/build.make libmetis/CMakeFiles/metis.dir/depend

make[3]: Entering directory '$SRC_DIR/build'

cd $SRC_DIR/build && $BUILD_PREFIX/bin/cmake -E cmake_depends "Unix Makefiles" $SRC_DIR $SRC_DIR/libmetis $SRC_DIR/build $SRC_DIR/build/libmetis $SRC_DIR/build/libmetis/CMakeFiles/metis.dir/DependInfo.cmake --color=

make[3]: Leaving directory '$SRC_DIR/build'

make  -f libmetis/CMakeFiles/metis.dir/build.make libmetis/CMakeFiles/metis.dir/build

make[3]: Entering directory '$SRC_DIR/build'

[  1%] Building C object libmetis/CMakeFiles/metis.dir/__/GKlib/b64.c.o

cd $SRC_DIR/build/libmetis && $BUILD_PREFIX/bin/powerpc64le-conda-linux-gnu-cc -Dmetis_EXPORTS -I$SRC_DIR/GKlib -I$SRC_DIR/build/xinclude -I$SRC_DIR/libmetis/. -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/metis-5.1.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DLINUX -D_FILE_OFFSET_BITS=64 -std=c99 -fno-strict-aliasing -march=native -fPIC -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H -DHAVE_GETLINE -O3 -fPIC -MD -MT libmetis/CMakeFiles/metis.dir/__/GKlib/b64.c.o -MF CMakeFiles/metis.dir/__/GKlib/b64.c.o.d -o CMakeFiles/metis.dir/__/GKlib/b64.c.o -c $SRC_DIR/GKlib/b64.c

make[3]: Leaving directory '$SRC_DIR/build'

make[2]: Leaving directory '$SRC_DIR/build'

make[1]: Leaving directory '$SRC_DIR/build'

The command "if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi" exited with 1.

I am also willing to help maintain this package.

mikemhenry commented 1 year ago

@hadim I think you are right but doing a quick search, it doesn't look like other conda-forge packages use vsgen I'd rather fix the build stuff upstream anyway (or after we get this in with a patch)

mikemhenry commented 1 year ago

@basnijholt @SylvainCorlay

I added myself to the maintainers. Could we get this merged in?

I am happy to keep working on improving this feedstock but right now this PR is blocking https://github.com/conda-forge/staged-recipes/pull/22691 so I rather get this merged in now, then fix things up :)

Thanks!

hadim commented 1 year ago

@mikemhenry should you add skip : true [win] + regenerate to prevent the CI to fail on main?

mikemhenry commented 1 year ago

I can, I'll get ppc64le skipped as well

mikemhenry commented 1 year ago

@basnijholt @SylvainCorlay

This is ready for merge/review :)

isuruf commented 1 year ago

@conda-forge-admin, rerender

mikemhenry commented 1 year ago

~Not sure why we are getting win and ppc64le builds again skip: true # [win or ppc64le] worked fine in https://github.com/conda-forge/metis-feedstock/pull/32/commits/16d87d72d94cea920f3a30b7a47fe2aa3c63aaa2~

~but now it doesn't seem to be working~

mikemhenry commented 1 year ago

@conda-forge-admin, rerender

github-actions[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/metis-feedstock/actions/runs/5557423174.

jakirkham commented 1 year ago

Looks like it is passing! 🟢 🎉

mikemhenry commented 1 year ago

@isuruf @jakirkham could I get another review on this when you have the time? Thanks!

basnijholt commented 1 year ago

@mikemhenry, LGTM :)

Where did you base those patches on though? They seem to touch quite a lot of source code.

mikemhenry commented 1 year ago

:wave: @basnijholt

Based off of https://github.com/KarypisLab/METIS/releases/tag/v5.1.1-DistDGL-v0.5 and pulls in https://github.com/KarypisLab/METIS/pull/44 (there was a PR that fixed some typo things that I think was also pulled in, which is why it touches so much). My plan is to revamp the build system and get GKLib working as well for 5.2.1, so this is mostly a band-aid so I can get DGL onto conda-forge.

mikemhenry commented 1 year ago

@basnijholt Also I hope it is okay that I've added myself to the maintainers list

akhmerov commented 1 year ago

This version seems to cause segfaults in downstream libraries (to reproduce install kwant in a fresh conda environment and run python -c "import kwant; kwant.test()"), any idea what could be the reason?

mikemhenry commented 1 year ago

@akhmerov I will take a look, can you raise this as an issue here? I don't want it to get lost here

akhmerov commented 1 year ago

35