Skip to content

Build fails on macOS sequoia with clang and GCC #3574

@define-private-public

Description

@define-private-public

I'm trying to build a synfig for the latest version of macOS. I tried using clang 17 and kept on seeing this error when using the 2-build-cmake.sh script:

[171/950] Building CXX object synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/rendererpreviewsw.cpp.o
...
In file included from /Users/ben/Projects/synfig/synfig-core/src/synfig/rendering/software/function/fft.h:33:
/Users/ben/Projects/synfig/synfig-core/src/synfig/rendering/software/function/array.h:432:59: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
  432 |                 { for(Iterator i(*this); i; ++i) i.get_array().template fill(x); }
      |                                                                         ^
1 error generated.

I'm not too familiar with the code base but this doesn't look like valid C++ to me.

When I switched over to GCC (14.2), I was met with a linking error:

[293/950] Linking CXX shared library output/Release/lib/libsynfig.dylib
FAILED: output/Release/lib/libsynfig.dylib
: && /opt/homebrew/bin/g++-14 -O3 -DNDEBUG -arch arm64 -dynamiclib -Wl,-headerpad_max_install_names  -o output/Release/lib/libsynfig.dylib -install_name @rpath/libsynfig.dylib synfig-core/src/synfig/CMakeFiles/libsynfig.dir/activepoint.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/bone.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/blur.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/canvas.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/context.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/curve_helper.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/curveset.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/distance.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/exception.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/guid.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/importer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/keyframe.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/loadcanvas.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/main.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/module.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/node.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/os.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/palette.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/paramdesc.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/polynomial_root.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rect.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/renddesc.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/render.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/savecanvas.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/string_helper.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/synfig_iterations.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/surface.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/target.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/time.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/timepointcollect.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/transform.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/uniqueid.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenode.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenode_registry.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/waypoint.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/matrix.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filesystem.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filesystem_path.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filesystemnative.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filesystemgroup.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filesystemtemporary.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filecontainer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/filecontainerzip.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/zstreambuf.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valueoperations.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/soundprocessor.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/canvasfilenaming.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/token.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/threadpool.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/curve.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/target_multi.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/target_scanline.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/target_tile.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/listimporter.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/blinepoint.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/widthpoint.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/dashitem.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/gradient.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/type.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/base_types.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/value.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/color/color.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/color/colormatrix.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/color/pixelformat.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_bitmap.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_composite.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_composite_fork.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_duplicate.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_filtergroup.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_group.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_invisible.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_meshtransform.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_mime.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_motionblur.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_pastecanvas.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_polygon.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_rendering_task.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_shape.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_solidcolor.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_sound.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_skeleton.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_skeletondeformation.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/layers/layer_switch.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/optimizer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/renderer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/renderqueue.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/surface.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/task.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/surfacefile.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/surfacememoryreadwrapper.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerblendassociative.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerblendmerge.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerblendtotarget.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerdraft.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerlist.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizersplit.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizertransformation.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/optimizer/optimizerpass.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskblend.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskblur.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskcontour.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskdistort.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/tasklayer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskmesh.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/taskpixelprocessor.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/common/task/tasktransformation.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/bend.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/contour.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/intersector.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/mesh.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/polyspan.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/transformation.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/primitive/transformationaffine.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/rendererdraftsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/rendererlowressw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/renderersafe.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/rendererpreviewsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/renderersw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/surfacesw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/surfaceswpacked.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/blur.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/blur_iir_coefficients.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/contour.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/fft.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/mesh.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/packedsurface.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/function/resample.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskblendsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskblursw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskcontoursw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskdistortsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/tasklayersw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskmeshsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskpaintpixelsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskpixelcolormatrixsw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/taskpixelgammasw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/tasktransformationaffinesw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/rendering/software/task/tasksw.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_add.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_and.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_anglestring.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_animated.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_animatedfile.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_animatedinterface.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_atan2.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_bline.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_blinecalctangent.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_blinecalcvertex.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_blinecalcwidth.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_blinereversetangent.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_compare.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_composite.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_const.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_cos.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_dilist.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_dotproduct.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_duplicate.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_dynamiclist.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_exp.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_gradientcolor.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_gradientrotate.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_greyed.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_integer.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_intstring.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_join.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_linear.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_log.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_modulo.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_not.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_or.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_pow.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_radialcomposite.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_range.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_real.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_realstring.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_reciprocal.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_reference.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_repeat_gradient.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_reverse.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_scale.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_segcalctangent.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_segcalcvertex.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_sine.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_step.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_stripes.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_subtract.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_switch.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_timedswap.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_timeloop.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_timestring.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_twotone.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_vectorangle.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_vectorlength.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_vectorx.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_vectory.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_boneinfluence.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_staticlist.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_bone.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_boneweightpair.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_wplist.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_bonelink.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_average.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_dynamic.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_derivative.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/valuenodes/valuenode_weightedaverage.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/debug/debugsurface.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/debug/log.cpp.o synfig-core/src/synfig/CMakeFiles/libsynfig.dir/debug/measure.cpp.o  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libz.tbd  /opt/homebrew/lib/libltdl.dylib  /opt/homebrew/lib/libintl.dylib  /opt/homebrew/Cellar/glibmm@2.66/2.66.8/lib/libgiomm-2.4.dylib  /opt/homebrew/Cellar/glib/2.84.1/lib/libgio-2.0.dylib  /opt/homebrew/Cellar/libxml++/2.42.3/lib/libxml++-2.6.dylib  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libxml2.tbd  /opt/homebrew/Cellar/glibmm@2.66/2.66.8/lib/libglibmm-2.4.dylib  /opt/homebrew/Cellar/glib/2.84.1/lib/libgobject-2.0.dylib  /opt/homebrew/Cellar/glib/2.84.1/lib/libglib-2.0.dylib  /opt/homebrew/opt/gettext/lib/libintl.dylib  /opt/homebrew/Cellar/libsigc++@2/2.10.8/lib/libsigc-2.0.dylib  /opt/homebrew/Cellar/fftw/3.3.10_2/lib/libfftw3.dylib  /opt/homebrew/Cellar/mlt/7.30.0/lib/libmlt++-7.dylib  /opt/homebrew/Cellar/mlt/7.30.0/lib/libmlt-7.dylib && :
Undefined symbols for architecture arm64:
  "Gio::File::create_for_uri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::Layer::monitor(synfig::filesystem::Path const&) in layer.cpp.o
      synfig::ValueNode_AnimatedFile::load_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) in valuenode_animatedfile.cpp.o
  "Gio::File::create_for_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::FileSystemNative::is_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystemnative.cpp.o
      synfig::FileSystemNative::is_directory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystemnative.cpp.o
      synfig::FileSystemNative::directory_create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystemnative.cpp.o
      synfig::FileSystemNative::directory_create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystemnative.cpp.o
  "Glib::filename_to_uri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::FileSystemNative::get_real_uri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystemnative.cpp.o
  "Glib::get_current_dir[abi:cxx11]()", referenced from:
      synfig::filesystem::Path::absolute_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystem_path.cpp.o
  "Glib::filename_to_utf8(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::FileSystemNative::directory_scan(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&) in filesystemnative.cpp.o
  "Glib::locale_from_utf8[abi:cxx11](Glib::ustring const&)", referenced from:
      synfig::Module::subsys_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in module.cpp.o
  "Glib::filename_from_uri[abi:cxx11](Glib::ustring const&)", referenced from:
      synfig::FileSystem::get_real_filename(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in filesystem.cpp.o
      synfig::Layer_Sound::fill_sound_processor(synfig::SoundProcessor&) const in layer_sound.cpp.o
  "Glib::Dir::Dir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::FileSystemNative::directory_scan(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&) in filesystemnative.cpp.o
  "Glib::getenv(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::Main::Main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, synfig::ProgressCallback*) in main.cpp.o
      synfig::Module::subsys_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in module.cpp.o
  "Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&)", referenced from:
      encode_keyframe(xmlpp::Element*, synfig::Keyframe const&, float) in savecanvas.cpp.o
      encode_keyframe(xmlpp::Element*, synfig::Keyframe const&, float) in savecanvas.cpp.o
      encode_real(xmlpp::Element*, double) in savecanvas.cpp.o
      encode_time(xmlpp::Element*, synfig::Time) in savecanvas.cpp.o
      encode_integer(xmlpp::Element*, int) in savecanvas.cpp.o
      encode_vector(xmlpp::Element*, synfig::Vector) in savecanvas.cpp.o
      encode_vector(xmlpp::Element*, synfig::Vector) in savecanvas.cpp.o
      ...
  "Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)", referenced from:
      synfig::CanvasParser::parse_interpolation(xmlpp::Element*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_interpolation(xmlpp::Element*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_weighted_value(xmlpp::Element*, synfig::types_namespace::TypeWeightedValueBase&, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_pair(xmlpp::Element*, synfig::types_namespace::TypePairBase&, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_pair(xmlpp::Element*, synfig::types_namespace::TypePairBase&, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
      synfig::Module::subsys_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) in module.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      encode_interpolation(xmlpp::Element*, synfig::Interpolation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) in savecanvas.cpp.o
      ...
  "xmlpp::Node::get_children[abi:cxx11](Glib::ustring const&)", referenced from:
      synfig::CanvasParser::parse_keyframe(xmlpp::Element*, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_real(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_time(xmlpp::Element*, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_integer(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_guid(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_vector(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_vector(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_vector(xmlpp::Element*) in loadcanvas.cpp.o
      synfig::CanvasParser::parse_vector(xmlpp::Element*) in loadcanvas.cpp.o
      ...
  "xmlpp::Element::get_attributes[abi:cxx11]()", referenced from:
      synfig::CanvasParser::parse_linkable_value_node(xmlpp::Element*, etl::handle<synfig::Canvas>) in loadcanvas.cpp.o
  "xmlpp::Document::write_to_stream_formatted(std::ostream&, Glib::ustring const&)", referenced from:
      synfig::save_canvas(synfig::FileSystem::Identifier const&, etl::handle<synfig::Canvas const>, bool) in savecanvas.cpp.o
      synfig::FileSystemTemporary::save_temporary() const in filesystemtemporary.cpp.o
  "xmlpp::DomParser::parse_stream(std::istream&)", referenced from:
      synfig::CanvasParser::parse_from_file_as(synfig::FileSystem::Identifier const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) in loadcanvas.cpp.o
      synfig::FileSystemTemporary::open_temporary(synfig::filesystem::Path const&) in filesystemtemporary.cpp.o
      Parser::parse_xml(std::istream&, std::map<synfig::Time, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<synfig::Time>, std::allocator<std::pair<synfig::Time const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&) in valuenode_animatedfile.cpp.o
  "Glib::DirIterator::operator*[abi:cxx11]() const", referenced from:
      synfig::FileSystemNative::directory_scan(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&) in filesystemnative.cpp.o
ld: symbol(s) not found for architecture arm64
collect2: error: ld returned 1 exit status
[304/950] Building CXX object synfig-core/src/modules/mod_yuv420p/CMakeFiles/mod_yuv420p.dir/trgt_yuv.cpp.o
  • OS: macOS
  • OS version: Sequioa 15.4.1
  • Synfig version: 1.5.4 (using that specific tagged commit)

I'm trying to use Synfig right now for a C++ performance reserach project. Having a macOS build working isn't vital for the stage I'm in right now (and may not be required); but being able to test on this environemnt would be really nice. If there is anything I can help you with and test out please tell me.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions