pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/60023: editors/emacs30: Fix broken Darwin build
>Number: 60023
>Category: pkg
>Synopsis: editors/emacs30: Fix broken Darwin build
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Feb 21 01:30:00 +0000 2026
>Originator: Brian Callahan
>Release: HEAD
>Organization:
>Environment:
Darwin Brians-MBP-2 22.6.0 Darwin Kernel Version 22.6.0: Tue Jul 15 08:22:28 PDT 2025; root:xnu-8796.141.3.713.2~2/RELEASE_X86_64 x86_64
>Description:
When building emacs-30.2 on macOS with devel/libgetopt buildlink enabled in Makefile.common, the build fails. You get these errors:
--
getopt1.c:28:50: error: expected ')'
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
^
getopt1.c:28:13: note: to match this '('
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
^
getopt1.c:28:1: error: conflicting types for 'getopt_long'
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
^
/Users/briancallahan/pkgsrc/editors/emacs30/work/.buildlink/include/getopt.h:62:5: note: previous declaration is here
int getopt_long(int, char * const *, const char *,
^
getopt1.c:31:44: error: use of undeclared identifier 'argv'
return _getopt_internal (argc, (char **) argv, options, long_options,
^
getopt1.c:31:50: error: use of undeclared identifier 'options'; did you mean 'optind'?
return _getopt_internal (argc, (char **) argv, options, long_options,
^~~~~~~
optind
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:512:12: note: 'optind' declared here
extern int optind, opterr, optopt;
^
getopt1.c:31:59: error: use of undeclared identifier 'long_options'
return _getopt_internal (argc, (char **) argv, options, long_options,
^
getopt1.c:32:7: error: use of undeclared identifier 'opt_index'; did you mean 'optind'?
opt_index, 0, 0);
^~~~~~~~~
optind
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:512:12: note: 'optind' declared here
extern int optind, opterr, optopt;
^
getopt1.c:50:55: error: expected ')'
getopt_long_only (int argc, char *__getopt_argv_const *argv,
^
getopt1.c:50:18: note: to match this '('
getopt_long_only (int argc, char *__getopt_argv_const *argv,
^
getopt1.c:54:44: error: use of undeclared identifier 'argv'
return _getopt_internal (argc, (char **) argv, options, long_options,
^
getopt1.c:54:50: error: use of undeclared identifier 'options'; did you mean 'optind'?
return _getopt_internal (argc, (char **) argv, options, long_options,
^~~~~~~
optind
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:512:12: note: 'optind' declared here
extern int optind, opterr, optopt;
^
getopt1.c:54:59: error: use of undeclared identifier 'long_options'
return _getopt_internal (argc, (char **) argv, options, long_options,
^
getopt1.c:55:7: error: use of undeclared identifier 'opt_index'; did you mean 'optind'?
opt_index, 1, 0);
^~~~~~~~~
optind
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:512:12: note: 'optind' declared here
extern int optind, opterr, optopt;
^
11 errors generated.
gmake[2]: *** [Makefile:103: getopt1.o] Error 1
--
Removing the buildlink hookup allows emacs-30.2 to build and run correctly on macOS.
>How-To-Repeat:
Try to build emacs-30.2 on macOS.
>Fix:
diff --git a/editors/emacs30/Makefile.common b/editors/emacs30/Makefile.common
index 7ab3c3c12b19..31c707fed449 100644
--- a/editors/emacs30/Makefile.common
+++ b/editors/emacs30/Makefile.common
@@ -86,4 +86,6 @@ post-install:
cd ${DESTDIR}${PREFIX}/libexec/emacs/${PKGVERSION_NOREV}/${MACHINE_GNU_PLATFORM} && \
mv emacs-*.pdmp emacs.pdmp
+.if ${OPSYS} != "Darwin"
.include "../../devel/libgetopt/buildlink3.mk"
+.endif
Home |
Main Index |
Thread Index |
Old Index