From: Jonathan W. <jw...@ju...> - 2017-04-26 00:08:24
|
Hi Vladimir On Sat, Apr 22, 2017 at 04:45:08PM +0300, Vladimir Sadovnikov wrote: > I wanted to provide some early diasnostics but met some troubles. > > Currently I'm having problem building FFADO under my PC. Because I'm using > cross-gcc I need to pass additional LDFLAGS=-Wl,-rpath,/usr/lib64:/lib64 to > the linker. Ah. I'm not sure anyone's ever tried to compile FFADO in this way before. Having said that, I know that some distributors need to do things in interesting ways though, as does gentoo, so you might not be completely alone on this. OOI, why do you need to use cross-gcc? > Otherwise it emits such errors: > >g++ -o src/test-cyclecalc -Wl,-soname=libffado.so.2 > >src/libieee1394/test-cyclecalc.o -Lsrc -lffado -lm -lrt -lpthread > >-liec61883 -lraw1394 -lconfig++ -lxml++-2.6 -lxml2 -lglibmm-2.4 > >-lgobject-2.0 -lglib-2.0 -lsigc-2.0 > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: libdl.so.2, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libxml2.so, not > >found (try using -rpath or -rpath-link) > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: libz.so.1, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libxml2.so, not > >found (try using -rpath or -rpath-link) > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: liblzma.so.5, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libxml2.so, not > >found (try using -rpath or -rpath-link) > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: libgmodule-2.0.so.0, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libglibmm-2.4.so, > >not found (try using -rpath or -rpath-link) > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: libffi.so.4, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libgobject-2.0.so, > >not found (try using -rpath or -rpath-link) > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > >warning: libpcre.so.1, needed by > >/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/libglib-2.0.so, not > >found (try using -rpath or -rpath-link) > I've done export LDFLAGS=-Wl,-rpath,/usr/lib64:/lib64 and export > CUSTOM_ENV=1 and relaunched scons but it didn't help. > Is there the easy way to pass parameters to the linker? That's an excellent question. By default, the scons system doesn't respect the LDFLAGS variables, as you've discovered. However, we have the CUSTOM_ENV mechanism to get around this which you have also obviously noticed. There is a trick though: the CUSTOM_ENV variable is a parameter to scons, not an environment variable. That is, to get your custom LDFLAGS variable to be used, you need to call scons and include CUSTOM_ENV=true. For example: scons CUSTOM_ENV=true You may find that you'll need to add further items to your LDFLAGS variable to compensate for the fact that those details normally added by scons may not be included anymore. Scons will remember parameter settings between builds, so once you've run it once with "CUSTOM_ENV=true" you won't have to include it again unless you really want to. Regards jonathan |