[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libs-base fails to compile on OpenBSD
From: |
Wolfgang Lux |
Subject: |
Re: libs-base fails to compile on OpenBSD |
Date: |
Sat, 16 Feb 2019 16:15:05 +0100 |
Hi Riccardo,
> The base configure script reports:
>
> checking the Objective-C runtime... GNU
> checking for custom shared objc library... NONE
> checking objc/runtime.h usability... yes
> checking objc/runtime.h presence... yes
> checking for objc/runtime.h... yes
> checking objc/objc.h usability... yes
> checking objc/objc.h presence... yes
> checking for objc/objc.h... yes
>
>
> checking whether objc really works... yes
> checking if the compiler supports -fconstant-string-class... yes
> checking if +load method is executed before main... yes
> checking for objc_sync_enter... no
> checking for objc_setProperty... no
> checking for _Block_copy... no
> checking for objc_setUncaughtExceptionHandler() in runtime... no
> checking for objc_set_unexpected() in runtime... no
> checking for _objc_unexpected_exception in runtime... no
> configure: Disabling native Objective-C exceptions because the ObjC runtime
> configure: has no way to set an uncaught exception handler. Please install
> configure: a recent Objective-C runtime if you want to use them.
> checking whether to enable native Objective-C exceptions... no
> checking for objc_sync_enter... (cached) no
>
>
> this looks all correct? However, afterwards it fails as we had past month:
>
> Compiling file runtime.c ...
> runtime.c:35:27: fatal error: objc/objc-api.h: No such file or directory
> #include <objc/objc-api.h>
> ^
> compilation terminated.
>
>
> You suggested this all should not be built at all, but which test is getting
> confused?
Looking at Source/GNUmakefile in base (at the very end) the ObjectiveC2
subproject, which is where runtime.c lives, is built only when the OBJC2RUNTIME
makefile variable is set to 0 (meaning that you only have an old Objective-C
runtime system, or rather the configure script was not able to identify your
runtime system as being compatible with the newer runtime system):
ifeq ($(OBJC2RUNTIME),0)
SUBPROJECTS = ObjectiveC2
endif
Going back to configure.ac then, OBJC2RUNTIME is set according to the presence
of objc_setProperty. So the problem is this test:
checking for objc_setProperty... no
Wolfgang