bug-bison
[Top][All Lists]
Advanced

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

Re: ORIGIN-based runpaths in Bison


From: Akim Demaille
Subject: Re: ORIGIN-based runpaths in Bison
Date: Thu, 14 Jan 2021 06:10:45 +0100

Hi Jeffrey,

> Le 13 janv. 2021 à 21:43, Jeffrey Walton <noloader@gmail.com> a écrit :
> 
> Hi Everyone/Akim,
> 
> I noticed Bison does not handle ORIGIN-based rpaths and runpaths properly.

That would really be a problem with Autoconf and/or Automake.  I believe
this is out of the scope of Bison.  I'm surprised though that it did not
work, I believe that back in the days I was on GNU/Linux, I had this
work.

That being said, I believe using $ORIGIN here is a red herring.  Bison
needs to find plenty of files, and libraries are just one kind of file.
That will not help finding where m4 is, or where the skeletons are.
The goal of $ORIGIN is relocatability, which Bison supports via the
--enable-relocatable option to configure.  Please try it, and tell us
if it matches your expectations.


> Here's a test case you can use:
> 
>    CFLAGS="-I/usr/local/include"
>    LDFLAGS="-L/usr/local/lib -Wl,-R,'$ORIGIN/../lib'
> -Wl,--enable-new-dtags -Wl,-z,origin"
>    export CFLAGS LDFLAGS
>    ./configure ...

Well, this is wrong.  Your $ORIGIN is in double quotes, so the shell
will ruin it right there.

$ echo LDFLAGS="-L/opt/local/lib -Wl,-R,'$ORIGIN/../lib'"
LDFLAGS=-L/opt/local/lib -Wl,-R,'/../lib'

So in you case (insufficient escapes), you should try `\$\$`.
And remove the incorrect single quotes.

Besides, you should avoid passing these guys in the env, and rather
give them to configure:

./configure CFLAGS="-I/usr/local/include" ...

Cheers!


reply via email to

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