View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002432 | FreeCAD | Feature | public | 2016-02-02 18:19 | 2016-03-29 09:52 |
| Reporter | blacey | Assigned To | ian.rees | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Platform | Apple | OS | Mac OS X | OS Version | 10.11.x |
| Product Version | 0.16 | ||||
| Summary | 0002432: Add nglib support to OS X | ||||
| Description | Currently nglib is not support on OS X. Per sgrogan, ~~~~~~~~~ It's actually nglib that needs to be worked out as this is compiled into FreeCAD not the NetGen executable. The problem seems to be the NetGen developers move the header files around (maybe even renaming some) in the source tree. The support is sketchy. Windows works out of the box with the Libpack. Ubuntu works, but NormandC had to add a special NetGen build to the PPA to get it to work. There's a stale pull request that works for Fedora. I don't think anyone has got it to work on Debian. I don't think anybody has made a concerted effort on Mac. ~~~~~~~~~ | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|
|
Need to determine the best approach. We could develop a home-brew formula but then nglib won't be supported when built by another package manager like macports... Thoughts? |
|
|
This was the other thing on my todo list. I was planning on writing a homebrew formula for it, since that is what I'm familiar with. Plus, now we the travis build using homebrew. People who are familiar with macports can then base the port off of the formula. Compiling nglib is not the hard part. (Although, it doesn't work out of the box, IIRC). The hard part is getting it to link with FreeCAD. It was failing with some undefined symbols. I don't think I got as far as figuring out why. Seems like I did git it work once with an older version, but I don't remember now. I'll see if I still have anything related to that hanging around (I don't have the machine that I was doing the builds on anymore, that is why no more 10.6 builds.) Anyway, I would definitely have a look at the deb and rpm source packages to see if their is any relevant patches. Also, I think you will want to use the latest v5 (5.3 or something). Although I used 5.1 in the libpack. Version 4.9.13 is the other version that could work, but it will require more patching I think. Not sure if it is still needed, but this is patch I had to have for version 5: https://github.com/peterl94/clbundler-freecad/blob/master/freecad/win/patches/netgen/occ67.diff Peter |
|
|
MacPorts seems to be very slowly falling out of favour, personally wouldn't worry about it too much. -Ian- |
|
|
I've got this mostly sorted in the MacPorts case - here are the highlights: * netgen 5.3.1 * Add something like #ifndef PI \n #define PI M_PI \n #endif to netgen-5.3.1/libsrc/occ/Partition_Loop2d.cxx after the #includes * Not sure what the best approach is, but the hpp files called out in the findNETGEN cmakelist need to be copied from the source code directory to somewhere accessible to FreeCAD. I'm thinking about putting the files in ${MacPorts_Prefix}/include/netgen on MacPorts * With MacPorts, configure netgen like so (I imagine the --with-occ, CPPFLAGS, and LDFLAGS won't be necessary with Homebrew - they're for finding OCE) : ./configure --enable-nglib --enable-occ --disable-gui --prefix=/Some/Appropriate/Prefix --with-occ=/opt/local/include/oce/ CPPFLAGS=-I/opt/local/include/oce LDFLAGS=-L/opt/local/lib/ * I'll push a new version of the findNETGEN cmakelist soon, the key change is (NGLIB_ROOT) will be MACPORTS_PREFIX in this instance): # We haven't supported Netgen prior to 5.3.1, and the current plan is # for the next Netgen version to be 6.1 (currently unreleased). ADD_DEFINITIONS(-DNETGEN_V5) FIND_PATH(NGLIB_INCLUDE_DIR nglib.h ${NGLIB_ROOT}/include) FIND_LIBRARY(NGLIB_LIBNGLIB nglib ${NGLIB_ROOT}/lib) FIND_LIBRARY(NGLIB_LIBMESH mesh ${NGLIB_ROOT}/lib) FIND_LIBRARY(NGLIB_LIBOCC occ ${NGLIB_ROOT}/lib) FIND_LIBRARY(NGLIB_LIBINTERFACE interface ${NGLIB_ROOT}/lib) SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB} ${NGLIB_LIBMESH} ${NGLIB_LIBOCC} ${NGLIB_LIBINTERFACE}) |
|
|
https://trac.macports.org/ticket/50687 and https://github.com/FreeCAD/FreeCAD/pull/96 should resolve this for MacPorts users (though I haven't tried making relocatable application bundles yet). I'll leave this issue open until we get Homebrew support going, as travis builds are where it's at :). |
|
|
Ian, given your great work here https://github.com/Homebrew/homebrew-science/pull/3455 it seems we should re-assign this ticket to you. ;) THANKS! :) |
|
|
I assigned it to myself about a month ago :). Will see how the Homebrew pull request goes, I'm hopeful that it will get integrated a bit faster than MacPorts (Sean has been busy with work), but if not I can host it as a "tap" like we currently use for coin. |
|
|
Fixed with commit 27f12ae3deae36566f6e618df2210a8bff3f4d41 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-02-02 18:19 | blacey | New Issue | |
| 2016-02-02 18:20 | blacey | Note Added: 0006796 | |
| 2016-02-02 23:07 | peterl94 | Note Added: 0006799 | |
| 2016-02-04 06:18 | ian.rees | Note Added: 0006803 | |
| 2016-02-20 10:58 | ian.rees | Note Added: 0006840 | |
| 2016-02-21 00:50 | ian.rees | Note Added: 0006841 | |
| 2016-02-21 00:55 | ian.rees | Assigned To | => ian.rees |
| 2016-02-21 00:55 | ian.rees | Status | new => assigned |
| 2016-03-20 02:19 | blacey | Note Added: 0006915 | |
| 2016-03-20 02:19 | blacey | Note Edited: 0006915 | |
| 2016-03-20 08:48 | ian.rees | Note Added: 0006916 | |
| 2016-03-29 09:52 | ian.rees | Note Added: 0006935 | |
| 2016-03-29 09:52 | ian.rees | Status | assigned => closed |
| 2016-03-29 09:52 | ian.rees | Resolution | open => fixed |
FreeCAD