Opened 6 months ago

Last modified 11 days ago

#71434 new defect

ftgl @2.4.0_1 does not build on macOS 15.1 Sequoia

Reported by: halostatue (Austin Ziegler) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.5
Keywords: Cc: fvaccari, Schamschula (Marius Schamschula)
Port: ftgl

Description

macOS 15.1.1 24B2091 arm64
Command Line Tools 16.1.0.0.1.1729049160
:info:build libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -IFTGlyph -IFTFont -IFTLayout -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -I../src -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -pipe -Os -std=c++11 -DGL_SILENCE_DEPRECATION -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -arch arm64 -W -Wall -Wundef -Wfloat-equal -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -Winline -MT libftgl_la-FTFontGlue.lo -MD -MP -MF .deps/libftgl_la-FTFontGlue.Tpo -c FTFont/FTFontGlue.cpp  -fno-common -DPIC -o .libs/libftgl_la-FTFontGlue.o
:info:build FTVectoriser.cpp:171:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'unsigned char *'
:info:build   171 |         char* tagList = &outline.tags[startIndex];
:info:build       |               ^         ~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build 1 error generated.
:info:build make[2]: *** [libftgl_la-FTVectoriser.lo] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -IFTGlyph -IFTFont -IFTLayout -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -I../src -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -pipe -Os -std=c++11 -DGL_SILENCE_DEPRECATION -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -arch arm64 -W -Wall -Wundef -Wfloat-equal -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare -Winline -MT libftgl_la-FTBitmapGlyph.lo -MD -MP -MF .deps/libftgl_la-FTBitmapGlyph.Tpo -c FTGlyph/FTBitmapGlyph.cpp -o libftgl_la-FTBitmapGlyph.o >/dev/null 2>&1

Attachments (1)

main.log (80.7 KB) - added by halostatue (Austin Ziegler) 6 months ago.
main build log

Download all attachments as: .zip

Change History (14)

Changed 6 months ago by halostatue (Austin Ziegler)

Attachment: main.log added

main build log

comment:1 Changed 6 months ago by halostatue (Austin Ziegler)

Detected while trying to install gource.

comment:2 Changed 6 months ago by jmroot (Joshua Root)

Port: ftgl added
Summary: ftgl: 2.4.0.1 does not build on macOS 15.1 Sierraftgl @2.4.0_1 does not build on macOS 15.1 Sierra
:info:build FTVectoriser.cpp:171:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'unsigned char *'
:info:build   171 |         char* tagList = &outline.tags[startIndex];
:info:build       |               ^         ~~~~~~~~~~~~~~~~~~~~~~~~~

comment:3 Changed 6 months ago by jmroot (Joshua Root)

Summary: ftgl @2.4.0_1 does not build on macOS 15.1 Sierraftgl @2.4.0_1 does not build on macOS 15.1 Sequoia

comment:4 Changed 5 months ago by rswail (Ron Wail)

Same error, not sure if relevant that I upgraded from clang-18 to 19.

Don't have a clang-18 environment to test.

comment:5 Changed 5 months ago by halostatue (Austin Ziegler)

It shouldn't. I've got a full Xcode install with 16.2 that provides clang 16.

macOS 15.2 24C101 arm64
Xcode 16.2 16C5032a

$ clang --version
Apple clang version 16.0.0 (clang-1600.0.26.6)
Target: arm64-apple-darwin24.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

comment:6 Changed 5 months ago by halostatue (Austin Ziegler)

So, I don't think that this is tied to macOS 15, but rather a change in freetype 2.13.3 which updated types.

This patch https://github.com/frankheckenbach/ftgl/pull/20.patch looks like it would address it, but I was going through and adding / updating patch files for (almost) everything merged from 2.4.0 to master since it doesn't look like there's likely to be another release from this source, and his proposed replacement repo doesn't look as up to date (Mr Heckenbach says he's not really maintaining the repo anymore).

Unfortunately, I’m getting a weird checksums error when all I’ve done is bumped the revision and added more patchfiles:

  • graphics/ftgl/Portfile

    diff --git c/graphics/ftgl/Portfile i/graphics/ftgl/Portfile
    index dfa5c26dc7b2..23ade069a18d 100644
    c i  
    22
    33PortSystem                 1.0
    44PortGroup         github   1.0
    55
    66github.setup      frankheckenbach ftgl 2.4.0 v
    7 revision          1
     7revision          2
    88platforms         darwin
    99categories        graphics
    1010license           MIT
    1111maintainers       nomaintainer
    1212
    use_autoreconf yes 
    2222autoreconf.env              LIBTOOLIZE=${prefix}/bin/glibtoolize
    2323autoreconf.cmd              ./autogen.sh
    2424autoreconf.args
    2525
    2626depends_lib-append \
    27     port:freetype 
     27    port:freetype
    2828
    2929depends_build-append \
    3030    port:autoconf \
    3131    port:automake \
    3232    port:gsed \
    3333    port:libtool \
    3434    port:pkgconfig
    3535
    36 patchfiles                  AC_ARG_WITH.patch \
    37                             dylib_file.patch
     36patchfiles                  20190521-CMakeLists.txt.patch \
     37                            20190524-GL_TEXTURE_BIT.patch \
     38                            20191028-pkgconfig-build.patch \
     39                            20210210-AC_ARG_WITH.patch \
     40                            20210210-dylib_file.patch \
     41                            20221117-fontdemo.patch \ \
     42                            20221117-fontdemo2.patch \
     43                            20230511-float.patch \
     44                            20241008-type-error.patch
    3845
    3946# Don't use MacPorts X11 since there doesn't seem to be a need to do so.
    4047# Don't use MacPorts OpenGL (mesa) since that would bring in X11 deps.
    4148configure.args-append       ac_cv_header_GL_gl_h=no \
    4249                            ac_cv_header_GL_glu_h=no \

