Opened 3 months ago

Last modified 3 months ago

#69266 new defect

libpixman @0.42.2 does not build on PPC Mac OS X 10.4.11, Tiger, because /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld does not understand --version

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: tiger ppc Cc: ryandesign@…, mascguy@…
Port: libpixman

Description

The Meson build system
Version: 0.64.1
Source dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/pixman-0.42.2
Build dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build
Build type: native build
Project name: pixman
Project version: 0.42.2

meson.build:21:0: ERROR: Unable to detect linker for compiler `/usr/bin/gcc-4.0 -Wl,--version -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -arch ppc -I/opt/local/include`
stdout: 
stderr: /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: --version
collect2: ld returned 1 exit status

/opt/local/bin/gcc-apple-4.2 might be a more useful compiler.

Attachments (4)

main.log (14.5 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Main.log from PPC Tiger, Mac OS X 10.4.11
meson-log.txt (1.9 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Meson-log.txt from PPC Tiger, Mac OS X 10.4.11
main.2.log (22.9 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Main.log from PPC Tiger, Mac OS X 10.4.11, with Apple GCC 4.2
meson-log.2.txt (70.1 KB) - added by ballapete (Peter "Pete" Dyballa) 3 months ago.
Meson-log.txt from PPC Tiger, Mac OS X 10.4.11, with Apple GCC 4.2

Download all attachments as: .zip

Change History (8)

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Tiger, Mac OS X 10.4.11

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: meson-log.txt added

Meson-log.txt from PPC Tiger, Mac OS X 10.4.11

comment:1 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

apple-gcc-4.2 is of course the default compiler on Tiger. The libpixman port deliberately excludes that compiler with these lines:

platform darwin 8 powerpc {
    # apple-gcc-4.2 makes Tiger ppc fail to detect pthread support and then fail to build
    compiler.blacklist-append apple-gcc-4.2
}

These lines were added ten years ago to fix #44268. Back then libpixman was building with autotools; now that it uses meson the situation may be different. You can test removing that block and see if it builds and works.

comment:2 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Compilation starts, but fails here:

Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build" && /opt/local/bin/ninja -j1 -v 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build" && /opt/local/bin/ninja -j1 -v 
[1/113] /opt/local/bin/gcc-apple-4.2 -Ipixman/libpixman-vmx.a.p -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -DHAVE_CONFIG_H -pipe -Os -arch ppc -maltivec -mabi=altivec -MD -MQ pixman/libpixman-vmx.a.p/pixman-vmx.c.o -MF pixman/libpixman-vmx.a.p/pixman-vmx.c.o.d -o pixman/libpixman-vmx.a.p/pixman-vmx.c.o -c ../pixman-0.42.2/pixman/pixman-vmx.c
FAILED: pixman/libpixman-vmx.a.p/pixman-vmx.c.o 
/opt/local/bin/gcc-apple-4.2 -Ipixman/libpixman-vmx.a.p -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -DHAVE_CONFIG_H -pipe -Os -arch ppc -maltivec -mabi=altivec -MD -MQ pixman/libpixman-vmx.a.p/pixman-vmx.c.o -MF pixman/libpixman-vmx.a.p/pixman-vmx.c.o.d -o pixman/libpixman-vmx.a.p/pixman-vmx.c.o -c ../pixman-0.42.2/pixman/pixman-vmx.c
../pixman-0.42.2/pixman/pixman-vmx.c: In function 'fast_composite_scaled_nearest_vmx_8888_8888_cover_OVER':
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2973: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c: In function 'fast_composite_scaled_nearest_vmx_8888_8888_none_OVER':
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2976: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c: In function 'fast_composite_scaled_nearest_vmx_8888_8888_pad_OVER':
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2979: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c: In function 'fast_composite_scaled_nearest_vmx_8888_8888_normal_OVER':
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
../pixman-0.42.2/pixman/pixman-vmx.c:2982: error: expected identifier before '__attribute__'
ninja: build stopped: subcommand failed.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build" && /opt/local/bin/ninja -j1 -v 

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.2.log added

Main.log from PPC Tiger, Mac OS X 10.4.11, with Apple GCC 4.2

Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: meson-log.2.txt added

Meson-log.txt from PPC Tiger, Mac OS X 10.4.11, with Apple GCC 4.2

comment:3 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

I tried to port -vs upgrade libpixman configure.compiler=macports-gcc-7 and came up to here:

[33/113] /opt/local/bin/gcc-mp-7  -o pixman/libpixman-1.0.dylib pixman/libpixman-1.0.dylib.p/pixman.c.o pixman/libpixman-1.0.dylib.p/pixman-access.c.o pixman/libpixman-1.0.dylib.p/pixman-access-accessors.c.o pixman/libpixman-1.0.dylib.p/pixman-bits-image.c.o pixman/libpixman-1.0.dylib.p/pixman-combine32.c.o pixman/libpixman-1.0.dylib.p/pixman-combine-float.c.o pixman/libpixman-1.0.dylib.p/pixman-conical-gradient.c.o pixman/libpixman-1.0.dylib.p/pixman-filter.c.o pixman/libpixman-1.0.dylib.p/pixman-x86.c.o pixman/libpixman-1.0.dylib.p/pixman-mips.c.o pixman/libpixman-1.0.dylib.p/pixman-arm.c.o pixman/libpixman-1.0.dylib.p/pixman-ppc.c.o pixman/libpixman-1.0.dylib.p/pixman-edge.c.o pixman/libpixman-1.0.dylib.p/pixman-edge-accessors.c.o pixman/libpixman-1.0.dylib.p/pixman-fast-path.c.o pixman/libpixman-1.0.dylib.p/pixman-glyph.c.o pixman/libpixman-1.0.dylib.p/pixman-general.c.o pixman/libpixman-1.0.dylib.p/pixman-gradient-walker.c.o pixman/libpixman-1.0.dylib.p/pixman-image.c.o pixman/libpixman-1.0.dylib.p/pixman-implementation.c.o pixman/libpixman-1.0.dylib.p/pixman-linear-gradient.c.o pixman/libpixman-1.0.dylib.p/pixman-matrix.c.o pixman/libpixman-1.0.dylib.p/pixman-noop.c.o pixman/libpixman-1.0.dylib.p/pixman-radial-gradient.c.o pixman/libpixman-1.0.dylib.p/pixman-region16.c.o pixman/libpixman-1.0.dylib.p/pixman-region32.c.o pixman/libpixman-1.0.dylib.p/pixman-solid-fill.c.o pixman/libpixman-1.0.dylib.p/pixman-timer.c.o pixman/libpixman-1.0.dylib.p/pixman-trap.c.o pixman/libpixman-1.0.dylib.p/pixman-utils.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @loader_path/libpixman-1.0.dylib -compatibility_version 39.0.0 -current_version 42.0.0 -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -arch ppc pixman/libpixman-vmx.a -lm
[34/113] /opt/local/Library/Frameworks/Python.framework/Versions/3.11/bin/meson --internal symbolextractor /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build pixman/libpixman-1.0.dylib pixman/libpixman-1.0.dylib pixman/libpixman-1.0.dylib.p/libpixman-1.0.dylib.symbols 
WARNING: ['nm'] does not work. Relinking will always happen on source changes.
error: nm: invalid argument --
Usage: nm [-agnopruUmxjlfAP[s segname sectname] [-] [-t format] [[-arch <arch_flag>] ...] [file ...]

[35/113] /opt/local/bin/gcc-mp-7 -Itest/libtestutils.a.p -Itest -I../pixman-0.42.2/test -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -Wno-unused-local-typedefs -DHAVE_CONFIG_H -pipe -Os -arch ppc -MD -MQ test/libtestutils.a.p/utils.c.o -MF test/libtestutils.a.p/utils.c.o.d -o test/libtestutils.a.p/utils.c.o -c ../pixman-0.42.2/test/utils.c
../pixman-0.42.2/test/utils.c: In function 'aligned_malloc':
../pixman-0.42.2/test/utils.c:1009:9: warning: implicit declaration of function 'posix_memalign' [-Wimplicit-function-declaration]
     if (posix_memalign (&result, align, size) != 0)
         ^~~~~~~~~~~~~~
[36/113] /opt/local/bin/gcc-mp-7 -Itest/libtestutils.a.p -Itest -I../pixman-0.42.2/test -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -Wno-unused-local-typedefs -DHAVE_CONFIG_H -pipe -Os -arch ppc -MD -MQ test/libtestutils.a.p/utils-prng.c.o -MF test/libtestutils.a.p/utils-prng.c.o.d -o test/libtestutils.a.p/utils-prng.c.o -c ../pixman-0.42.2/test/utils-prng.c
[37/113] rm -f test/libtestutils.a && ar csr test/libtestutils.a test/libtestutils.a.p/utils.c.o test/libtestutils.a.p/utils-prng.c.o
[38/113] /opt/local/bin/gcc-mp-7 -Itest/oob-test.p -Itest -I../pixman-0.42.2/test -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -Wno-unused-local-typedefs -DHAVE_CONFIG_H -pipe -Os -arch ppc -MD -MQ test/oob-test.p/oob-test.c.o -MF test/oob-test.p/oob-test.c.o.d -o test/oob-test.p/oob-test.c.o -c ../pixman-0.42.2/test/oob-test.c
[39/113] /opt/local/bin/gcc-mp-7  -o test/oob-test test/oob-test.p/oob-test.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -arch ppc test/libtestutils.a pixman/libpixman-1.0.dylib -lm
[40/113] /opt/local/bin/gcc-mp-7 -Itest/infinite-loop.p -Itest -I../pixman-0.42.2/test -Ipixman -I../pixman-0.42.2/pixman -I/opt/local/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=gnu99 -O2 -g -Wdeclaration-after-statement -fno-strict-aliasing -fvisibility=hidden -Wundef -ftrapping-math -Wno-unused-local-typedefs -DHAVE_CONFIG_H -pipe -Os -arch ppc -MD -MQ test/infinite-loop.p/infinite-loop.c.o -MF test/infinite-loop.p/infinite-loop.c.o.d -o test/infinite-loop.p/infinite-loop.c.o -c ../pixman-0.42.2/test/infinite-loop.c
[41/113] /opt/local/bin/gcc-mp-7  -o test/infinite-loop test/infinite-loop.p/infinite-loop.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -arch ppc test/libtestutils.a pixman/libpixman-1.0.dylib -lm
FAILED: test/infinite-loop 
/opt/local/bin/gcc-mp-7  -o test/infinite-loop test/infinite-loop.p/infinite-loop.c.o -L/opt/local/lib -I/opt/local/include -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-headerpad_max_install_names -arch ppc -pipe -Os -arch ppc test/libtestutils.a pixman/libpixman-1.0.dylib -lm
Undefined symbols:
  "_posix_memalign", referenced from:
      _aligned_malloc in libtestutils.a(utils.c.o)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libpixman/libpixman/work/build" && /opt/local/bin/ninja -j1 -v 
Exit code: 1

meson or ninja need an update to use the proper nm command, but the actual failure seems to be the OS which is so old that it does not provide _posix_memalign – but isn't it also in libgcc?

comment:4 Changed 3 months ago by ballapete (Peter "Pete" Dyballa)

This seems to be in the end a duplicate of #68473 and #69146.

Note: See TracTickets for help on using tickets.