Skip to content

Instantly share code, notes, and snippets.

@ipatch
Last active August 9, 2021 18:41
Show Gist options
  • Save ipatch/6d52d3bfdd85b688215f6e9d201fb589 to your computer and use it in GitHub Desktop.
Save ipatch/6d52d3bfdd85b688215f6e9d201fb589 to your computer and use it in GitHub Desktop.
freecad build issues macos big sur

freecad build issue on macos big sur (building FreeCAD.app apple app bundle)

issues with finding/linking proper gcc libraries, as of august 9, 2021 brew provides gcc at version 11, and also a gcc@10 formula, however to bump the make install process along i manually created smylinks to aid the install process.

Cellar/gcc/11.2.0/lib/gcc/11/libquadmath.a
Cellar/gcc/11.2.0/lib/gcc/11/libquadmath.0.dylib
Cellar/gcc@10/10.3.0/lib/gcc/10/libquadmath.0.dylib
Cellar/gcc@10/10.3.0/lib/gcc/10/libquadmath.a

freecad / build issue / finding linked libraries within the (brew --prefix) dir

-- INFO: Analyzing bundle dependencies...
error: /Library/Developer/CommandLineTools/usr/bin/otool-classic: can't open file: /usr/local/opt/netcdf/lib/libnetcdf.18.dylib (No such file or directory)
-- ERROR: Failed to resolve dependency in /usr/local/opt/netcdf/lib/libnetcdf.18.dylib
Traceback (most recent call last):
  File "/Users/chris/code/freecad-git/freecad-src/src/Tools/MakeMacBundleRelocatable.py", line 388, in <module>
    main()
  File "/Users/chris/code/freecad-git/freecad-src/src/Tools/MakeMacBundleRelocatable.py", line 371, in main
    build_deps_graph(graph, bundle_path, dir_filter, search_paths)
  File "/Users/chris/code/freecad-git/freecad-src/src/Tools/MakeMacBundleRelocatable.py", line 238, in build_deps_graph
    deps = create_dep_nodes(list_install_names(k2), s_paths)
  File "/Users/chris/code/freecad-git/freecad-src/src/Tools/MakeMacBundleRelocatable.py", line 111, in list_install_names
    output = check_output(["otool", "-L", path_macho])
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 223, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['otool', '-L', '/usr/local/opt/netcdf/lib/libnetcdf.18.dylib']' returned non-zero exit status 1
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/License.txt
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/Schenkel.stp
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/draft_test_objects.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/EngineBlock.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/PartDesignExample.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/RobotExample.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/ArchDetail.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/FemCalculixCantilever2D.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/FemCalculixCantilever3D.FCStd
-- Up-to-date: /Users/chris/code/beta/freecad.apl/FreeCAD.app/Contents/share/examples/FemCalculixCantilever3D_newSolver.FCStd

my hypothesis 🧐❓ to the above netcdf library not found issue

using brew uses --installed netcdf it seems [email protected] has a dependency of netcdf, so if [email protected] is installed via a bottle that was built using an older version of netcdf then referencing the vtk library to build an apple app bundle will error, ie. the one above because the current library does not match against the one that was used at build time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment