From: Stuart Henderson Subject: Re: MAINTAINER UPDATE: x11/gnustep/libobjc2 to 2.3 and enable libdispatch To: Sebastian Reitenbach , ports@openbsd.org Date: Mon, 2 Feb 2026 14:29:13 +0000 seems this causes a problem building openvpn-auth-ldap (at least on i386). here's the relevant chunk of config.log. (also needed bumps in ports where the gnustep.port.mk change added to WANTLIB; I've just done those for x11/gnustep/*). configure:5629: checking objc/objc.h usability configure:5629: cc -c -g -O2 -I/usr/local/include -I/usr/local/include/gnustep conftest.m >&5 configure:5629: $? = 0 configure:5629: result: yes configure:5629: checking objc/objc.h presence configure:5629: cc -E -I/usr/local/include -I/usr/local/include/gnustep conftest.m configure:5629: $? = 0 configure:5629: result: yes configure:5629: checking for objc/objc.h configure:5629: result: yes configure:5656: checking if linking libobjc requires pthreads configure:5685: cc -o conftest -g -O2 -fobjc-exceptions -I/usr/local/include -I/usr/local/include/gnustep -Wl,-export-dynamic -L/usr/local/lib -lc++abi -lpthread conftest.m -lobjc2 -fobjc-exceptions >&5 conftest.m:33:29: warning: class method '+alloc' not found (return type defaults to 'id') [-Wobjc-method-access] 33 | Object *obj = [Object alloc]; | ^~~~~ conftest.m:34:7: warning: call to undeclared function 'puts'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 34 | puts([obj name]); | ^ conftest.m:34:17: warning: instance method '-name' not found (return type defaults to 'id') [-Wobjc-method-access] 34 | puts([obj name]); | ^~~~ /usr/local/include/gnustep/objc/Object.h:7:12: note: receiver is instance of class declared here 7 | @interface Object | ^ 3 warnings generated. ld.lld: error: undefined symbol: __objc_exec_class >>> referenced by conftest.m >>> /tmp/conftest-b73399.o:(.objc_load_function) ld.lld: error: undefined symbol: __objc_class_name_Object >>> referenced by conftest.m >>> /tmp/conftest-b73399.o:(__objc_class_ref_Object) cc: error: linker command failed with exit code 1 (use -v to see invocation) configure:5685: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "auth-ldap" | #define PACKAGE_TARNAME "auth-ldap" | #define PACKAGE_VERSION "2.0" | #define PACKAGE_STRING "auth-ldap 2.0" | #define PACKAGE_BUGREPORT "landonf@opendarwin.org" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_PF 1 | #define PF_DEV_PATH "/dev/pf" | #define _GNU_SOURCE 1 | #define HAVE_STRLCPY 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_OBJC_OBJC_H 1 | /* end confdefs.h. */ | | | #include | #include | | int | main () | { | | Object *obj = [Object alloc]; | puts([obj name]); | | ; | return 0; | } | configure:5723: cc -o conftest -g -O2 -fobjc-exceptions -I/usr/local/include -I/usr/local/include/gnustep -Wl,-export-dynamic -L/usr/local/lib -lc++abi -lpthread conftest.m -lobjc2 -fobjc-exceptions >&5 conftest.m:33:30: warning: class method '+alloc' not found (return type defaults to 'id') [-Wobjc-method-access] 33 | Object *obj = [Object alloc]; | ^~~~~ conftest.m:34:8: warning: call to undeclared function 'puts'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 34 | puts([obj name]); | ^ conftest.m:34:18: warning: instance method '-name' not found (return type defaults to 'id') [-Wobjc-method-access] 34 | puts([obj name]); | ^~~~ /usr/local/include/gnustep/objc/Object.h:7:12: note: receiver is instance of class declared here 7 | @interface Object | ^ 3 warnings generated. ld.lld: error: undefined symbol: __objc_exec_class >>> referenced by conftest.m >>> /tmp/conftest-8f5255.o:(.objc_load_function) ld.lld: error: undefined symbol: __objc_class_name_Object >>> referenced by conftest.m >>> /tmp/conftest-8f5255.o:(__objc_class_ref_Object) cc: error: linker command failed with exit code 1 (use -v to see invocation) configure:5723: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "auth-ldap" | #define PACKAGE_TARNAME "auth-ldap" | #define PACKAGE_VERSION "2.0" | #define PACKAGE_STRING "auth-ldap 2.0" | #define PACKAGE_BUGREPORT "landonf@opendarwin.org" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_PF 1 | #define PF_DEV_PATH "/dev/pf" | #define _GNU_SOURCE 1 | #define HAVE_STRLCPY 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_OBJC_OBJC_H 1 | /* end confdefs.h. */ | | | #include | #include | | int | main () | { | | Object *obj = [Object alloc]; | puts([obj name]); | | ; | return 0; | } | configure:5743: result: no configure:5756: checking for Apple Objective-C runtime configure:5785: cc -o conftest -g -O2 -fobjc-exceptions -I/usr/local/include -I/usr/local/include/gnustep -Wl,-export-dynamic -L/usr/local/lib -lc++abi -lpthread conftest.m -lobjc2 -fobjc-exceptions >&5 conftest.m:34:24: warning: instance method '-alloc' not found (return type defaults to 'id') [-Wobjc-method-access] 34 | id obj = [class alloc]; | ^~~~~ conftest.m:35:8: warning: call to undeclared function 'puts'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 35 | puts([obj name]); | ^ conftest.m:35:18: warning: instance method '-name' not found (return type defaults to 'id') [-Wobjc-method-access] 35 | puts([obj name]); | ^~~~ 3 warnings generated. ld.lld: error: undefined symbol: __objc_exec_class >>> referenced by conftest.m >>> /tmp/conftest-a4c230.o:(.objc_load_function) cc: error: linker command failed with exit code 1 (use -v to see invocation) configure:5785: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "auth-ldap" | #define PACKAGE_TARNAME "auth-ldap" | #define PACKAGE_VERSION "2.0" | #define PACKAGE_STRING "auth-ldap 2.0" | #define PACKAGE_BUGREPORT "landonf@opendarwin.org" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_PF 1 | #define PF_DEV_PATH "/dev/pf" | #define _GNU_SOURCE 1 | #define HAVE_STRLCPY 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_OBJC_OBJC_H 1 | /* end confdefs.h. */ | | | #include | #include | | int | main () | { | | id class = objc_lookUpClass("Object"); | id obj = [class alloc]; | puts([obj name]); | | ; | return 0; | } | configure:5800: result: no configure:5807: checking for GNU Objective C runtime configure:5845: cc -o conftest -g -O2 -fobjc-exceptions -I/usr/local/include -I/usr/local/include/gnustep -Wl,-export-dynamic -L/usr/local/lib -lc++abi -lpthread conftest.m -lobjc2 -fobjc-exceptions >&5 conftest.m:41:19: warning: 'objc_lookup_class' is deprecated [-Wdeprecated-declarations] 41 | id class = objc_lookup_class("Object"); | ^ /usr/local/include/gnustep/objc/runtime-deprecated.h:44:16: note: 'objc_lookup_class' has been explicitly marked deprecated here 44 | __attribute__((deprecated)) | ^ conftest.m:42:24: warning: instance method '-alloc' not found (return type defaults to 'id') [-Wobjc-method-access] 42 | id obj = [class alloc]; | ^~~~~ conftest.m:43:8: warning: call to undeclared function 'puts'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 43 | puts([obj name]); | ^ conftest.m:43:18: warning: instance method '-name' not found (return type defaults to 'id') [-Wobjc-method-access] 43 | puts([obj name]); | ^~~~ 4 warnings generated. ld.lld: error: undefined symbol: __objc_exec_class >>> referenced by conftest.m >>> /tmp/conftest-af27e5.o:(.objc_load_function) cc: error: linker command failed with exit code 1 (use -v to see invocation) configure:5845: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "auth-ldap" | #define PACKAGE_TARNAME "auth-ldap" | #define PACKAGE_VERSION "2.0" | #define PACKAGE_STRING "auth-ldap 2.0" | #define PACKAGE_BUGREPORT "landonf@opendarwin.org" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_PF 1 | #define PF_DEV_PATH "/dev/pf" | #define _GNU_SOURCE 1 | #define HAVE_STRLCPY 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_OBJC_OBJC_H 1 | /* end confdefs.h. */ | | | #include | #ifdef __GNU_LIBOBJC__ | #include | #else | #include | #endif | | int | main () | { | | #ifdef __GNU_LIBOBJC_ | Class class = objc_lookUpClass("Object"); | puts(class_getName(class));_ | #else | id class = objc_lookup_class("Object"); | id obj = [class alloc]; | puts([obj name]); | #endif | | ; | return 0; | } | configure:5860: result: no configure:5867: checking for Modern Objective C runtime configure:5896: cc -o conftest -g -O2 -fobjc-exceptions -I/usr/local/include -I/usr/local/include/gnustep -Wl,-export-dynamic -L/usr/local/lib -lc++abi -lpthread conftest.m -lobjc2 -fobjc-exceptions >&5 conftest.m:34:24: warning: instance method '-alloc' not found (return type defaults to 'id') [-Wobjc-method-access] 34 | id obj = [class alloc]; | ^~~~~ conftest.m:35:8: warning: call to undeclared function 'puts'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 35 | puts([obj name]); | ^ conftest.m:35:18: warning: instance method '-name' not found (return type defaults to 'id') [-Wobjc-method-access] 35 | puts([obj name]); | ^~~~ 3 warnings generated. ld.lld: error: undefined symbol: __objc_exec_class >>> referenced by conftest.m >>> /tmp/conftest-395f29.o:(.objc_load_function) cc: error: linker command failed with exit code 1 (use -v to see invocation) configure:5896: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "auth-ldap" | #define PACKAGE_TARNAME "auth-ldap" | #define PACKAGE_VERSION "2.0" | #define PACKAGE_STRING "auth-ldap 2.0" | #define PACKAGE_BUGREPORT "landonf@opendarwin.org" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_PF 1 | #define PF_DEV_PATH "/dev/pf" | #define _GNU_SOURCE 1 | #define HAVE_STRLCPY 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_OBJC_OBJC_H 1 | /* end confdefs.h. */ | | | #include | #include | | int | main () | { | | id class = objc_lookUpClass("NSObject"); | id obj = [class alloc]; | puts([obj name]); | | ; | return 0; | } | configure:5911: result: no configure:5974: error: in `/pobj/openvpn-auth-ldap-2.0.4/build-i386': configure:5976: error: Could not locate a working Objective-C runtime. See `config.log' for more details