linux - But I don't *want* gcc to follow symlinks -
background:
i wrote program uses openblas libraries heterogeneous compute cluster. openblas uses different libraries different architectures.
so on 1 machine 'ls -l /usr/lib64/libopenblas.so' results in
lrwxrwxrwx 1 root root 31 mar 6 15:13 /usr/lib64/libopenblas.so -> libopenblas_barcelona-r0.2.6.so*
on another, result is
lrwxrwxrwx 1 root root 33 mar 4 09:43 /usr/lib64/libopenblas.so -> libopenblas_sandybridge-r0.2.6.so*
there may others, these 2 have checked. both implement same api, use different optimizations.
the problem:
when compile own shared object file using these use gcc ... -lopenblas
, compiles fine, , runs on machines similar architecture (i.e., 'libopenblas_barcelona-r0.2.6.so'), on other architectures fails run.
ldd shows links against libopenblas_barcelona-r0.2.6.so rather libopenblas.so.
is there way can tell gcc link against symlink, rather result of symlink, "right" regardless of architecture of machine it's running on?
Comments
Post a Comment