Quentin Mathé wrote:
>> Making all in EtoileFoundation...
>> ../../etoile.make:275: *** Recursive variable `LD_LIBRARY_PATH'
>> references itself (eventually).
>>
>> Do you have a way to get around this, Quentin?
>
> The error line mentions '(eventually)' so 'make' is surely just
> preventing it by safety.
>
> Each time LD_LIBRARY_PATH is read, 'make' is going to reevaluate it
> because the variable was assigned with '=' operator. Using ':='
> instead of '=' should solve the issue, by triggering the immediate
> evaluation of the variable rather than deferring the substitution to
> the time the variable gets accessed.
>
> export LD_LIBRARY_PATH := $(BUILD_DIR):$(LD_LIBRARY_PATH)

Aha, I had no idea about ':=' in makefiles.

This way, all the frameworks build fine on a clean system. Meaning
that both -lEtoileFoundation and -lpoppler work at the same time :D

If somebody could test that this actually makes ld prefer BUILD_DIR
over the installed libraries, I think it would be safe to say that
this is more solid than -rpath-link. To test that, I guess one would
need to make a change which would give linker errors if the installed
version of an indirectly linked library was used.

Truls
_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à