Skip to content

ENH: Add additional platform builds#7

Draft
matthewfeickert wants to merge 5 commits into
conda-forge:mainfrom
matthewfeickert:enh/add-other-builds
Draft

ENH: Add additional platform builds#7
matthewfeickert wants to merge 5 commits into
conda-forge:mainfrom
matthewfeickert:enh/add-other-builds

Conversation

@matthewfeickert
Copy link
Copy Markdown
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • [N/A] Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@matthewfeickert
Copy link
Copy Markdown
Member Author

@conda-forge-admin, please rerender

@conda-forge-admin
Copy link
Copy Markdown
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/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

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

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • ❌ Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [48]

@conda-forge-admin
Copy link
Copy Markdown
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/meta.yaml) and found it was in an excellent condition.

@matthewfeickert
Copy link
Copy Markdown
Member Author

@conda-forge-admin, please rerender

@matthewfeickert matthewfeickert mentioned this pull request Dec 20, 2024
3 tasks
* Add build support for linux_aarch64 and osx_arm64.
* Bump build number.
@matthewfeickert
Copy link
Copy Markdown
Member Author

@conda-forge-admin, please rerender

@matthewfeickert
Copy link
Copy Markdown
Member Author

matthewfeickert commented Dec 21, 2024

Hm, it seems like

+IF(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")

might not be the correct choice for cross-compiling, given that the Linux aarch64 build logs are showing it trying to link against libquadmath

// Path to a library.
QUADMATH_LIBRARY:FILEPATH=$BUILD_PREFIX/lib/libquadmath.so

[  5%] Building CXX object CMakeFiles/qcdloop.dir/src/box.cc.o
[ 11%] Building CXX object CMakeFiles/qcdloop.dir/src/bubble.cc.o
[ 17%] Building CXX object CMakeFiles/qcdloop.dir/src/cache.cc.o
[ 23%] Building CXX object CMakeFiles/qcdloop.dir/src/qcdloop.cc.o
[ 29%] Building CXX object CMakeFiles/qcdloop.dir/src/tadpole.cc.o
[ 35%] Building CXX object CMakeFiles/qcdloop.dir/src/tools.cc.o
[ 41%] Building CXX object CMakeFiles/qcdloop.dir/src/topology.cc.o
[ 47%] Building CXX object CMakeFiles/qcdloop.dir/src/triangle.cc.o
[ 52%] Building CXX object CMakeFiles/qcdloop.dir/src/types.cc.o
[ 58%] Building CXX object CMakeFiles/qcdloop.dir/src/wrapper.cc.o
[ 64%] Linking CXX shared library libqcdloop.so
/home/conda/feedstock_root/build_artifacts/qcdloop_1734767473809/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/qcdloop_1734767473809/_build_env/lib/libquadmath.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/qcdloop.dir/build.make:246: libqcdloop.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/qcdloop.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

which not doing is the goal. Although, CMAKE_ARGS is being set to

CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strip -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64

so given the -DCMAKE_SYSTEM_PROCESSOR=aarch64 it seems like

+IF(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")

should work. :?

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.

2 participants