Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#70658 closed defect (fixed)

orc 0.4.39 fails to build: error: redefinition of typedef ‘OrcX86Target’

Reported by: barracuda156 Owned by: Sergey Fedorov <barracuda@…>
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: Cc:
Port: orc

Description

FAILED: orc/liborc-0.4.0.dylib.p/orcprogram-x86.c.o 
ccache /usr/bin/gcc-4.2 -Iorc/liborc-0.4.0.dylib.p -Iorc -I../orc-0.4.39/orc -I. -I../orc-0.4.39 -I/opt/local/include -Wall -Winvalid-pch -O2 -g -DHAVE_CONFIG_H -we4013 -Wno-implicit-int -Wno-implicit-function-declaration -fvisibility=hidden -pipe -Os -std=gnu99 -arch ppc -DORC_ENABLE_UNSTABLE_API -D_GNU_SOURCE -DBUILDING_ORC -MD -MQ orc/liborc-0.4.0.dylib.p/orcprogram-x86.c.o -MF orc/liborc-0.4.0.dylib.p/orcprogram-x86.c.o.d -o orc/liborc-0.4.0.dylib.p/orcprogram-x86.c.o -c ../orc-0.4.39/orc/orcprogram-x86.c
In file included from ../orc-0.4.39/orc/orcprogram-x86.c:10:
../orc-0.4.39/orc/orcx86-private.h:5: error: redefinition of typedef ‘OrcX86Target’
../orc-0.4.39/orc/orcx86.h:49: error: previous declaration of ‘OrcX86Target’ was here
../orc-0.4.39/orc/orcx86-private.h:6: error: redefinition of typedef ‘OrcTarget’
../orc-0.4.39/orc/orcutils.h:40: error: previous declaration of ‘OrcTarget’ was here

Change History (6)

comment:2 Changed 3 months ago by barracuda156

Possibly breakage was introduced by https://gitlab.freedesktop.org/gstreamer/orc/-/commit/6ea0618328b53be327d5fd432d5c6060357d32b4 Need to try reverting that.

comment:3 Changed 3 months ago by thetrial (alabay)

Mine says: warning: redefinition of typedef 'OrcX86Target' is a C11 feature [-Wtypedef-redefinition]

But: ld: symbol(s) not found for architecture x86_64. I’m not sure if this is related or another bug?

comment:4 Changed 3 months ago by barracuda156

If they switched to C11, this is easily fixed on our end, but then the code must enforce the standard and fail if C11 support not detected.

comment:5 Changed 3 months ago by Sergey Fedorov <barracuda@…>

Owner: set to Sergey Fedorov <barracuda@…>
Resolution: fixed
Status: newclosed

In 31d40050e65e4efb69e9b991ef0e78867a0d7d2f/macports-ports (master):

orc: use C11 to fix build on older OS

Closes: #70658

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

It's likely they didn't deliberately switch to requiring C11, but just made a mistake with the double typedef that wasn't caught due to not testing with a C99 compiler. Also, this didn't fix the failures on 10.8 through 10.14.

Note: See TracTickets for help on using tickets.