#61210 closed defect (fixed)
ftgl fails to link due to undefined symbols
Reported by: | hellhovnd (Jean-Pierre Chauvel) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | bigsur | Cc: | chrstphrchvz (Christopher Chavez), ShadSterling (Shad Sterling), cooljeanius (Eric Gallager) |
Port: | ftgl |
Description (last modified by hellhovnd (Jean-Pierre Chauvel))
Using macports from source (master commit 652c0b2aa03562ff4c1cdbb1676994b5a6886624) on Big Sur with Command Line Tools for Xcode 12 beta 5
Attachments (3)
Change History (22)
Changed 4 years ago by hellhovnd (Jean-Pierre Chauvel)
comment:1 Changed 4 years ago by hellhovnd (Jean-Pierre Chauvel)
Description: | modified (diff) |
---|
comment:2 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
I haven't managed to reproduce this on macOS 10.15; I get other errors instead. My guess is that this port should be linking with -framework GLUT
.
comment:3 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
Cc: | chrstphrchvz added |
---|
comment:4 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
Sorry, the port now builds for me without errors. (I can no longer reproduce the errors I initially encountered: libtool
saying unknown tag CXX
, and a linking command failing because it used clang
instead of clang++
.)
comment:5 Changed 4 years ago by mf2k (Frank Schima)
Cc: | krugazor@… removed |
---|---|
Milestone: | MacPorts 2.7.0 |
Owner: | set to krugazor@… |
Status: | new → assigned |
comment:6 Changed 4 years ago by alex1platon
fails to link on Big Sur using Command Line Tools 12.2
:info:build libtool: link: /usr/bin/clang++ -dynamiclib -o .libs/libftgl.2.dylib .libs/libftgl_la-FTBuffer.o .libs/libftgl_la-FTCharmap.o .libs/libftgl_la-FTCleanup.o .libs/libftgl_la-FTContour.o .libs/libftgl_la-FTFace.o .libs/libftgl_la-FTGL.o .libs/libftgl_la-FTGlyphContaine r.o .libs/libftgl_la-FTLibrary.o .libs/libftgl_la-FTPoint.o .libs/libftgl_la-FTSize.o .libs/libftgl_la-FTVectoriser.o .libs/libftgl_la-FTGly ph.o .libs/libftgl_la-FTGlyphGlue.o .libs/libftgl_la-FTBitmapGlyph.o .libs/libftgl_la-FTBufferGlyph.o .libs/libftgl_la-FTExtrudeGlyph.o .lib s/libftgl_la-FTOutlineGlyph.o .libs/libftgl_la-FTPixmapGlyph.o .libs/libftgl_la-FTPolygonGlyph.o .libs/libftgl_la-FTTextureGlyph.o .libs/lib ftgl_la-FTTriangleExtractorGlyph.o .libs/libftgl_la-FTFont.o .libs/libftgl_la-FTFontGlue.o .libs/libftgl_la-FTBitmapFont.o .libs/libftgl_la- FTBufferFont.o .libs/libftgl_la-FTExtrudeFont.o .libs/libftgl_la-FTOutlineFont.o .libs/libftgl_la-FTPixmapFont.o .libs/libftgl_la-FTPolygonF ont.o .libs/libftgl_la-FTTextureFont.o .libs/libftgl_la-FTTriangleExtractorFont.o .libs/libftgl_la-FTLayout.o .libs/libftgl_la-FTLayoutGlue. o .libs/libftgl_la-FTSimpleLayout.o -L/opt/local/lib -lfreetype -lGL -lSM -lICE -lX11 -lXext -lXmu -Os -stdlib=libc++ -arch x86_64 -Wl,-h eaderpad_max_install_names -Wl,-syslibroot -Wl,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch x86_64 -install_name /opt/lo cal/lib/libftgl.2.dylib -compatibility_version 7 -current_version 7.0 -Wl,-single_module :info:build Undefined symbols for architecture x86_64: :info:build "_gluDeleteTess", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluNewTess", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessBeginContour", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessBeginPolygon", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessCallback", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessEndContour", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessEndPolygon", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessNormal", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessProperty", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessVertex", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
Changed 4 years ago by alex1platon
Attachment: | config.log added |
---|
comment:7 Changed 4 years ago by ShadSterling (Shad Sterling)
Cc: | ShadSterling added |
---|
comment:8 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
comment:9 Changed 4 years ago by neverpanic (Clemens Lang)
Owner: | krugazor@… deleted |
---|
comment:10 Changed 4 years ago by murrayE
Build failure with Xcode 12.4 and CLT 12.4 under BigSur 11.1:
:info:build mv -f .deps/libftgl_la-FTSimpleLayout.Tpo .deps/libftgl_la-FTSimpleLayout.Plo :info:build /bin/sh ../libtool --tag=CXX --mode=link /usr/bin/clang++ -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -pipe -Os -std=c++11 -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -W -Wall -Wundef -Wfloat-equal -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -Winline -no-undefined -version-number 2:4:0 -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -W -Wall -Wundef -Wfloat-equal -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -Winline -o libftgl.la -rpath /opt/local/lib libftgl_la-FTBuffer.lo libftgl_la-FTCharmap.lo libftgl_la-FTCleanup.lo libftgl_la-FTContour.lo libftgl_la-FTFace.lo libftgl_la-FTGL.lo libftgl_la-FTGlyphContainer.lo libftgl_la-FTLibrary.lo libftgl_la-FTPoint.lo libftgl_la-FTSize.lo libftgl_la-FTVectoriser.lo libftgl_la-FTGlyph.lo libftgl_la-FTGlyphGlue.lo libftgl_la-FTBitmapGlyph.lo libftgl_la-FTBufferGlyph.lo libftgl_la-FTExtrudeGlyph.lo libftgl_la-FTOutlineGlyph.lo libftgl_la-FTPixmapGlyph.lo libftgl_la-FTPolygonGlyph.lo libftgl_la-FTTextureGlyph.lo libftgl_la-FTTriangleExtractorGlyph.lo libftgl_la-FTFont.lo libftgl_la-FTFontGlue.lo libftgl_la-FTBitmapFont.lo libftgl_la-FTBufferFont.lo libftgl_la-FTExtrudeFont.lo libftgl_la-FTOutlineFont.lo libftgl_la-FTPixmapFont.lo libftgl_la-FTPolygonFont.lo libftgl_la-FTTextureFont.lo libftgl_la-FTTriangleExtractorFont.lo libftgl_la-FTLayout.lo libftgl_la-FTLayoutGlue.lo libftgl_la-FTSimpleLayout.lo -L/opt/local/lib -lfreetype -lGL -lSM -lICE -lX11 -lXext -lXmu :info:build libtool: link: /usr/bin/clang++ -dynamiclib -o .libs/libftgl.2.dylib .libs/libftgl_la-FTBuffer.o .libs/libftgl_la-FTCharmap.o .libs/libftgl_la-FTCleanup.o .libs/libftgl_la-FTContour.o .libs/libftgl_la-FTFace.o .libs/libftgl_la-FTGL.o .libs/libftgl_la-FTGlyphContainer.o .libs/libftgl_la-FTLibrary.o .libs/libftgl_la-FTPoint.o .libs/libftgl_la-FTSize.o .libs/libftgl_la-FTVectoriser.o .libs/libftgl_la-FTGlyph.o .libs/libftgl_la-FTGlyphGlue.o .libs/libftgl_la-FTBitmapGlyph.o .libs/libftgl_la-FTBufferGlyph.o .libs/libftgl_la-FTExtrudeGlyph.o .libs/libftgl_la-FTOutlineGlyph.o .libs/libftgl_la-FTPixmapGlyph.o .libs/libftgl_la-FTPolygonGlyph.o .libs/libftgl_la-FTTextureGlyph.o .libs/libftgl_la-FTTriangleExtractorGlyph.o .libs/libftgl_la-FTFont.o .libs/libftgl_la-FTFontGlue.o .libs/libftgl_la-FTBitmapFont.o .libs/libftgl_la-FTBufferFont.o .libs/libftgl_la-FTExtrudeFont.o .libs/libftgl_la-FTOutlineFont.o .libs/libftgl_la-FTPixmapFont.o .libs/libftgl_la-FTPolygonFont.o .libs/libftgl_la-FTTextureFont.o .libs/libftgl_la-FTTriangleExtractorFont.o .libs/libftgl_la-FTLayout.o .libs/libftgl_la-FTLayoutGlue.o .libs/libftgl_la-FTSimpleLayout.o -L/opt/local/lib -lfreetype -lGL -lSM -lICE -lX11 -lXext -lXmu -Os -stdlib=libc++ -arch x86_64 -Wl,-headerpad_max_install_names -Wl,-syslibroot -Wl,/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -arch x86_64 -install_name /opt/local/lib/libftgl.2.dylib -compatibility_version 7 -current_version 7.0 -Wl,-single_module :info:build ld: warning: dylib (/opt/local/lib/libXmu.dylib) was built for newer macOS version (11.1) than being linked (11.0) :info:build ld: warning: dylib (/opt/local/lib/libXext.dylib) was built for newer macOS version (11.1) than being linked (11.0) :info:build Undefined symbols for architecture x86_64: :info:build "_gluDeleteTess", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluNewTess", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessBeginContour", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessBeginPolygon", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessCallback", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessEndContour", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessEndPolygon", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessNormal", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessProperty", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build "_gluTessVertex", referenced from: :info:build FTVectoriser::MakeMesh(double, int, float) in libftgl_la-FTVectoriser.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) :info:build make[2]: *** [libftgl.la] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_ftgl/ftgl/work/frankheckenbach-ftgl-4836392/src' :info:build make[1]: *** [all-recursive] Error 1 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_ftgl/ftgl/work/frankheckenbach-ftgl-4836392' :info:build make: *** [all] Error 2 :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_ftgl/ftgl/work/frankheckenbach-ftgl-4836392' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_ftgl/ftgl/work/ftgl-2.4.0" && /usr/bin/make -j16 -w all :info:build Exit code: 2 :error:build Failed to build ftgl: command execution failed :debug:build Error code: CHILDSTATUS 82491 2
Note also warnings in Terminal during install attempt:
---> Configuring ftgl Warning: ----------------------------------------------------------------------- Warning: The port 'ftgl' uses the cxx11 PortGroup which is deprecated. Warning: Please instead specify the required c++ standard directly using Warning: compiler.cxx_standard 2011 Warning: replacing 2011 with newer standards (e.g. 2014, 2017) as required. Warning: For more details see https://trac.macports.org/wiki/CompilerSelection Warning: ----------------------------------------------------------------------- ---> Building ftgl
comment:11 Changed 4 years ago by murrayE
Any workaround?
I need ftgl for installing gnuplot +aquaterm+luaterm+pangocairo+qt+wxwidgets+x11.
comment:12 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | bigsur added |
---|
Since we're talking about macOS 11 here and the log mentions libtool, it seems likely that this is the well-known libtool bug when running on macOS 11+ and it needs the standard fix from the libtool port's files directory. Let me take a look.
comment:13 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Unfortunately it's not that easy fix. This port already regenerates the configure script so it already contains the fixes from the libtool port.
comment:14 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
PR opened to manually append (Edit: rejected in favor of better fix)
-framework GLUT
to LDFLAGS, which I believe will work: https://github.com/macports/macports-ports/pull/9991
comment:15 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Status: | assigned → accepted |
The port deliberately wanted to prevent the use of GLUT since it was only needed for examples. There were a couple bugs in the upstream source that I've fixed and some warnings I've suppressed.
comment:16 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:17 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Sorry about the collision, Christopher. Guess we were both working on it at the same time. Hope it's alright that I went ahead with my version.
comment:18 Changed 4 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:19 Changed 4 years ago by chrstphrchvz (Christopher Chavez)
No worries, I simply never got around to proposing the workaround sooner; glad that it isn't needed after all. Thanks also to the reporter who sent us a reminder.
main.log