What is the difference between /lib/i386-linux-gnu/libc.so.6, /lib/x86_64-linux-gnu/libc.so.6 and /usr/lib/x86_64-linux-gnu/libc.so?

后端 未结 3 1805
星月不相逢
星月不相逢 2020-12-30 10:19

I installed Matlab in my Linux Mint 14 Nadia (a uname -a shows: Linux Ideapad-Z570 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-30 10:42

    To find which one to use, you have to first find the order that ld (the linker) uses to find libraries, like so:

    ld --verbose | grep SEARCH
    

    For me it gave me this output:

    SEARCH_DIR("/usr/x86_64-unknown-linux-gnu/lib64"); SEARCH_DIR("/usr/x86_64-unknown-linux-gnu/lib"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/local/lib");
    

    This means that on my computer, ld looks in these directories, in order:

    1. /usr/x86_64-unknown-linux-gnu/lib64
    2. /usr/x86_64-unknown-linux-gnu/lib
    3. /usr/lib
    4. /usr/local/lib

    So if libc was in /usr/x86_64-unknown-linux-gnu/lib64, and libc was also in /usr/lib, it would use the /usr/x86_64-unknown-linux-gnu/lib64 version, because it was listed first.

提交回复
热议问题