[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Avoiding linking with /home/packaging/X/libxx.so



Hi mentors,

I've been struggling with this shared library linking issue for
a while.
I scanned maint-guide, dev-ref (detail not enough),
debmake-doc (osamu's new version of maint-guide),
and a library packaging guide [1] that debmake-doc recommended.
Then I still have no idea how to handle the problem I encountered.

I also downloaded many sources, which generates
  libx libx-dev libx-bin
such as glibc, but find it difficult to allocate maintainer's solution.

The background is ,I intended to package caffe, its build 
system is just make. 

In short if I got a source tree like this:

        .
        ./src
        ./src/Makefile
        ./src/hello.c
        ./Makefile
        ./lib
        ./lib/Makefile
        ./lib/sharedlib.c
        ./lib/sharedlib.h
        
And I'd like to package it as following:

        package: hello
          depends: libsharedlib1
        package: libsharedlib1
          NOTE: libsharedlib1 has no SONAME
        package: libsharedlib-dev

Let's assume ./src/Makefile is:

        $ cat Makefile.bak 
        main: hello
        
        hello.o: hello.c
        	$(CC) -g -c -Wall hello.c
        hello: hello.o
        	$(CC) -g -o hello hello.o ../lib/libsharedlib.so <--NOTICE
        clean:
        	-rm hello *.o
        
I got stuck here:

        $ ldd hello
	[...]
	../lib/libsharedlib.so (0x00007f400a08e000) <--NOTICE
	[...]

However I'm going to install hello to /usr/bin, libsharedlib.so to
/usr/lib/libsharedlib.so.X
So the generated hello is not installable.

The question is, how to get hello linked to /usr/lib/libsharedlib.so,
since in fact that lib is located at $(CUDIR)/../lib/libsharedlib.so?

Thank you!

[1]http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html
-- 
Regards,
  C.D.Luminate


Reply to: