Opened 15 months ago

Last modified 15 months ago

#54418 new defect

ftgl @2.1.3-rc5 fails to build on SnowLeopard, Mac OS X 10.6.8, because build dependency to GLUT is not recorded?

Reported by: ballapete (Peter Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: snowleopard Cc: krugazor@…, ken.cunningham.webuse@…
Port: ftgl

Description

checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking for OpenGL framework (Darwin-specific)... yes
checking for GL library... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for GLU version >= 1.2... yes
checking GL/glut.h usability... yes
checking GL/glut.h presence... yes
checking for GL/glut.h... yes
checking for GLUT library... no
configure: WARNING: GLUT headers not available, example program won't be compiled.

and finally:

/bin/sh ../libtool --tag=CXX   --mode=compile /opt/local/bin/clang++-mp-3.9 -DHAVE_CONFIG_H -I. -I..  -IFTGlyph -IFTFont -IFTLayout -I/opt/local/include -I../src -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -I/opt/local/include/freetype2 -I/opt/local/include/libpng16  -pipe -Os -stdlib=libc++ -arch x86_64 -MT libftgl_la-FTTextureFont.lo -MD -MP -MF .deps/libftgl_la-FTTextureFont.Tpo -c -o libftgl_la-FTTextureFont.lo `test -f 'FTFont/FTTextureFont.cpp' || echo './'`FTFont/FTTextureFont.cpp
FTFont/FTBufferFont.cpp:194:16: error: use of undeclared identifier 'strndup'
        return strndup(s, len);
               ^
FTFont/FTBufferFont.cpp:210:16: error: use of undeclared identifier 'wcsdup'
        return wcsdup(s);
               ^
2 errors generated.

although configurefinds

checking for wcsdup... yes
checking for strndup... yes

port before reports:

DEBUG: epoch: in tree: 0 installed: 0
DEBUG: snowleopardfixes 20170702_0 exists in the ports tree
DEBUG: snowleopardfixes 20170702_0  is the latest installed
DEBUG: snowleopardfixes 20170702_0  is active
DEBUG: Merging existing variants '' into variants
DEBUG: new fully merged portvariants: ld64_236 - ld64_97 - llvm34 - ld64_127 - llvm39 +
DEBUG: Changing to port directory: /Users/pete/Quellen/MacPorts/sysutils/snowleopardfixes
DEBUG: OS darwin/10.8.0 (Mac OS X 10.6) arch i386
DEBUG: Sourcing PortGroup github 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/github-1.0.tcl
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: Sourcing PortGroup muniversal 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl
DEBUG: universal variant already exists, so not adding the default one
DEBUG: Requested variant -ld64_236 is not provided by port snowleopardfixes.
DEBUG: Requested variant -ld64_97 is not provided by port snowleopardfixes.
DEBUG: Requested variant -llvm34 is not provided by port snowleopardfixes.
DEBUG: Requested variant +llvm39 is not provided by port snowleopardfixes.
DEBUG: Requested variant -ld64_127 is not provided by port snowleopardfixes.
DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Chosen compiler macports-clang-3.9 is provided by a port, adding dependency
DEBUG: Adding depends_build port:clang-3.9
DEBUG: Adding depends_skip_archcheck clang-3.9
DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: No need to upgrade! snowleopardfixes 20170702_0 >= snowleopardfixes 20170702_0
--->  Computing dependencies for ftgl
DEBUG: ftgl has no conflicts
DEBUG: Searching for dependency: gsed
DEBUG: Found Dependency: receipt exists for gsed
DEBUG: Searching for dependency: clang-3.9
DEBUG: Found Dependency: receipt exists for clang-3.9
DEBUG: Searching for dependency: freetype
DEBUG: Found Dependency: receipt exists for freetype
DEBUG: Searching for dependency: snowleopardfixes
DEBUG: Found Dependency: receipt exists for snowleopardfixes
DEBUG: Executing org.macports.main (ftgl)
DEBUG: dropping privileges: euid changed to 504, egid changed to 501.
DEBUG: Skipping completed org.macports.archivefetch (ftgl)
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: fetch phase started at Mon Jul  3 23:35:58 CEST 2017
--->  Fetching distfiles for ftgl
DEBUG: Executing org.macports.fetch (ftgl)
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: checksum phase started at Mon Jul  3 23:35:58 CEST 2017
--->  Verifying checksums for ftgl
DEBUG: Executing org.macports.checksum (ftgl)
--->  Checksumming ftgl-2.1.3-rc5.tar.gz
DEBUG: Calculated (md5) is fcf4d0567b7de9875d4e99a9f7423633
DEBUG: Correct (md5) checksum for ftgl-2.1.3-rc5.tar.gz
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: extract phase started at Mon Jul  3 23:35:58 CEST 2017
--->  Extracting ftgl
DEBUG: Executing org.macports.extract (ftgl)
--->  Extracting ftgl-2.1.3-rc5.tar.gz
DEBUG: setting option extract.args to '/opt/local/var/macports/distfiles/ftgl/ftgl-2.1.3-rc5.tar.gz'
DEBUG: Environment: 
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.6'
Executing:  cd "/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/ftgl/ftgl-2.1.3-rc5.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
DEBUG: system:  cd "/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/ftgl/ftgl-2.1.3-rc5.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
DEBUG: euid/egid changed to: 0/0
DEBUG: chowned /opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work to macports
DEBUG: euid/egid changed to: 504/501
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: patch phase started at Mon Jul  3 23:35:58 CEST 2017
DEBUG: Executing org.macports.patch (ftgl)
--->  Applying patches to ftgl
--->  Applying patch-docs-Makefile.in.diff
DEBUG: Environment: 
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.6'
Executing:  cd "/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work/ftgl-2.1.3~rc5" && /usr/bin/patch -p0 < '/Users/pete/Quellen/MacPorts/graphics/ftgl/files/patch-docs-Makefile.in.diff'
DEBUG: system:  cd "/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work/ftgl-2.1.3~rc5" && /usr/bin/patch -p0 < '/Users/pete/Quellen/MacPorts/graphics/ftgl/files/patch-docs-Makefile.in.diff'
DEBUG: Privilege de-escalation not attempted as not running as root.
DEBUG: configure phase started at Mon Jul  3 23:35:58 CEST 2017
--->  Configuring ftgl
DEBUG: Preferred compilers: macports-clang-3.9 macports-clang-3.8 macports-clang-3.7 gcc-4.2 apple-gcc-4.2 gcc-4.0
DEBUG: Using compiler 'MacPorts Clang 3.9'
DEBUG: Executing org.macports.configure (ftgl)
DEBUG: Environment: 
CC='/opt/local/bin/clang-mp-3.9'
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_pete_Quellen_MacPorts_graphics_ftgl/ftgl/work/.CC_PRINT_OPTIONS'
CFLAGS='-pipe -Os -arch x86_64'
CPATH='/opt/local/include'
CPPFLAGS='-I/opt/local/include'
CXX='/opt/local/bin/clang++-mp-3.9'
CXXFLAGS='-pipe -Os -stdlib=libc++ -arch x86_64'
F77FLAGS='-m64'
F90FLAGS='-pipe -Os -m64'
FCFLAGS='-pipe -Os -m64'
FFLAGS='-pipe -Os'
INSTALL='/usr/bin/install -c'
LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -lsnowleopardfixes -arch x86_64'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.6'
OBJC='/opt/local/bin/clang-mp-3.9'
OBJCFLAGS='-pipe -Os -arch x86_64'
OBJCXX='/opt/local/bin/clang++-mp-3.9'
OBJCXXFLAGS='-pipe -Os -stdlib=libc++ -arch x86_64'

so this should not have failed.

Attachments (1)

main.log (7.0 KB) - added by ballapete (Peter Dyballa) 15 months ago.
main.log from local Portfile

Download all attachments as: .zip

Change History (6)

Changed 15 months ago by ballapete (Peter Dyballa)

Attachment: main.log added

main.log from local Portfile

comment:1 Changed 15 months ago by ballapete (Peter Dyballa)

diff graphics/ftgl/Portfile /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/ftgl/Portfile
31,35d30
< platform darwin 10 {
< 	depends_lib-append          port:snowleopardfixes
< 	configure.ldflags-append   -lsnowleopardfixes
< }
< 

comment:2 Changed 15 months ago by kencu (Ken)

well, in this port, the configure script does the right thing

checking for wcsdup... no
checking for strndup... no

and does it's own replacements, as it should. So the snowleopardfixes library is not needed (and appears to be detrimental), because it installs for me without modification

$ port -v installed ftgl
The following ports are currently installed:
  ftgl @2.1.3-rc5_0 (active) platform='darwin 10' archs='x86_64' date='2017-07-03T15:35:31-0700'

comment:3 in reply to:  1 Changed 15 months ago by Schamschula (Marius Schamschula)

Replying to ballapete:

diff graphics/ftgl/Portfile /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/ftgl/Portfile
31,35d30
< platform darwin 10 {
< 	depends_lib-append          port:snowleopardfixes
< 	configure.ldflags-append   -lsnowleopardfixes
< }
< 

Peter,

All you should need to do now is to add

PortGroup snowleopard_fixes 1.0

to the top of the Portfile

comment:4 Changed 15 months ago by kencu (Ken)

Oh, but not in this port -- it does the right thing already.

[And - of interest - this build fails with the portgroup added without an included header to define the function. Yet on other ports, including the header messes up the build due to unexpected #defines pulled in. So we can not have the snowleopard_fixes library included by default on all ports until / unless I get that header business totally figured out, as Peter demonstrates here.

If I was really smart, I'd find a way to make the snowleopardfixes thing part of clang directly.]

comment:5 in reply to:  4 Changed 15 months ago by ballapete (Peter Dyballa)

Replying to kencu:

Oh, but not in this port -- it does the right thing already.

Yes, confirmed! It builds with the original Portfile.

Note: See TracTickets for help on using tickets.