pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/58527: audio/openal-soft build fails with old glibc



>Number:         58527
>Category:       pkg
>Synopsis:       audio/openal-soft build fails with old glibc
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 30 19:10:00 +0000 2024
>Originator:     Phil Krylov
>Release:        pkgsrc-current
>Organization:
krylov.eu
>Environment:
Linux localhost.localdomain 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
>Description:
On glibc 2.17, <unistd.h> includes <getopt.h>, and it happens to be a (conflicting) local copy.

NB: getopt usage is already removed in openal-soft HEAD sources, so the proposed workaround is not for long.
>How-To-Repeat:
bmake -C audio/openal-soft bin-install
>Fix:
diff -p -u -r1.39 Makefile
--- audio/openal-soft/Makefile	30 Jan 2024 14:21:33 -0000	1.39
+++ audio/openal-soft/Makefile	30 Jul 2024 18:56:34 -0000
@@ -54,6 +54,14 @@ SUBST_SED.oss=		-e 's,/dev/dsp,${DEVOSSA
 
 .include "options.mk"
 
+# On glibc 2.17, <unistd.h> includes <getopt.h>, and it happens to be
+# a (conflicting) local copy if we keep it
+# NB: getopt usage is already removed in openal-soft HEAD sources.
+pre-build:
+	if grep -q '^#define HAVE_GETOPT$$' ${WRKSRC}/${CMAKE_BUILD_DIR}/config.h; then \
+		${RM} -f ${WRKSRC}/utils/getopt.[ch]; \
+	fi
+
 post-install:
 	${RM} ${DESTDIR}${PREFIX}/include/AL/al.h.orig
 



Home | Main Index | Thread Index | Old Index