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

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -