[issue36081] Cannot set LDFLAGS containing $

2019-03-02 Thread Rolf Eike Beer


Rolf Eike Beer  added the comment:

No, it's not. $ORIGIN is a special value that must be literally in the RPATH 
(i.e. in the ELF), so that the binary is relocatable and will looks for the 
libraries relative to it's location.

I wonder if I could do "export ORIGIN='$ORIGIN'" instead, so the expansions 
will bring back the original value again. This is only a solution for this 
usecase.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36081] Cannot set LDFLAGS containing $

2019-03-02 Thread Christian Heimes


Christian Heimes  added the comment:

There is a simpler solution. How about you use double quotes instead of single 
quotes and let the shell expand the variable before you pass it down into the 
process? 

$ export ORIGIN=/origin
$ echo LDFLAGS=-Wl,-rpath,'$ORIGIN/../lib'
LDFLAGS=-Wl,-rpath,$ORIGIN/../lib
$ echo LDFLAGS=-Wl,-rpath,"$ORIGIN/../lib"
LDFLAGS=-Wl,-rpath,/origin/../lib

--
nosy: +christian.heimes

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36081] Cannot set LDFLAGS containing $

2019-02-22 Thread Rolf Eike Beer


New submission from Rolf Eike Beer :

My use case is: LDFLAGS=-Wl,-rpath,'$ORIGIN/../lib'

This works fine for everything build directly by the Makefile, but for 
everything that is build through the python distutils this breaks. This is not 
an issue of the python side, it happens because the Makefile passes the 
information to python using LDSHARED='$(BLDSHARED)'. At this point the variable 
is expanded and the $ORIGIN is expanded by the shell (or so) before passing it 
to python, so python actually received "-Wl,-rpath,/../lib" from the 
environment variable.

I have worked around locally by doing something like $(subst 
$$,~dollar~,$(BLDSHARED)) and replacing that inside python with \\$ or so. 
Really hacky, but works for my current setup.

--
components: Build
messages: 336326
nosy: Dakon
priority: normal
severity: normal
status: open
title: Cannot set LDFLAGS containing $
type: compile error
versions: Python 2.7, Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com