This nets me

:debug:checksum Executing org.macports.checksum (ftgl)
:info:checksum --->  Checksumming  
:error:checksum No checksum set for  
:info:checksum --->  Checksumming ftgl-2.4.0.tar.gz
:error:checksum No checksum set for ftgl-2.4.0.tar.gz
:info:checksum The correct checksum line may be:
:info:checksum checksums             \
:info:checksum                     rmd160  c904e2aa2e5dc5329867ce120f4b1ebe1910ff65 \
:info:checksum                     sha256  933a371dbb2f44c9fa3121484d46081b5f1ed08c18908ba49bff92811629aede \
:info:checksum                     size    630956 \
:info:checksum                     ftgl-2.4.0.tar.gz \
:info:checksum                     rmd160  c904e2aa2e5dc5329867ce120f4b1ebe1910ff65 \
:info:checksum                     sha256  933a371dbb2f44c9fa3121484d46081b5f1ed08c18908ba49bff92811629aede \
:info:checksum                     size    630956
:error:checksum Failed to checksum ftgl: Unable to verify file checksums
:debug:checksum Error code: NONE
:debug:checksum Backtrace: Unable to verify file checksums
:debug:checksum     while executing
:debug:checksum "$procedure $targetname"
:error:checksum See /opt/local/var/macports/logs/_Users_austin_oss_macports-ports_graphics_ftgl/ftgl/main.log for details.

Even if I add ${distname}-${version}${extract.suffix} it seems not to help.

Last edited 5 months ago by halostatue (Austin Ziegler) (previous) (diff)

comment:7 Changed 5 months ago by halostatue (Austin Ziegler)

I can get this moving forward with:

post-fetch {
    ui_warn "all dist files: \[$all_dist_files\] [llength $all_dist_files]"

    if {[lsearch -exact $all_dist_files { }] != -1} {
        set blank_index [lsearch -exact $all_dist_files { }]
        set all_dist_files [lreplace $all_dist_files $blank_index $blank_index]
    }

    ui_warn "all dist files: \[$all_dist_files\] [llength $all_dist_files]"
}

The output of this is:

Portfile for ftgl changed since last build; discarding previous state.
--->  Fetching distfiles for ftgl
Warning: all dist files: [{ } ftgl-2.4.0.tar.gz] 2
Warning: all dist files: [ftgl-2.4.0.tar.gz] 1
Warning: Distfiles: [ftgl-2.4.0.tar.gz] 1
Warning: Distname: ftgl-2.4.0
--->  Verifying checksums for ftgl
--->  Extracting ftgl

It isn't clear to me why $all_dist_files has { } in it, but that's what's causing this particular failure.

The next step fails on patching, but I sort of expected that; I will probably need to just take the applied patches and handle them differently so that multiple patches don't touch the same files.

Last edited 5 months ago by halostatue (Austin Ziegler) (previous) (diff)

comment:8 Changed 5 months ago by halostatue (Austin Ziegler)

comment:9 in reply to:  6 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to halostatue:

Unfortunately, I’m getting a weird checksums error when all I’ve done is bumped the revision and added more patchfiles:

Caused by the extra \ at the end of this line:

+                            20221117-fontdemo.patch \ \

comment:10 Changed 5 months ago by halostatue (Austin Ziegler)

Good catch. Very weird and not happening with the version that I opened the PR with. I verified that I didn't need the pre-checksum{} block that I had added to clean $all_dist_files, so I have updated my PR with that removed.

comment:11 Changed 4 months ago by fvaccari

Cc: fvaccari added

comment:12 Changed 11 days ago by Schamschula (Marius Schamschula)

Cc: Schamschula added

comment:13 Changed 11 days ago by Marius Schamschula <mschamschula@…>

In 526872ac52f9e2cf76ea17d3a2a1027686298c45/macports-ports (master):

ftgl: fix type mismatch with latest FreeType

See: https://github.com/HamzaM3/ftgl/pull/1
See: #71434

Note: See TracTickets for help on using tickets.