discuss-gnustep
[Top][All Lists]
Advanced

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

Re: FreeBSD / libobj2 issue after update - all apps crash


From: Riccardo Mottola
Subject: Re: FreeBSD / libobj2 issue after update - all apps crash
Date: Tue, 4 Jun 2019 18:46:51 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4

Hi David,

David Chisnall wrote:
Thanks for the report.  Please can you file an issue on GitHub?  This is a quite surprising error - it implies that either clang has a bug or that something is trying to manually create or modify protocols without calling through the runtime.  This might happen if you have a version of GNUstep compiled against the gcc runtime and using ObjectiveC2.framework instead of the runtime's public APIs, but that shouldn't be the case with the packaged versions.

clang and libobjc2 are packaged, however gnustep installation is compiled by my by current sources. I did not do anything special, I configured make with:

$ ./configure --prefix=/ --with-layout=gnustep CFLAGS=-I/usr/local/include

and clang was automatically detected,

base tests report:

6987 Passed tests
  33 Dashed hopes
   9 Failed files
   8 Skipped sets
   7 Failed tests
   1 Failed build

so it is not totally broken, but not perfect either

Skipped set:       general.m 128 ... No Blocks support in the compiler.
Skipped set:       basic.m 41 ... No dictionary subscripting support in the compiler.
Skipped set:       blocks.m 49 ... No Blocks support in the compiler.

according to configure log, this is the compiler detected:

configure:4393: checking for C compiler version
configure:4402: cc --version >&5
FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0)
Target: x86_64-unknown-freebsd11.2
Thread model: posix


I have seen something odd with the FreeBSD package builder machines though.  When I tried installing gnustep from them, I saw -gui compiled with the 1.8 ABI, but everything else compiled with the 2.0 ABI, which caused everything other than plmerge to fail to start with a linker error.  I couldn't reproduce it building locally though.

How do you know with which version each library has? Maybe there is indeed some mismatch happening. It was working about a month ago, what changed is that I upgraded packages and then rebuilt gnustep (starting from make, clean)

/System/Library/Libraries/libgnustep-base.so:
        libobjc.so.4.6 => /usr/local/lib/libobjc.so.4.6 (0x801b1d000)

/System/Library/Libraries/libgnustep-gui.so:
        libicui18n.so.64 => /usr/local/lib/libicui18n.so.64 (0x802000000)
        libicuuc.so.64 => /usr/local/lib/libicuuc.so.64 (0x802526000)
        libicudata.so.64 => /usr/local/lib/libicudata.so.64 (0x802911000)
        libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x802b12000)
        libgnustep-base.so.1.26 => /System/Library/Libraries/libgnustep-base.so.1.26 (0x802e00000)
        libgif.so.7 => /usr/local/lib/libgif.so.7 (0x80391d000)
        libtiff.so.5 => /usr/local/lib/libtiff.so.5 (0x803b26000)
        libz.so.6 => /lib/libz.so.6 (0x803da0000)
        libjpeg.so.8 => /usr/local/lib/libjpeg.so.8 (0x803fb8000)
        libm.so.5 => /lib/libm.so.5 (0x80424b000)
        libobjc.so.4.6 => /usr/local/lib/libobjc.so.4.6 (0x804478000)


at least they are linked to the same libobjc version.

Riccardo





reply via email to

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