Code Monkey home page Code Monkey logo

Comments (5)

nschloe avatar nschloe commented on August 24, 2024

Nope, not planned.

from pygalmesh.

gnikit avatar gnikit commented on August 24, 2024

@nschloe for pip cross-compiling is a pain^1, but for conda-forge it shouldn't be a problem. I couldn't spot any host or run time dependencies that are not already available and cross-platform in conda-forge. Any idea why conda-forge is not building for the rest of the architectures?


^1: FYI if you use GitHub Actions (or another CI) for your PyPi releases you then leverage scikit-build and CMake to build wheels cross-platform

from pygalmesh.

totomobile43 avatar totomobile43 commented on August 24, 2024

I was able to compile this on an M1 mac. Haven't tested everything but re-meshing seems to work fine. Just pip install pygalmesh as usual and it will trigger the compile.

The 2 main steps to get this working were:

  • There are some missing includes, and cgal is trying to find them in /usr/include. If you use brew, it puts them in /opt/homebrew/include. I just copied the relevant folders from this brew location to /usr/include, which are: boost, CGAL and Eigen. Keep in mind not to copy eigen3 as the folder, but the inner folders containing the header files.
  • There was a library linking problem with lgmp, for this I added the following to my .zshsrc file: export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/lib". If you use bash, then adjust accordingly.

I tried symlinking and adding to the INCLUDE_PATH in my zshsrc file to solve the first point, but it didn't work out. Maybe someone else can figure this part out. Hopefully this helps someone else out.

from pygalmesh.

WPCJATH avatar WPCJATH commented on August 24, 2024

I was able to compile this on an M1 mac. Haven't tested everything but re-meshing seems to work fine. Just pip install pygalmesh as usual and it will trigger the compile.

The 2 main steps to get this working were:

  • There are some missing includes, and cgal is trying to find them in /usr/include. If you use brew, it puts them in /opt/homebrew/include. I just copied the relevant folders from this brew location to /usr/include, which are: boost, CGAL and Eigen. Keep in mind not to copy eigen3 as the folder, but the inner folders containing the header files.
  • There was a library linking problem with lgmp, for this I added the following to my .zshsrc file: export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/lib". If you use bash, then adjust accordingly.

I tried symlinking and adding to the INCLUDE_PATH in my zshsrc file to solve the first point, but it didn't work out. Maybe someone else can figure this part out. Hopefully this helps someone else out.

Thanks for the solution, these steps are really useful.

And since now is 2023, there are version problems, i.e., pygalmesh doesn't install with the newest version of CGAL. It reports things like: src/generate.cpp:170:13: error: call to 'odt' is ambiguous

The solution is that install a previous version of CGAL via brew which you can refer to https://nelson.cloud/how-to-install-older-versions-of-homebrew-packages/

I installed CGAL 5.3.1 and then successfully installed pygalmesh.

from pygalmesh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.