Opened 11 months ago

Last modified 10 months ago

#68962 assigned defect

legacysupport: the macports-libcxx modifications put cxx-specific flags into the CPP flags, causing C builds to fail

Reported by: barracuda156 Owned by: cjones051073 (Chris Jones)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: tiger, leopard, snowleopard Cc: myart4ios
Port: legacysupport, libplacebo

Description

On buildbots: https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/181801/steps/install-port/logs/stdio

[17/72] /opt/local/bin/clang-mp-11 -Isrc/libplacebo.338.dylib.p -Isrc -I../libplacebo-6.338.1/src -Isrc/include -I../libplacebo-6.338.1/src/include -Isrc/opengl/include -I../libplacebo-6.338.1/src/opengl/include -Isrc/shaders -Isrc/vulkan -Isrc/opengl/include/glad -I/opt/local/include -fvisibility=hidden -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=c11 -O2 -g -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -D_ISOC99_SOURCE -D_ISOC11_SOURCE -D_GNU_SOURCE -U__STRICT_ANSI__ -Wmissing-prototypes -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-type-limits -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Wno-missing-braces -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -pipe -Os -arch x86_64 -nostdinc++ -DPL_HAVE_PTHREAD '' -DPL_EXPORT -MD -MQ src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -MF src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o.d -o src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -c src/shaders.c
FAILED: src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o 
/opt/local/bin/clang-mp-11 -Isrc/libplacebo.338.dylib.p -Isrc -I../libplacebo-6.338.1/src -Isrc/include -I../libplacebo-6.338.1/src/include -Isrc/opengl/include -I../libplacebo-6.338.1/src/opengl/include -Isrc/shaders -Isrc/vulkan -Isrc/opengl/include/glad -I/opt/local/include -fvisibility=hidden -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=c11 -O2 -g -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -D_ISOC99_SOURCE -D_ISOC11_SOURCE -D_GNU_SOURCE -U__STRICT_ANSI__ -Wmissing-prototypes -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-type-limits -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Wno-missing-braces -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -pipe -Os -arch x86_64 -nostdinc++ -DPL_HAVE_PTHREAD '' -DPL_EXPORT -MD -MQ src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -MF src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o.d -o src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -c src/shaders.c
In file included from src/shaders.c:19:
In file included from /opt/local/include/LegacySupport/math.h:77:
/opt/local/include/libcxx/v1/math.h:316:8: error: expected identifier or '('
extern "C" {
       ^
1 error generated.

Locally on PowerPC:

[17/72] /opt/local/bin/gcc-mp-13 -Isrc/libplacebo.338.dylib.p -Isrc -I../libplacebo-6.338.1/src -Isrc/include -I../libplacebo-6.338.1/src/include -Isrc/opengl/include -I../libplacebo-6.338.1/src/opengl/include -Isrc/shaders -Isrc/vulkan -Isrc/opengl/include/glad -I/opt/local/include -fvisibility=hidden -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=c11 -O2 -g -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -D_ISOC99_SOURCE -D_ISOC11_SOURCE -D_GNU_SOURCE -U__STRICT_ANSI__ -Wmissing-prototypes -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-type-limits -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -pipe -Os -arch ppc -DPL_HAVE_PTHREAD '' -DPL_EXPORT -MD -MQ src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o -MF src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o.d -o src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o -c src/shaders/custom.c
FAILED: src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o 
/opt/local/bin/gcc-mp-13 -Isrc/libplacebo.338.dylib.p -Isrc -I../libplacebo-6.338.1/src -Isrc/include -I../libplacebo-6.338.1/src/include -Isrc/opengl/include -I../libplacebo-6.338.1/src/opengl/include -Isrc/shaders -Isrc/vulkan -Isrc/opengl/include/glad -I/opt/local/include -fvisibility=hidden -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=c11 -O2 -g -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -D_ISOC99_SOURCE -D_ISOC11_SOURCE -D_GNU_SOURCE -U__STRICT_ANSI__ -Wmissing-prototypes -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-type-limits -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -pipe -Os -arch ppc -DPL_HAVE_PTHREAD '' -DPL_EXPORT -MD -MQ src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o -MF src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o.d -o src/libplacebo.338.dylib.p/meson-generated_.._shaders_custom.c.o -c src/shaders/custom.c
gcc-mp-13: warning: : linker input file unused because linking not done
gcc-mp-13: error: : linker input file not found: No such file or directory

Change History (6)

comment:1 Changed 11 months ago by kencu (Ken)

the build failure on the 10.6 buildbot is exposing a bug with legacysupport's newer libcxx forcing....

it looks like this "C" build line has cxx-specific flags…

Why are the cxx flags showing up on the "C" build?

Well, it's likely because legacysupport is putting the cxx-specific modifications onto the CPP flags, instead of the CXX flags, and so the C builds are picking them up.

CPPFLAGS='-isystem/opt/local/include/libcxx/v1 -nostdinc++ -isystem/opt/local/include/LegacySupport -I/opt/local/include'

they are not all on this build line…. but I suspect still being picked via env vars, etc.

/opt/local/bin/clang-mp-11 -Isrc/libplacebo.338.dylib.p -Isrc -I../libplacebo-6.338.1/src -Isrc/include -I../libplacebo-6.338.1/src/include -Isrc/opengl/include -I../libplacebo-6.338.1/src/opengl/include -Isrc/shaders -Isrc/vulkan -Isrc/opengl/include/glad -I/opt/local/include -fvisibility=hidden -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=c11 -O2 -g -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -D_ISOC99_SOURCE -D_ISOC11_SOURCE -D_GNU_SOURCE -U__STRICT_ANSI__ -Wmissing-prototypes -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-type-limits -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Wno-missing-braces -Wundef -Wshadow -Wparentheses -Wpointer-arith -fno-math-errno -pipe -Os -arch x86_64 -nostdinc++ -DPL_HAVE_PTHREAD '' -DPL_EXPORT -MD -MQ src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -MF src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o.d -o src/libplacebo.338.dylib.p/meson-generated_.._shaders.c.o -c src/shaders.c
In file included from src/shaders.c:19:
In file included from /opt/local/include/LegacySupport/math.h:77:
/opt/local/include/libcxx/v1/math.h:316:8: error: expected identifier or '('
extern "C" {
       ^

This probably means "we" need to go back and sort out properly how to add these flags.

Last edited 11 months ago by kencu (Ken) (previous) (diff)

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

Owner: changed from i0ntempest to cjones051073
Port: legacysupport added
Summary: libplacebo broken with the latest updatelegacysupport: the macports-libcxx modifications but cxx-specific flags onto the CPP flags, causing C builds to fail

comment:3 Changed 11 months ago by kencu (Ken)

whatever happened with Sergey's 10.6 PPC build with gcc13 is a different thing unrelated to the failure on the 10.6 x86_64 build.

That issue should be on it's own ticket with a full log from the build.

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

Summary: legacysupport: the macports-libcxx modifications but cxx-specific flags onto the CPP flags, causing C builds to faillegacysupport: the macports-libcxx modifications put cxx-specific flags onto the CPP flags, causing C builds to fail

comment:5 Changed 11 months ago by kencu (Ken)

Summary: legacysupport: the macports-libcxx modifications put cxx-specific flags onto the CPP flags, causing C builds to faillegacysupport: the macports-libcxx modifications put cxx-specific flags into the CPP flags, causing C builds to fail

comment:6 Changed 10 months ago by myart4ios

Cc: myart4ios added
Note: See TracTickets for help on using tickets.