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
