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 陶青云 > 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" >; > *Date: * Mon, Jan 22, 2018 12:58 PM > *To: * "Nala Ginrut" >; > *Cc: * "陶青云" >; > "guile-devel">; > *Subject: * Re: Question: link to wrong library > > or try this > LDFLAGS=-Wl,-rpath > > > On Mon, Jan 22, 2018, 09:08 Nala Ginrut > wrote: > > I think you may need LD_LIBRARY_PATH > > 2018年1月21日 23:46,"陶青云" >写道: > > 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. >