bug-automake
[Top][All Lists]
Advanced

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

bug#68179: Re: automake-1.16j on OpenBSD


From: Bogdan
Subject: bug#68179: Re: automake-1.16j on OpenBSD
Date: Thu, 22 Feb 2024 22:08:35 +0100
User-agent: Mozilla Thunderbird

Bruno Haible <bruno@clisp.org>, 2024-02-20 12:44:
Bogdan wrote:
   Right. And, as I suspected, nothing in any LIBS, LD*, no libobjc found.
   Does it work if you put

AC_LANG([Objective C])

   somewhere between the lines

        cat >> configure.ac << 'END'

and the first

        END

following it (i.e., in the 'configure.ac' file) in the test?

No: With this added configure.ac line (before AC_OUTPUT), the
two tests t/objcxx-minidemo.sh and t/objcxx-deps.sh still fail.

   If not, do you know any function name that we could use in
AC_CHECK_LIB to check for libobjc?


[...]


======================================================================
produces link errors w.r.t. the symbols
   objc_autoreleasePoolPush
   objc_autoreleasePoolPop
   __objc_exec_class
Is one of them suitable for testing? It depends on the ABI. Looking at
https://opensource.apple.com/source/objc4/objc4-706/runtime/objc-abi.h.auto.html
it seems better to choose one of the symbols
   _objcInit
   objc_getProperty
   objc_setProperty
   objc_setProperty_atomic
   objc_setProperty_nonatomic
   ...
   objc_copyStruct
   objc_copyCppObjectAtomic
   _objc_empty_cache
   ...

But wait! The name of the library 'libobjc' is not standardized either.

I would try to just compile a simple Objective-C++ program and see whether that
works or not. Such as:


That's what I would expect from Autoconf...
[...]


=======================================================================
Missing symbols with clang on OpenBSD:
   objc_msg_lookup_sender
   __objc_exec_class
Missing symbols with clang on Ubuntu:
   objc_msg_lookup
   __objc_exec_class


[...]

 Assuming that the library is named "libobjc", I'm attaching a patch
that searches for the above symbols in the library. The tests worked
for me without this, and work after. Feel free to add more rows if the
library name is different.

Gathering the other thread:

> So, in summary, I suggest to use the option '-x' instead of
'--verbose'.
> It makes the t/strip2.sh test succeed on OpenBSD. Then you can
remove the comment "This test needs GNU binutils strip.".


Patch attached.

--
Regards - Bogdan ('bogdro') D.                 (GNU/Linux & FreeDOS)
X86 assembly (DOS, GNU/Linux):    http://bogdro.evai.pl/index-en.php
Soft(EN): http://bogdro.evai.pl/soft  http://bogdro.evai.pl/soft4asm
www.Xiph.org  www.TorProject.org  www.LibreOffice.org  www.GnuPG.org

Attachment: automake-openbsd-objc-mail.diff
Description: Text Data

Attachment: automake-strip-openbsd-mail.diff
Description: Text Data


reply via email to

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