c - Linking compiled library to newer version of glibc -
i working on project uses ftdi d2xx drivers interface enttec dmx usb pro device. ftdi drivers (libftdi2xx.so.1.1.12 stored in /usr/local/lib/) compiled against version of glibc v2.14 or higher.
i developing on debian 7 supports glibc v2.13. when executing c code have written (that makes calls ftdi drivers) gives error:
./a.out: /lib/x86_64-linux-gnu/libc.so.6: version `glibc_2.14' not found (required /usr/local/lib/libftd2xx.so)
this makes sense, knowing glibc version incompatible. have downloaded , installed newest version of glibc (v2.17) temporary directory ('~/glibc-testing/install/lib/') on computer , using call:
~/glibc-testing/install/lib/ld-linux-x86-64.so.2 --library-path ~/glibc-testing/install/lib/ ./a.out
with call, able run c-code successfully.
i compile c-code shared library. used interface dmx device , called main application developed on c#.
i not sure how move forward. seems need tell fdti driver utilize newer glibc while letting rest of application utilize normal libraries. ftdi 2dxx drivers available precompiled (no source code available). there way link pre-compiled programme new library?
i have looked options export ld_library_path=/home/.../glibc/install/lib/ , have had little success.
thank you!
one of variants update debian sid.
another alternative alter file /etc/ld.so.conf.d/libc.conf
, /etc/ld.so.conf.d/x86_64-linux-gnu.conf
these files contain path search libraries in system.
c shared-libraries glibc ftdi
No comments:
Post a Comment