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. >>> >>