[MacPorts] #60544: reduce: Undefined symbols: _BrotliDecoderDecompress

MacPorts noreply at macports.org
Fri May 22 22:31:05 UTC 2020


#60544: reduce: Undefined symbols: _BrotliDecoderDecompress
------------------------+----------------------
 Reporter:  ryandesign  |      Owner:  mbrethen
     Type:  defect      |     Status:  assigned
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:  2.6.2
 Keywords:              |       Port:  reduce
------------------------+----------------------
 [https://build.macports.org/builders/ports-10.9_x86_64-builder/builds/119577/steps
 /install-port/logs/stdio reduce fails to build]:

 {{{
 /opt/local/bin/clang++-mp-9.0  -pipe -Os -stdlib=libc++ -arch x86_64
 -I/opt/local/include/freetype2  -O3 -Wall  -L../lib -L/opt/local/lib
 -Wl,-headerpad_max_install_names -lintl -arch x86_64 -L/opt/local/lib
 -framework Carbon -framework CoreServices -framework ApplicationServices
 -o bootstrapreduce bootstrapreduce-arith01.o bootstrapreduce-arith02.o
 bootstrapreduce-arith03.o bootstrapreduce-arith04.o bootstrapreduce-
 arith05.o bootstrapreduce-arith06.o bootstrapreduce-arith07.o
 bootstrapreduce-arith08.o bootstrapreduce-arith09.o bootstrapreduce-
 arith10.o bootstrapreduce-arith11.o bootstrapreduce-arith12.o
 bootstrapreduce-arith13.o bootstrapreduce-arith14.o bootstrapreduce-
 isprime.o bootstrapreduce-allocate.o bootstrapreduce-bytes1.o
 bootstrapreduce-char.o bootstrapreduce-cslmpi.o bootstrapreduce-eval1.o
 bootstrapreduce-eval2.o bootstrapreduce-eval3.o bootstrapreduce-eval4.o
 bootstrapreduce-fns1.o bootstrapreduce-fns2.o bootstrapreduce-fns3.o
 bootstrapreduce-inthash.o bootstrapreduce-print.o bootstrapreduce-
 cslread.o bootstrapreduce-restart.o bootstrapreduce-lisphash.o
 bootstrapreduce-serialize.o bootstrapreduce-sysfwin.o bootstrapreduce-
 csl.o bootstrapreduce-fasl.o bootstrapreduce-cslgc.o bootstrapreduce-
 preserve.o  bootstrapreduce-stubs.o -lFOX-1.6 ../lib/libcrlibm.a
 ../lib/libffi.a ../lib/libsoftfloat.a  /opt/local/lib/libXrandr.a
 /opt/local/lib/libXcursor.a       /opt/local/lib/libXrender.a
 /opt/local/lib/libcurses.a       /opt/local/lib/libXext.a
 /opt/local/lib/libX11.a       /opt/local/lib/libXft.a
 /opt/local/lib/libXau.a       /opt/local/lib/libXfixes.a
 /opt/local/lib/libxcb.a       /opt/local/lib/libXdmcp.a
 /opt/local/lib/libpng.a       /opt/local/lib/libz.a
 /opt/local/lib/libbz2.a       /opt/local/lib/libfreetype.a
 /opt/local/lib/libiconv.a       /opt/local/lib/libXft.a
 /opt/local/lib/libfontconfig.a       /opt/local/lib/libintl.a
 /opt/local/lib/libexpat.a       -lpthread       -ldl
 ld: warning: could not create compact unwind for _ffi_call_unix64: does
 not use RBP or RSP based frame
 Undefined symbols for architecture x86_64:
   "_BrotliDecoderDecompress", referenced from:
       _sfnt_open_font in libfreetype.a(sfnt.o)
 ld: symbol(s) not found for architecture x86_64
 }}}

 The problem is that reduce is trying to link with MacPorts static
 libraries, which means that it must specify all of those libraries'
 dependencies. A recent freetype update added a dependency on brotli which
 reduce is evidently not using, hence the error about undefined brotli
 library symbols.

 The fix should be for reduce to use MacPorts dynamic libraries instead of
 static libraries. This has numerous other advantages as well.

 If there is absolutely no way to fix the build to do that, then the other
 possible fix is to instruct the build to also link with the brotli static
 libraries /opt/local/lib/libbrotlidec-static.a and /opt/local/lib
 /libbrotlicommon-static.a.

-- 
Ticket URL: <https://trac.macports.org/ticket/60544>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list