EXTRA_RUNPATH_DIRS, LD_OPTIONS an B direct

Dagobert Michelsen dam at opencsw.org
Mon Dec 29 13:17:51 CET 2014


Hi Riccardo,

> Am 24.12.2014 um 16:41 schrieb Riccardo Mottola <rmottola at opencsw.org>:
> 
> Hi,
> 
> during the building of GNUstep base package, the only mass of warnings I have is about two quite similar problems, but proably still different.
> 
> CHECKPKG_OVERRIDES_CSWgnustep-base += no-direct-binding|/opt/csw/GNUstep/System/Library/Libraries/libgnustep-base.so.1.24.7|is|not|directly|bound|to|soname|libffi.so.5
> 
> This is the library I am building against an existing library.
> 
> Now, Dagobert explains to me that the problem is related to LD_OPTIONS and the -B direct flag.
> My problem is understanding better LD_OPTIONS and their interaction with configure.
> 
> GNUstep's configure is "LDFLAGs" aware and will push them down to the make. LD_OPTIONS is instead just ignored and not messed with (I asked some of the GNUstep guys).
> 
> I understand that gar tries already to set the correct LD_OPTIONS, but they do not get used.
> 
> First, what are LD_OPTIONS? They seem to be something quite specific to Soalris, similar to LDFLAGS but not equivalent.
> 
> How do you handle this with other packages using configure? Is it only me running into this problem?

Please see ld(1):

     LD_OPTIONS

         A default set of options to  ld.  LD_OPTIONS  is  inter-
         preted by ld just as though its value had been placed on
         the command line, immediately following the name used to
         invoke ld, as in:

           ld $LD_OPTIONS ... other-arguments …

That means if the environment variable is set it is used directly without knowledge
to the build system. Unless the environment is cleared this is always honoured first.
LDFLAGS is not used at all by the linker, it is interpreted by the build system and
then substituted to the option list of the commandline when the linker is called.


> as well as
> 
> CHECKPKG_OVERRIDES_CSWgnustep-base += soname-not-found|libgnustep-base.so.1.24|is|needed|by|opt/csw/GNUstep/System/Tools/gdnc
> 
> which is different since it is some of the tools against the library itself being built.
> Here Dago suggests setting EXTRA_RUNPATH_DIRS.
> 
> I added in my Makefile
> EXTRA_RUNPATH_DIRS = /opt/csw/GNUstep/System/Library/Libraries
> 
> but I still get the warning!

Try ldd -r on libgnustep-base.so.1.24 and see if all libraries are found. If not inspect
with dump -Lv to see the RPATH and make sure all directories with linked libs are in the
RPATH. This is also explained at
  http://wiki.opencsw.org/checkpkg-error-tags#toc54


Best regards

  — Dago

-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2418 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20141229/aca9cd3b/attachment.p7s>


More information about the maintainers mailing list