--- In firstname.lastname@example.org
, "reuter.rudolf" <reuterru@...> wrote:
> 2. in echo "ldflags: -L/opt/lib -L/opt/lib -L/home/slug/optware/slugosbe/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/slug/optware/slugosbe/staging/opt/lib -Wl,-rpath-link=/home/slug/optware/slugosbe/staging/opt/lib -L/home/slug/optware/slugosbe/staging/opt/lib -L/home/slug/optware/slugosbe/staging/opt/lib"
> all occurrences of " -L/opt/lib" must be removed - But why?
> Why all occurrences of " -L/opt/lib" must be removed is not clear for me. If you have the time, please give me a brief explanation for that.
It's for the same reason we removed -I/opt/include.
Let's take one extreme convoluted example, say I'm using a super-fast slug as build host to cross build for a very slow x86 target:
What would be in /opt/include and /opt/lib? Totally depends on which ipk version of libjpeg[-dev], libpng[-dev] happen to be installed on the build host;
What would be in staging/opt/include and staging/opt/lib? As long as we manage the build .mk files correctly, it should use the exact version we have in .mk files. It's much more predictable and requires less dependencies of the build host.
If you have linux host with prefix set to /usr (most distros do that), it might work fine since we probably don't have anything in /opt. But what if we do? I won't have any problem if cross toolchain starts to bomb on -L/opt/lib either.