[Top][All Lists]

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

Re: libs-base fails to compile on OpenBSD

From: Riccardo Mottola
Subject: Re: libs-base fails to compile on OpenBSD
Date: Thu, 14 Feb 2019 14:36:16 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4

Hi Wolfgang,

Wolfgang Lux wrote:

Am 18.12.2018 um 22:01 schrieb Riccardo Mottola <address@hidden>:

Making all for subproject ObjectiveC2...
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.

which is expected, the gcc 4.9 runtime does not have that file... nor does it 
have gcc 6.5 or 8.2
Right. The ObjectiveC2 library is supposed to provide a compatibility interface 
layer around the historic GNU runtime API, providing API calls compatible with 
Apple's new ObjectiveC-2 runtime API. This Objective-C runtime bundles with gcc 
has been updated in gcc 4.6 IIRC, so the ObjectiveC2 directory shouldn't be 
compiled in the first place when you are using anything newer than gcc 4.6. 
Perhaps there's an issue with the configure script so that the ObjectiveC2 
library incorrectly gets compiled on your system?

Let me resurrect this thread - I was busy and did not use OpenBSD for a while, now I wanted to and hit this issue again, I am on a different laptop (x64 vs x86) but that doesn't matter I suppose.

renamed /usr/include/objc so that it is not found, I don't care about using the system compiler, I only want to use gcc from pkg (why it is 4.9, I don't know... OpenBSD decisions).

For the record, the "make" configure line is:

 $ ./configure --prefix=/ --with-layout=gnustep CC=egcc CXX=eg++ LDFLAGS=-Wl,-R/usr/local/lib

egcc being the name for the newer gcc installed. (4.9 that is). The objc is in:


which is, AFAIK, correct.

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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]