some result

```
~/code/guile-2.2
$ LDFLAGS=-Wl,-rpath LD_LIBRARY_PATH=./libguile/.libs gcc  -pthread -I.  
-lguile-2.2  -lgc test.c
~/code/guile-2.2
$ ldd ./a.out 
        linux-vdso.so.1 (0x00007ffc441a0000)
        libguile-2.2.so.1 => /usr/lib/libguile-2.2.so.1 (0x00007f3cfb519000)
        libgc.so.1 => /usr/lib/libgc.so.1 (0x00007f3cfb2af000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f3cfb091000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f3cfacd9000)
        libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f3cfaad0000)
        libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007f3cfa75f000)
        libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f3cfa4cc000)
        libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007f3cfa2c2000)
        libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f3cfa08a000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f3cf9d3e000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 
(0x00007f3cfba49000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f3cf9b3a000)
        libatomic_ops.so.1 => /usr/lib/libatomic_ops.so.1 (0x00007f3cf9937000)

```
 
 
------------------ Original ------------------
From:  "Chaos Eternal"<eternalch...@shlug.org>;
Date:  Mon, Jan 22, 2018 12:58 PM
To:  "Nala Ginrut"<nalagin...@gmail.com>; 
Cc:  "陶青云"<qingyun....@tophant.com>; "guile-devel"<guile-devel@gnu.org>; 
Subject:  Re: Question: link to wrong library

 

or try this 
 LDFLAGS=-Wl,-rpath
 
On Mon, Jan 22, 2018, 09:08 Nala Ginrut <nalagin...@gmail.com> wrote:

I think you may need LD_LIBRARY_PATH

2018年1月21日 23:46,"陶青云" <qingyun....@tophant.com>写道:
Hi. I'm new to guile.  I compiled it from source without `make install`. 


I write a simple C file and use the flowing command to compile it.
    `gcc -pthread -I. -L ./libguile/.libs -lguile-2.2  -lgc test.c`
it successed. but the a.out is always link to my system guile library.
   $ ldd ./a.out 
        linux-vdso.so.1 (0x00007fffc259b000)
        libguile-2.2.so.1 => /usr/lib/libguile-2.2.so.1 (0x00007fa90f9fe000)
        libgc.so.1 => /usr/lib/libgc.so.1 (0x00007fa90f794000)




even I do the flowing:
$ cp libguile/.libs/libguile-2.2.so.1.3.0  libguile/.libs/libguile-2.5.so


$ gcc -pthread -I. -L ./libguile/.libs -lguile-2.5  -lgc test.c  # it successed


$ ldd ./a.out 
        linux-vdso.so.1 (0x00007ffd283e0000)
        libguile-2.2.so.1 => /usr/lib/libguile-2.2.so.1 (0x00007f83c71cc000)
        libgc.so.1 => /usr/lib/libgc.so.1 (0x00007f83c6f62000)





Could someone give me some tips.  Thanks.

Reply via email to