Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#60721 closed defect (fixed)

gstreamer1 @1.16.2 controller-enumtypes.c:6:1: error: stray \ in program (due to make >= 4.3)

Reported by: kencu (Ken) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gstreamer1 gstreamer1-gst-plugins-base

Description

I ran into errors building gstreamer and friends on Tiger with the error above. It looks like this in the log:

:info:build controller-enumtypes.c:10: error: stray '\' in program
:info:build controller-enumtypes.c:10: error: stray '#' in program
:info:build controller-enumtypes.c:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before string constant
:info:build controller-enumtypes.c:11: error: stray '\' in program
:info:build controller-enumtypes.c:11: error: stray '#' in program

apparently this construct

:info:build /opt/local/bin/glib-mkenums \
:info:build --fhead "#ifdef HAVE_CONFIG_H\n#include \"config.h\"\n#endif\n\n#include \"controller-enumtypes.h\"\n\n\#include \"gstinterpolationcontrolsource.h\" \n\#include \"gstlfocontrolsource.h\"" \
:info:build --fprod "\n/* enumerations from \"@filename@\" */" \
:info:build --vhead "GType\n@enum_name@_get_type (void)\n{\n  static volatile gsize g_define_type_id__volatile = 0;\n  if (g_once_init_enter (&g_define_type_id__volatile)) {\n    static const G@Type@Value values[] = {"     \
:info:build --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
:info:build --vtail "      { 0, NULL, NULL }\n    };\n    GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n  }\n  return g_define_type_id__volatile;\n}\n" \
:info:build gstinterpolationcontrolsource.h gstlfocontrolsource.h > controller-enumtypes.c

doesn't work with make versions >= 4.3 <https://bugs.gentoo.org/705974>.

There are patches in that gentoo ticket for the gstreamer* series.

Attachments (1)

gstreamer1-fail-gcc42-ppc.log (311.7 KB) - added by kencu (Ken) 4 years ago.

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by kencu (Ken)

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

https://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=108&set=custom

  • WARNING: Backward-incompatibility! Number signs (#) appearing inside a macro reference or function invocation no longer introduce comments and should not be escaped with backslashes: thus a call such as:
        foo := $(shell echo '#')
    
    is legal. Previously the number sign needed to be escaped, for example:
        foo := $(shell echo '\#')
    
    Now this latter will resolve to "\#". If you want to write makefiles portable to both versions, assign the number sign to a variable:
        H := \#
        foo := $(shell echo '$H')
    
    This was claimed to be fixed in 3.81, but wasn't, for some reason. To detect this change search for 'nocomment' in the .FEATURES variable.

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

Resolution: fixed
Status: assignedclosed

In b508057e60a6113d0ff4ad7fe2cf44422735c606/macports-ports (master):

gstreamer1: fix build with gmake >= 4.3

NB: this patch is currently only being applied for Tiger as currently
only Tiger is using gmake >= 4.3

closes: #60721

the other gstreamer* ports will need similar fixes, coming soon

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

In b99a30d14eb83990e8366139535a353ba3585bf8/macports-ports (master):

gstreamer1-gst-plugins-base: fix build with gmake >= 4.3

NB: this patch is currently only being applied for Tiger as
currently only Tiger is using gmake >= 4.3

see: #60721

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

In b4010763be3797b08a271266d339bf100cd03ca1/macports-ports (master):

gstreamer1-gst-plugins-bad: fix build with gmake >= 4.3

NB: this patch is currently only being applied for Tiger as
currently only Tiger is using gmake >= 4.3

see: #60721

Note: See TracTickets for help on using tickets.