I would like to get graphviz to build out of the box, on Mac OSX using CMake, as a step toward addressing the -fsanitize=integer problem. Anyway, it is so close.
Basically, there should be an automated CMake generated way helping the compiler have /usr/local/Cellar/harfbuzz/2.6.5_1/include/harfbuzz in its include path in a couple of pango-related directories, and add -fno-common to C_FLAGS in build/lib/common/CMakeFiles/common.dir/flags.make to deal with something or other about undefined global symbols.
When I do this by hand, I can get a working dot executable.
Is the CMake build broken everywhere? I assumed autotools was the default, but if the plan is to migrate to CMake I would certainly be in favor as it’s a devil I know better. I can try debugging the CMake build on Linux if it’s also broken there.
goes off to experiment
(In the meantime, target_include_directories is probably what you want for the first issue. set_source_files_properties(foo.c PROPERTIES COMPILE_FLAGS ...) is the way to accomplish the second, but it is suspicious to me that you need -fno-common. I wonder if this is indicative of some other underlying issue.)
Yes, autotools are the default, but someone wanted CMake, and it’s very close to working,
and I’m led to believe it will make it easier to compile with clang -fsanitize=integer because
the autotools die somewhere late in the game as discussed before (cannot find some
support library needed by clang for this feature.) I’m taking someone else’s word for this.
CMake on OSX (e.g. Catalina) is very very close to working out of the box.
It has trouble finding /usr/local/include/harfbuzz, which is needed by the plugin tango
(I might just try to turn off building this particular plugin, I guess, or I could go back
to finding and hand-editing the relevant make.flags from CMake.)
It doesn’t know that lib/common needs to be built with clang -fno-common
Again I was hand editing flags.make in lib/common and I got past this.
I tried the suggested
if (APPLE)
target_compile_options(common PRIVATE "-fno-common")
endif(APPLE)
It did not work but caused CMake to stop in its tracks.
I can’t even get the CMake build working with these little edits tonight but it’s
getting late so I think I need to just give it a rest.t
If you don’t have an OSX CMake build environment it is probably a lot of guesswork
to figure out what needs to be done, unfortunately.
the autotools die somewhere late in the game as discussed before
Ah, so even the autotools build dies when trying to enable the sanitizer(s)? Sorry, I had misunderstood and thought this problem was confined to CMake builds.
which is needed by the plugin tango
I can’t see this plugin in the Graphviz tree. Do you know which directory this lives in?
It doesn’t know that lib/common needs to be built with clang -fno-common
This still seems pretty strange to me. Isn’t -fno-common the default? Or are the Clang defaults somehow different to GCC?
If you don’t have an OSX CMake build environment
Unfortunately yes, I don’t have an OSX CMake build environment.
Edit: also my experiments discovered the CMake build unfortunately (fortunately?) appears to work fine on Linux with or without sanitizers enabled.
add -fno-common to C_FLAGS in lib/common/CMakeFiles/common.dir/flags.make
add -I/usr/local/include/harfbuzz to C_INCLUDES in plugin/pango/CMakeFiles/gvplugin_pango.dir/flags.make
then (cmake . ; make install) gets the job done. I don’t understand why I need to do these things manually.
When I have time, I’ll look into building with -fsanitize=integer
A reasonable person would just move over to a Linux machine. I can find one somewhere.
I do not believe there is any good reason to see integer overflow in union_find on small graphs, or any graph that fits in memory on any normal computer.
I’m not familiar with CMake but interested to help if you need someone to learn, it seems like a worthy project because CMake seems much easier at a glance than autotools
@scnorth, I hacked in the changes you described in the “macos-cmake” branch of my fork of Graphviz if you want to give it a try: Files · macos-cmake · Matthew Fernandez / graphviz · GitLab. As I mentioned, I don’t have a macOS dev environment so I did this blind. It doesn’t seem to break anything under Linux though.
I noticed a few odd things and clues along the way:
libcommon is built as a static library while some of the others are built as shared libraries (STATIC vs SHARED in their add_library directives). Maybe this has an impact?
libcommon’s CMakeLists.txt does some unorthodox rewriting of the outputs htmlparse.c and htmlparse.h. I don’t even understand how this works, as it misspells “uint64_t” as “uint_64_t”… Maybe this never actually gets called, as it looks like it creates duplicate makefile targets.
cmake/generate_color_lib.cmake.in writes two files, color_lib-temp and color_lib-sort, whose only purpose seems to be intermediate outputs for debugging inspection.
Coming in late to this thread - I have some experience with CMake and cross-platform builds (Linux/Windows). I haven’t touched OSX in a decade but have recently acquired an older Mac Mini that I’d like to set up with CMake and whatever is considered a typical dev environment (XCode?). I think it’s running 10.8 (Mountain Lion) and the hardware supports up to 10.11 (El Capitan)
Regardless, the best reference I’ve found so far for CMake is Professional CMake: A Practical Guide. It’s $US 30 but is really solid and gets frequent updates.
I can’t compile locally (Mac OSX Catalina, Xcode, other packages installed via homebrew) because the graphviz pango plugin can’t find hb.h (which is /usr/local/include/harfbuzz/hb.h among other places). I don’t understand - I think something slipped between the cracks in pango.pc as installed by homebrew, but despite hand editing pango.pc, removing the CMake cache and starting over, the error remains.
cmake “make VERBOSE=1” does not show -I/usr/local/include/harfbuzz or any other likely suspects such as /usr/local/Cellar/harfbuzz/2.7.0/include/harfbuzz/
Does this suggest something is missing in graphviz/cmake/FindPangoCairo.cmake ? Before I get the $30 CMake book
Thank you for your sympathy. I realize suffering is part of the Learning Process.
Are you saying something changed recently? As in, you could previously build the pango plugin fine? If so, perhaps try bisecting to figure out which commit caused this.
Otherwise, if it’s just generally broken, maybe you need to do export CFLAGS=-I/usr/local/include before calling cmake. I can’t see anything in plugin/pango #including hb.h, so I’m not sure where this error is coming from.
Thank you for the suggestion. It’s not actually graphviz code, but pango/pango-font.h that attempts to include hb.h not harfbuzz/hb.h Although -I/usr/local/include/harfbuzz is found in the laundry list of pkg-config --cflags pango it appears cmake doesn’t invoke pkg-config.
I was able to get past this by adding a rule to cmake/FindPangoCairo.cmake: find_path(HARFBUZZ_INCLUDE_DIR hb.h PATH_SUFFIXES harfbuzz)
and later on
set(PANGOCAIRO_INCLUDE_DIRS {GLIB_INCLUDE_DIR}
{GLIBCONFIG_INCLUDE_DIR} {HARFBUZZ_INCLUDE_DIR}
{PANGOCAIRO_INCLUDE_DIR}
)
which seem to solve my problem, but feels ad-hoc. Probably this is not complete (I caught mark_as_advanced as well but not certain what this does yet).
Thank you. That looks so much cleaner! Unfortunately the build can’t find -lpango-1.0 though png-config knows where it lives. Not sure if the following is any help. (Not sure what’s the best way to reset everything for a fresh try, so I did: make clean; rm CMakeCache.txt; cmake .; make ) You can just skip to the end of this for the punchline but some of the other compile time warnings might be a little interesting for other reasons.)
$ pkg-config --libs pango
-L/usr/local/Cellar/pango/1.46.0/lib -L/usr/local/Cellar/glib/2.64.4_2/lib -L/usr/local/opt/gettext/lib -L/usr/local/Cellar/harfbuzz/2.7.0/lib -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lharfbuzz
$
$ cmake .
-- The C compiler identification is AppleClang 11.0.3.11030032
-- The CXX compiler identification is AppleClang 11.0.3.11030032
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found AWK: /usr/local/bin/gawk
-- Found BISON: /usr/bin/bison (found version "2.3")
-- Found FLEX: /usr/bin/flex (found version "2.5.35")
-- Found Git: /usr/local/bin/git (found version "2.28.0")
-- Found Perl: /usr/local/bin/perl (found version "5.32.0")
-- Found ANN: /usr/local/lib/libANN.a
CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
The package name passed to `find_package_handle_standard_args` (CAIRO) does
not match the name of the calling package (Cairo). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindCairo.cmake:23 (find_package_handle_standard_args)
CMakeLists.txt:81 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found CAIRO: /Library/Frameworks/Mono.framework/Headers
-- Found EXPAT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/libexpat.tbd (found version "2.2.5")
-- Found GD: /usr/local/lib/libgd.dylib
-- Found LTDL: /usr/local/lib/libltdl.dylib
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Checking for module 'pango'
-- Found pango, version 1.46.0
CMake Warning (dev) at /usr/local/Cellar/cmake/3.18.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
The package name passed to `find_package_handle_standard_args` (PANGOCAIRO)
does not match the name of the calling package (PangoCairo). This can lead
to problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindPangoCairo.cmake:5 (find_package_handle_standard_args)
CMakeLists.txt:85 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found PANGOCAIRO: /usr/local/Cellar/libffi/3.3/include;/usr/local/Cellar/pango/1.46.0/include/pango-1.0;/usr/local/include/harfbuzz;/usr/local/Cellar/glib/2.64.4_2/include;/usr/local/Cellar/fribidi/1.0.10/include/fribidi;/usr/local/Cellar/cairo/1.16.0_3/include/cairo;/usr/local/Cellar/pixman/0.40.0/include/pixman-1;/usr/local/Cellar/fontconfig/2.13.1/include;/usr/local/Cellar/libpng/1.6.37/include/libpng16;/usr/local/Cellar/glib/2.64.4_2/include;/usr/local/Cellar/harfbuzz/2.7.0/include/harfbuzz;/usr/local/opt/freetype/include/freetype2;/usr/local/Cellar/graphite2/1.3.14/include;/usr/local/Cellar/glib/2.64.4_2/include/glib-2.0;/usr/local/Cellar/glib/2.64.4_2/lib/glib-2.0/include;/usr/local/opt/gettext/include;/usr/local/Cellar/pcre/8.44/include
-- Found ZLIB: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/libz.tbd (found version "1.2.11")
-- Graphviz version: 2.44.2~dev.20200815.1738
-- Looking for getopt.h
-- Looking for getopt.h - found
-- Looking for crt_externs.h
-- Looking for crt_externs.h - found
-- Looking for fcntl
-- Looking for fcntl - not found
-- Looking for search.h
-- Looking for search.h - found
-- Looking for stat.h
-- Looking for stat.h - not found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for sys/inotify.h
-- Looking for sys/inotify.h - not found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/select.h
-- Looking for sys/select.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for sys/vfork.h
-- Looking for sys/vfork.h - not found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for vfork.h
-- Looking for vfork.h - not found
-- Looking for X11/Intrinsic.h
-- Looking for X11/Intrinsic.h - not found
-- Looking for X11/Xaw/Text.h
-- Looking for X11/Xaw/Text.h - not found
-- Looking for _NSGetEnviron
-- Looking for _NSGetEnviron - found
-- Looking for drand48
-- Looking for drand48 - found
-- Looking for cbrt
-- Looking for cbrt - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for mallopt
-- Looking for mallopt - not found
-- Looking for mstats
-- Looking for mstats - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for setmode
-- Looking for setmode - found
-- Looking for sincos
-- Looking for sincos - not found
-- Looking for srand48
-- Looking for srand48 - found
-- Looking for vsnprintf
-- Looking for vsnprintf - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of ssize_t
-- Check size of ssize_t - done
-- Check size of intptr_t
-- Check size of intptr_t - done
-- Could NOT find NSIS (missing: NSIS_MAKE)
-- Found PythonInterp: /usr/local/bin/python (found version "2.7.17")
-- The following OPTIONAL packages have been found:
* ANN
* Cairo
* EXPAT
* GD
* LTDL
* PkgConfig
* PangoCairo
* ZLIB
* PythonInterp
-- The following REQUIRED packages have been found:
* AWK
* BISON
* FLEX
* Git
* Perl
-- The following OPTIONAL packages have not been found:
* NSIS
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
cdt
cgraph
gvc
gvplugin_core
gvplugin_dot_layout
gvplugin_gd
gvplugin_neato_layout
gvplugin_pango
pathplan
xdot
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/north/src/graphviz
$ make
[ 1%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtclose.c.o
[ 1%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtdisc.c.o
[ 1%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtextract.c.o
[ 2%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtflatten.c.o
[ 2%] Building C object lib/cdt/CMakeFiles/cdt.dir/dthash.c.o
[ 2%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtlist.c.o
[ 2%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtmethod.c.o
[ 3%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtopen.c.o
[ 3%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtrenew.c.o
[ 3%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtrestore.c.o
[ 4%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtsize.c.o
[ 4%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtstat.c.o
[ 4%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtstrhash.c.o
[ 5%] Building C object lib/cdt/CMakeFiles/cdt.dir/dttree.c.o
[ 5%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtview.c.o
[ 5%] Building C object lib/cdt/CMakeFiles/cdt.dir/dtwalk.c.o
[ 6%] Linking C shared library libcdt.dylib
[ 6%] Built target cdt
[ 6%] Building C object lib/circogen/CMakeFiles/circogen.dir/block.c.o
[ 6%] Building C object lib/circogen/CMakeFiles/circogen.dir/blockpath.c.o
[ 7%] Building C object lib/circogen/CMakeFiles/circogen.dir/blocktree.c.o
[ 7%] Building C object lib/circogen/CMakeFiles/circogen.dir/circpos.c.o
[ 7%] Building C object lib/circogen/CMakeFiles/circogen.dir/circular.c.o
[ 8%] Building C object lib/circogen/CMakeFiles/circogen.dir/circularinit.c.o
[ 8%] Building C object lib/circogen/CMakeFiles/circogen.dir/deglist.c.o
[ 8%] Building C object lib/circogen/CMakeFiles/circogen.dir/edgelist.c.o
[ 9%] Building C object lib/circogen/CMakeFiles/circogen.dir/nodelist.c.o
[ 9%] Building C object lib/circogen/CMakeFiles/circogen.dir/nodeset.c.o
[ 9%] Linking C static library libcircogen.a
[ 9%] Built target circogen
[ 9%] Generating brewer_lib
[ 10%] Generating svgcolor_lib
[ 10%] Generating color_lib
[ 10%] Generating colortbl.h
[ 11%] Generating ps_font_equiv.h
don't know about Symbol
don't know about ZapfDingbats
[ 11%] [BISON][HTMLparse] Building parser with bison 2.3
htmlparse.y:527.9-545.9: warning: unused value: $3
htmlparse.y: conflicts: 2 shift/reduce
Scanning dependencies of target common
[ 11%] Building C object lib/common/CMakeFiles/common.dir/args.c.o
[ 12%] Building C object lib/common/CMakeFiles/common.dir/arrows.c.o
[ 12%] Building C object lib/common/CMakeFiles/common.dir/colxlate.c.o
[ 12%] Building C object lib/common/CMakeFiles/common.dir/ellipse.c.o
[ 13%] Building C object lib/common/CMakeFiles/common.dir/emit.c.o
[ 13%] Building C object lib/common/CMakeFiles/common.dir/geom.c.o
[ 13%] Building C object lib/common/CMakeFiles/common.dir/globals.c.o
[ 13%] Building C object lib/common/CMakeFiles/common.dir/htmllex.c.o
[ 14%] Building C object lib/common/CMakeFiles/common.dir/htmltable.c.o
[ 14%] Building C object lib/common/CMakeFiles/common.dir/input.c.o
/Users/north/src/graphviz/lib/common/input.c:329:89: warning: '/*' within block
comment [-Wcomment]
...empty results from gvplugin_list() and prompt to configure with '-c' /*
^
/Users/north/src/graphviz/lib/common/input.c:330:4: warning: '/*' within block
comment [-Wcomment]
/* fprintf(stderr, "Use one of:%s\n", gvplugin_l...
^
2 warnings generated.
[ 14%] Building C object lib/common/CMakeFiles/common.dir/intset.c.o
[ 15%] Building C object lib/common/CMakeFiles/common.dir/labels.c.o
[ 15%] Building C object lib/common/CMakeFiles/common.dir/ns.c.o
[ 15%] Building C object lib/common/CMakeFiles/common.dir/memory.c.o
[ 16%] Building C object lib/common/CMakeFiles/common.dir/output.c.o
[ 16%] Building C object lib/common/CMakeFiles/common.dir/pointset.c.o
[ 16%] Building C object lib/common/CMakeFiles/common.dir/postproc.c.o
[ 17%] Building C object lib/common/CMakeFiles/common.dir/psusershape.c.o
[ 17%] Building C object lib/common/CMakeFiles/common.dir/routespl.c.o
[ 17%] Building C object lib/common/CMakeFiles/common.dir/shapes.c.o
[ 17%] Building C object lib/common/CMakeFiles/common.dir/splines.c.o
[ 18%] Building C object lib/common/CMakeFiles/common.dir/taper.c.o
[ 18%] Building C object lib/common/CMakeFiles/common.dir/textspan.c.o
[ 18%] Building C object lib/common/CMakeFiles/common.dir/timing.c.o
[ 19%] Building C object lib/common/CMakeFiles/common.dir/utils.c.o
[ 19%] Building C object lib/common/CMakeFiles/common.dir/htmlparse.c.o
[ 19%] Linking C static library libcommon.a
[ 19%] Built target common
[ 19%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/aspect.c.o
[ 19%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/acyclic.c.o
[ 20%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/class1.c.o
[ 20%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/class2.c.o
[ 20%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/cluster.c.o
[ 21%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/compound.c.o
[ 21%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/conc.c.o
[ 21%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/decomp.c.o
[ 22%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/dotinit.c.o
[ 22%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/dotsplines.c.o
[ 22%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/fastgr.c.o
[ 22%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/flat.c.o
[ 23%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/mincross.c.o
[ 23%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/position.c.o
[ 23%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/rank.c.o
[ 24%] Building C object lib/dotgen/CMakeFiles/dotgen.dir/sameport.c.o
[ 24%] Linking C static library libdotgen.a
[ 24%] Built target dotgen
[ 24%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/clusteredges.c.o
[ 25%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/comp.c.o
[ 25%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/dbg.c.o
[ 25%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/fdpinit.c.o
[ 25%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/grid.c.o
[ 26%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/layout.c.o
/Users/north/src/graphviz/lib/fdpgen/layout.c:330:3: warning: format specifies
type 'long' but the argument has type 'uint64_t'
(aka 'unsigned long long') [-Wformat]
(uint64_t)AGSEQ(e));
^~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/secure/_stdio.h:47:56: note:
expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
^~~~~~~~~~~
/Users/north/src/graphviz/lib/fdpgen/layout.c:333:3: warning: format specifies
type 'long' but the argument has type 'uint64_t'
(aka 'unsigned long long') [-Wformat]
(uint64_t)AGSEQ(e));
^~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/secure/_stdio.h:47:56: note:
expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
^~~~~~~~~~~
2 warnings generated.
[ 26%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/tlayout.c.o
[ 26%] Building C object lib/fdpgen/CMakeFiles/fdpgen.dir/xlayout.c.o
[ 27%] Linking C static library libfdpgen.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libfdpgen.a(dbg.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libfdpgen.a(dbg.c.o) has no symbols
[ 27%] Built target fdpgen
[ 27%] Building C object lib/ingraphs/CMakeFiles/ingraphs.dir/ingraphs.c.o
[ 28%] Linking C static library libingraphs.a
[ 28%] Built target ingraphs
[ 28%] Building C object lib/label/CMakeFiles/label.dir/index.c.o
[ 28%] Building C object lib/label/CMakeFiles/label.dir/node.c.o
[ 29%] Building C object lib/label/CMakeFiles/label.dir/rectangle.c.o
[ 29%] Building C object lib/label/CMakeFiles/label.dir/split.q.c.o
[ 29%] Building C object lib/label/CMakeFiles/label.dir/xlabels.c.o
[ 29%] Linking C static library liblabel.a
[ 29%] Built target label
[ 30%] Building C object lib/mingle/CMakeFiles/libmingle.dir/agglomerative_bundling.c.o
[ 30%] Building C object lib/mingle/CMakeFiles/libmingle.dir/edge_bundling.c.o
[ 30%] Building C object lib/mingle/CMakeFiles/libmingle.dir/ink.c.o
[ 31%] Building C object lib/mingle/CMakeFiles/libmingle.dir/nearest_neighbor_graph.c.o
[ 31%] Building CXX object lib/mingle/CMakeFiles/libmingle.dir/nearest_neighbor_graph_ann.cpp.o
[ 31%] Linking CXX static library liblibmingle.a
[ 31%] Built target libmingle
[ 31%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/adjust.c.o
[ 31%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/bfs.c.o
[ 31%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/call_tri.c.o
[ 32%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/circuit.c.o
[ 32%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/closest.c.o
[ 32%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/compute_hierarchy.c.o
[ 33%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/conjgrad.c.o
[ 33%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/constrained_majorization.c.o
[ 33%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/constraint.c.o
[ 34%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/delaunay.c.o
[ 34%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/dijkstra.c.o
[ 34%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/edges.c.o
[ 34%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/embed_graph.c.o
[ 35%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/geometry.c.o
[ 35%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/heap.c.o
[ 35%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/hedges.c.o
[ 36%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/info.c.o
[ 36%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/kkutils.c.o
[ 36%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/legal.c.o
[ 37%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/lu.c.o
[ 37%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/matinv.c.o
[ 37%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/matrix_ops.c.o
[ 38%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/memory.c.o
[ 38%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/multispline.c.o
[ 38%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/neatoinit.c.o
[ 38%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/neatosplines.c.o
[ 39%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/opt_arrangement.c.o
[ 39%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/overlap.c.o
[ 39%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/pca.c.o
[ 40%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/poly.c.o
[ 40%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/printvis.c.o
[ 40%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/quad_prog_solve.c.o
[ 41%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/site.c.o
[ 41%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/smart_ini_x.c.o
[ 41%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/solve.c.o
[ 42%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/stuff.c.o
[ 42%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/stress.c.o
[ 42%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/voronoi.c.o
[ 42%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/sgd.c.o
[ 43%] Building C object lib/neatogen/CMakeFiles/neatogen.dir/randomkit.c.o
[ 43%] Linking C static library libneatogen.a
[ 43%] Built target neatogen
[ 43%] Building C object lib/ortho/CMakeFiles/ortho.dir/fPQ.c.o
[ 43%] Building C object lib/ortho/CMakeFiles/ortho.dir/maze.c.o
[ 44%] Building C object lib/ortho/CMakeFiles/ortho.dir/ortho.c.o
[ 44%] Building C object lib/ortho/CMakeFiles/ortho.dir/partition.c.o
[ 44%] Building C object lib/ortho/CMakeFiles/ortho.dir/rawgraph.c.o
[ 44%] Building C object lib/ortho/CMakeFiles/ortho.dir/sgraph.c.o
[ 45%] Building C object lib/ortho/CMakeFiles/ortho.dir/trapezoid.c.o
[ 45%] Linking C static library libortho.a
[ 45%] Built target ortho
[ 45%] Building C object lib/osage/CMakeFiles/osage.dir/osageinit.c.o
[ 46%] Linking C static library libosage.a
[ 46%] Built target osage
[ 46%] Building C object lib/pack/CMakeFiles/pack.dir/ccomps.c.o
[ 46%] Building C object lib/pack/CMakeFiles/pack.dir/pack.c.o
[ 47%] Linking C static library libpack.a
[ 47%] Built target pack
[ 47%] Building C object lib/patchwork/CMakeFiles/patchwork.dir/patchwork.c.o
[ 47%] Building C object lib/patchwork/CMakeFiles/patchwork.dir/patchworkinit.c.o
[ 48%] Building C object lib/patchwork/CMakeFiles/patchwork.dir/tree_map.c.o
[ 48%] Linking C static library libpatchwork.a
[ 48%] Built target patchwork
[ 48%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/cvt.c.o
[ 48%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/inpoly.c.o
[ 49%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/route.c.o
[ 49%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/shortest.c.o
[ 49%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/shortestpth.c.o
[ 50%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/solvers.c.o
[ 50%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/triang.c.o
[ 50%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/util.c.o
[ 51%] Building C object lib/pathplan/CMakeFiles/pathplan.dir/visibility.c.o
[ 51%] Linking C shared library libpathplan.dylib
[ 51%] Built target pathplan
[ 51%] Building C object lib/rbtree/CMakeFiles/rbtree.dir/misc.c.o
[ 51%] Building C object lib/rbtree/CMakeFiles/rbtree.dir/red_black_tree.c.o
[ 52%] Building C object lib/rbtree/CMakeFiles/rbtree.dir/stack.c.o
[ 52%] Linking C static library librbtree.a
[ 52%] Built target rbtree
[ 53%] Building C object lib/sparse/CMakeFiles/sparse.dir/BinaryHeap.c.o
[ 53%] Building C object lib/sparse/CMakeFiles/sparse.dir/clustering.c.o
[ 53%] Building C object lib/sparse/CMakeFiles/sparse.dir/color_palette.c.o
[ 54%] Building C object lib/sparse/CMakeFiles/sparse.dir/colorutil.c.o
[ 54%] Building C object lib/sparse/CMakeFiles/sparse.dir/DotIO.c.o
[ 54%] Building C object lib/sparse/CMakeFiles/sparse.dir/general.c.o
[ 55%] Building C object lib/sparse/CMakeFiles/sparse.dir/IntStack.c.o
[ 55%] Building C object lib/sparse/CMakeFiles/sparse.dir/LinkedList.c.o
[ 55%] Building C object lib/sparse/CMakeFiles/sparse.dir/mq.c.o
[ 55%] Building C object lib/sparse/CMakeFiles/sparse.dir/QuadTree.c.o
[ 56%] Building C object lib/sparse/CMakeFiles/sparse.dir/SparseMatrix.c.o
[ 56%] Building C object lib/sparse/CMakeFiles/sparse.dir/vector.c.o
[ 56%] Linking C static library libsparse.a
[ 56%] Built target sparse
[ 56%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/Multilevel.c.o
[ 56%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/post_process.c.o
[ 57%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/PriorityQueue.c.o
[ 57%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/sfdpinit.c.o
[ 57%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/sparse_solve.c.o
[ 58%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/spring_electrical.c.o
[ 58%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/stress_model.c.o
[ 58%] Building C object lib/sfdpgen/CMakeFiles/sfdpgen.dir/uniform_stress.c.o
[ 58%] Linking C static library libsfdpgen.a
[ 58%] Built target sfdpgen
[ 59%] Building C object lib/spine/CMakeFiles/spine.dir/quad.c.o
[ 59%] Building C object lib/spine/CMakeFiles/spine.dir/spine.c.o
[ 59%] Building C object lib/spine/CMakeFiles/spine.dir/subset.c.o
[ 60%] Building C object lib/spine/CMakeFiles/spine.dir/union_find.c.o
[ 60%] Linking C static library libspine.a
[ 60%] Built target spine
[ 60%] Building C object lib/twopigen/CMakeFiles/twopigen.dir/circle.c.o
[ 60%] Building C object lib/twopigen/CMakeFiles/twopigen.dir/twopiinit.c.o
[ 60%] Linking C static library libtwopigen.a
[ 60%] Built target twopigen
[ 60%] Building C object lib/vmalloc/CMakeFiles/vmalloc.dir/vmbest.c.o
[ 61%] Building C object lib/vmalloc/CMakeFiles/vmalloc.dir/vmclear.c.o
[ 61%] Building C object lib/vmalloc/CMakeFiles/vmalloc.dir/vmclose.c.o
[ 61%] Building C object lib/vmalloc/CMakeFiles/vmalloc.dir/vmopen.c.o
[ 62%] Building C object lib/vmalloc/CMakeFiles/vmalloc.dir/vmstrdup.c.o
[ 62%] Linking C static library libvmalloc.a
[ 62%] Built target vmalloc
[ 62%] Building C object lib/xdot/CMakeFiles/xdot.dir/xdot.c.o
[ 63%] Linking C shared library libxdot.dylib
[ 63%] Built target xdot
[ 63%] [FLEX][Scan] Building scanner with flex 2.5.35
[ 63%] [BISON][Grammar] Building parser with bison 2.3
Scanning dependencies of target cgraph
[ 63%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/agerror.c.o
[ 64%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/agxbuf.c.o
[ 64%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/apply.c.o
[ 64%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/attr.c.o
[ 65%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/edge.c.o
[ 65%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/flatten.c.o
[ 65%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/graph.c.o
[ 66%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/id.c.o
/Users/north/src/graphviz/lib/cgraph/id.c:154:41: warning: format specifies type
'long' but the argument has type 'IDTYPE' (aka 'unsigned long long')
[-Wformat]
sprintf(buf, "%c%ld", LOCALNAMEPREFIX, AGID(obj));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
%llu
/Users/north/src/graphviz/lib/cgraph/cgraph.h:114:20: note: expanded from macro
'AGID'
#define AGID(obj) (AGTAG(obj).id)
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/secure/_stdio.h:47:56: note:
expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
^~~~~~~~~~~
1 warning generated.
[ 66%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/imap.c.o
[ 66%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/io.c.o
[ 66%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/mem.c.o
[ 67%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/node.c.o
[ 67%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/obj.c.o
[ 67%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/pend.c.o
[ 68%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/rec.c.o
[ 68%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/refstr.c.o
[ 68%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/subg.c.o
[ 69%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/utils.c.o
[ 69%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/write.c.o
/Users/north/src/graphviz/lib/cgraph/write.c:508:31: warning: format specifies
type 'long' but the argument has type 'IDTYPE' (aka 'unsigned long long')
[-Wformat]
sprintf(buf, "_%ld_SUSPECT", AGID(n)); /* could be deadly wrong */
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
%llu
/Users/north/src/graphviz/lib/cgraph/cgraph.h:114:20: note: expanded from macro
'AGID'
#define AGID(obj) (AGTAG(obj).id)
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/secure/_stdio.h:47:56: note:
expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
^~~~~~~~~~~
1 warning generated.
[ 69%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/grammar.c.o
[ 70%] Building C object lib/cgraph/CMakeFiles/cgraph.dir/scan.c.o
[ 70%] Linking C shared library libcgraph.dylib
[ 70%] Built target cgraph
Scanning dependencies of target gvc
[ 70%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvc.c.o
[ 70%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvconfig.c.o
[ 71%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvcontext.c.o
[ 71%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvdevice.c.o
[ 71%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvevent.c.o
[ 72%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvjobs.c.o
[ 72%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvlayout.c.o
[ 72%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvloadimage.c.o
[ 72%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvplugin.c.o
[ 73%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvrender.c.o
[ 73%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvtextlayout.c.o
[ 73%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvtool_tred.c.o
[ 74%] Building C object lib/gvc/CMakeFiles/gvc.dir/gvusershape.c.o
[ 74%] Linking C shared library libgvc.dylib
[ 74%] Built target gvc
[ 75%] Generating ps.h
Scanning dependencies of target gvplugin_core
[ 75%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvloadimage_core.c.o
[ 75%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvplugin_core.c.o
[ 76%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_dot.c.o
/Users/north/src/graphviz/plugin/core/gvrender_core_dot.c:306:27: warning:
incompatible pointer types passing 'Agedge_t *' (aka 'struct Agedge_s *')
to parameter of type 'Agnode_t *' (aka 'struct Agnode_s *')
[-Wincompatible-pointer-types]
put_escaping_backslashes(e, xd->e_l_draw, agxbuse(xbufs[EMIT_ELABEL]));
^
/Users/north/src/graphviz/plugin/core/gvrender_core_dot.c:260:48: note: passing
argument to parameter 'n' here
static void put_escaping_backslashes(Agnode_t* n, Agsym_t *sym, const ch...
^
/Users/north/src/graphviz/plugin/core/gvrender_core_dot.c:518:27: warning:
incompatible pointer types passing 'graph_t *' (aka 'struct Agraph_s *')
to parameter of type 'Agnode_t *' (aka 'struct Agnode_s *')
[-Wincompatible-pointer-types]
put_escaping_backslashes(g, xd->g_l_draw, agxbuse(xbufs[EMIT_GLABEL]));
^
/Users/north/src/graphviz/plugin/core/gvrender_core_dot.c:260:48: note: passing
argument to parameter 'n' here
static void put_escaping_backslashes(Agnode_t* n, Agsym_t *sym, const ch...
^
2 warnings generated.
[ 76%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_json.c.o
[ 76%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_fig.c.o
[ 77%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_map.c.o
[ 77%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_mp.c.o
[ 77%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_pic.c.o
[ 78%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_pov.c.o
[ 78%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_ps.c.o
[ 78%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_svg.c.o
[ 78%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_tk.c.o
[ 79%] Building C object plugin/core/CMakeFiles/gvplugin_core.dir/gvrender_core_vml.c.o
[ 79%] Linking C shared library libgvplugin_core.dylib
[ 79%] Built target gvplugin_core
[ 79%] Building C object plugin/dot_layout/CMakeFiles/gvplugin_dot_layout.dir/gvplugin_dot_layout.c.o
[ 80%] Building C object plugin/dot_layout/CMakeFiles/gvplugin_dot_layout.dir/gvlayout_dot_layout.c.o
[ 80%] Linking C shared library libgvplugin_dot_layout.dylib
[ 80%] Built target gvplugin_dot_layout
[ 80%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvdevice_gd.c.o
[ 81%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvloadimage_gd.c.o
[ 81%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvplugin_gd.c.o
[ 81%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvrender_gd.c.o
[ 81%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvrender_gd_vrml.c.o
[ 82%] Building C object plugin/gd/CMakeFiles/gvplugin_gd.dir/gvtextlayout_gd.c.o
[ 82%] Linking C shared library libgvplugin_gd.dylib
[ 82%] Built target gvplugin_gd
[ 82%] Building C object plugin/neato_layout/CMakeFiles/gvplugin_neato_layout.dir/gvplugin_neato_layout.c.o
[ 83%] Building C object plugin/neato_layout/CMakeFiles/gvplugin_neato_layout.dir/gvlayout_neato_layout.c.o
[ 83%] Linking C shared library libgvplugin_neato_layout.dylib
[ 83%] Built target gvplugin_neato_layout
Scanning dependencies of target gvplugin_pango
[ 83%] Building C object plugin/pango/CMakeFiles/gvplugin_pango.dir/gvgetfontlist_pango.c.o
[ 84%] Building C object plugin/pango/CMakeFiles/gvplugin_pango.dir/gvloadimage_pango.c.o
[ 84%] Building C object plugin/pango/CMakeFiles/gvplugin_pango.dir/gvplugin_pango.c.o
[ 84%] Building C object plugin/pango/CMakeFiles/gvplugin_pango.dir/gvrender_pango.c.o
[ 85%] Building C object plugin/pango/CMakeFiles/gvplugin_pango.dir/gvtextlayout_pango.c.o
[ 85%] Linking C shared library libgvplugin_pango.dylib
ld: library not found for -lpango-1.0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [plugin/pango/libgvplugin_pango.6.0.0.dylib] Error 1
make[1]: *** [plugin/pango/CMakeFiles/gvplugin_pango.dir/all] Error 2
make: *** [all] Error 2
$
Thanks, that seems like a reasonable way to build.
Adding PANGOCAIRO_LIBRARY_DIRS to find_package_handle_standard_args and mark_as_advanced didn’t help.
It does seem to be available ls /usr/local/lib/*pango*
/usr/local/lib/libpango-1.0.0.dylib
/usr/local/lib/libpango-1.0.a
/usr/local/lib/libpango-1.0.dylib
/usr/local/lib/libpangocairo-1.0.0.dylib
/usr/local/lib/libpangocairo-1.0.a
/usr/local/lib/libpangocairo-1.0.dylib
/usr/local/lib/libpangoft2-1.0.0.dylib
/usr/local/lib/libpangoft2-1.0.a
/usr/local/lib/libpangoft2-1.0.dylib
/usr/local/lib/libpangox-1.0.0.dylib
/usr/local/lib/libpangox-1.0.a
/usr/local/lib/libpangox-1.0.dylib
It’s a symlink that points to /usr/local/Cellar/pango/1.46.0/lib/libpango-1.0.0.dylib
I can nm /usr/local/lib/libpango-1.0.dylib so all is well there.
By the way, how does the CMake-driven Windows install of this plugin even work? It seems to be trying to ship Pango and Cairo along with Graphviz (presumably from the dependencies repo), but it installs the DLLs into ${BINARY_INSTALL_DIR} instead of ${LIBRARY_INSTALL_DIR}.
Is it the norm for a Windows app to ship this much third-party stuff? The dependency libs I can understand (though maybe there are licensing issues we should be thinking about?), but seeing CRT and other MSVC runtime libs in this directory surprises me.