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

Re: binary-or-shlib-defines-rpath error message




Justin Pryzby-43 wrote:
> 
> Is this the same package that caused dh_strip errors?
> 
No its not.


Justin Pryzby-43 wrote:
> 
> You shouldn't set rpath to /usr/lib since it's in the default search
> path.
> 
I haven't set the path any where in the rules file. but i am trying to
install it using following line:
$(MAKE) install prefix=$(CURDIR)/debian/tmp/usr/
DESTDIR=$(CURDIR)/debian/tmp

i added this line only after looking at the rules file of debian pkg already
available on packages.debian.org. Earlier when i tried with  "$(MAKE)
install DESTDIR=$(CURDIR)/debian/tmp" the "make" did installation on /usr/*
not in debian/tmp/usr/*. Also after adding line (as given in debian pkg) the
files were installed in debian/tmp/usr/* but two packages (-dev and -utils)
that built contained no directory hierarchy. 
dpkg --contents on -dev and -utils showed only "./"

so i modified rules file as shown.

     80     dh_testdir
     81     dh_testroot
     82     dh_clean -k
     83     dh_installdirs -a
     84     mkdir --parents $(CURDIR)/debian/tmp/usr/include \
     85         $(CURDIR)/debian/tmp/usr/bin \
     86         $(CURDIR)/debian/tmp/usr/lib \
     87         $(CURDIR)/debian/tmp/usr/man/man1
     88     
     89     $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr/
DESTDIR=$(CURDIR)/debian/tmp
     90     dh_install -a
     91     mkdir --parents $(CURDIR)/debian/libjpeg62-dev/usr/include \
     92         $(CURDIR)/debian/libjpeg62-dev/usr/lib \
     93     mkdir --parents $(CURDIR)/debian/libjpeg62-utils/usr/bin
     94     
     95     install $(CURDIR)/debian/tmp/usr/include/*
$(CURDIR)/debian/libjpeg62-dev/usr/include/
     96     ln -sf libjpeg.so.62.0.0
$(CURDIR)/debian/libjpeg62-dev/usr/lib/libjpeg.so
     97     install $(CURDIR)/debian/tmp/usr/lib/lib*.a
$(CURDIR)/debian/libjpeg62-dev/usr/lib/
     98     install $(CURDIR)/debian/tmp/usr/lib/lib*.la
$(CURDIR)/debian/libjpeg62-dev/usr/lib/
     99     
    100     install $(CURDIR)/debian/tmp/usr/bin/*
$(CURDIR)/debian/libjpeg62-utils/usr/bin/
    101 
    102     dh_link -a
    103     dh_compress -a
    104     dh_fixperms -a

the output in verbose mode of dh_install -a is

dh_install -a
        install -d debian/libjpeg62//usr/lib
        cp -a ./debian/tmp/usr/lib/libjpeg.so.62 debian/libjpeg62//usr/lib/
        cp -a ./debian/tmp/usr/lib/libjpeg.so.62.0.0
debian/libjpeg62//usr/lib/
As you can see only one package is getting installed and rest of the two
packages built were empty.
Thats why i added lines below dh_install -a in the rules file.




Justin Pryzby-43 wrote:
> 
>> can some one please explain the reason for this message?
> Debian considereds rpath to be inflexible.
> 



Justin Pryzby-43 wrote:
> 
> You have to supply a ./debian/shlibs file in any package that includes
> public shared libraries (/usr/lib/*.so.*).  It gets installed to
> /usr/lib/dpkg/info/ and searched by dh_shlibdeps when building
> packages to find on what package,version to add a dependency for a
> given objdump -p |grep -we NEEDED line.
> 
> Justin
> 
Do i need to provide <package-name>.shlibs or shlibs.local file in debian
directory.
-- 
View this message in context: http://www.nabble.com/binary-or-shlib-defines-rpath-error-message-tf4607195.html#a13169417
Sent from the debian-mentors mailing list archive at Nabble.com.



Reply to: