I think you need -Wl,-rpath=`pwd`/libguile/.libs
On 01/22/2018 03:36 AM, Chaos Eternal wrote:
gcc -pthread -I. -Wl,-rpath -lguile-2.2 -lgc test.c
On Mon, Jan 22, 2018 at 7:30 PM 陶青云 <qingyun....@tophant.com
<mailto:qingyun....@tophant.com>> wrote:
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
<mailto:eternalch...@shlug.org>>;
*Date: * Mon, Jan 22, 2018 12:58 PM
*To: * "Nala Ginrut"<nalagin...@gmail.com
<mailto:nalagin...@gmail.com>>;
*Cc: * "陶青云"<qingyun....@tophant.com
<mailto:qingyun....@tophant.com>>;
"guile-devel"<guile-devel@gnu.org <mailto: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
<mailto:nalagin...@gmail.com>> wrote:
I think you may need LD_LIBRARY_PATH
2018年1月21日 23:46,"陶青云" <qingyun....@tophant.com
<mailto: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 <http://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.