Opened 3 years ago

Last modified 2 years ago

#61734 reopened defect

supertux @0.6.2: build fails if Mono.framework is installed: error: 'freetype/config/ftheader.h' file not found

Reported by: kencu (Ken) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mascguy (Christopher Nielsen), evanmiller (Evan Miller)
Port: supertux

Description (last modified by kencu (Ken))

during the build of supertux the build fails if /Library/Frameworks/Mono.framework is installed:

[ 31%] Building CXX object squirrel/CMakeFiles/squirrel_static.dir/sqfuncstate.cpp.o
cd /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/build/squirrel-prefix/src/squirrel-build/squirrel && /usr/bin/clang++ -D_SQ64 -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/SuperTux-v0.6.2-Source/external/squirrel/include -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -o CMakeFiles/squirrel_static.dir/sqfuncstate.cpp.o -c /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/SuperTux-v0.6.2-Source/external/squirrel/squirrel/sqfuncstate.cpp
[ 33%] Building CXX object squirrel/CMakeFiles/squirrel.dir/sqbaselib.cpp.o
cd /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/build/squirrel-prefix/src/squirrel-build/squirrel && /usr/bin/clang++ -D_SQ64 -Dsquirrel_EXPORTS -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/SuperTux-v0.6.2-Source/external/squirrel/include -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -fPIC -o CMakeFiles/squirrel.dir/sqbaselib.cpp.o -c /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/SuperTux-v0.6.2-Source/external/squirrel/squirrel/sqbaselib.cpp
In file included from /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_games_supertux/supertux/work/SuperTux-v0.6.2-Source/external/SDL_ttf/SDL_ttf.c:27:
/Library/Frameworks/Mono.framework/Headers/ft2build.h:56:10: fatal error: 'freetype/config/ftheader.h' file not found
#include <freetype/config/ftheader.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

I can't say what exactly installed Mono.framework at the moment -- I have several things installed that might have done it, like Steam.app.

It was not obvious to me with 5 minutes looking how to make supertux ignore Mono.framework so I disabled it for the supertux build, and that worked around the issue, although - obviously - not a proper solution to it.

cmake can set certain include directories as system directories to be searched before other system directories. I would imagine that adding the freetype2 include path to that "search before system list" might be a way.

Change History (7)

comment:1 Changed 3 years ago by kencu (Ken)

Description: modified (diff)

comment:2 Changed 3 years ago by kencu (Ken)

Summary: supertux @0.6.2: build fails in Mono.framework is installedsupertux @0.6.2: build fails if Mono.framework is installed

comment:3 Changed 3 years ago by kencu (Ken)

Summary: supertux @0.6.2: build fails if Mono.framework is installedsupertux @0.6.2: build fails if Mono.framework is installed: error: 'freetype/config/ftheader.h' file not found

comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Sure ideally the port would be fixed so that it could build even if /Library/Frameworks/Mono.framework is installed. However because this type of problem is common our position is that users should not install things in /Library/Frameworks. See wiki:FAQ#libraryframeworks

comment:5 Changed 3 years ago by kencu (Ken)

Resolution: wontfix
Status: newclosed

comment:6 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: evanmiller added
Resolution: wontfix
Status: closedreopened

Resurrecting this ticket, as our CI builds for supertux are failing due to this issue. Take a look at the CI runs for the following open PR, submitted by @evanmiller:

PR 13490 - supertux: update to 0.6.3

It's unclear where the Mono framework is coming from. But it's installed in our CI environment regardless.

So, should we reconsider updating this port, to prevent use of that?

Note: See TracTickets for help on using tickets.