Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

add dependencies in control file

User discussion about Debian Development, Debian Project News and Announcements. Not for support questions.
Post Reply
Message
Author
luca72
Posts: 3
Joined: 2012-03-09 14:43

add dependencies in control file

#1 Post by luca72 »

Hello i have made a litte program bui whe i run dpkg i get the error:
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libClasse_scarico_rev_01_64_bit.so.1 (used by debian/mondogames/usr/bin/Mondo_Games).
how i have to add the libClasse_scarico_rev_01_64_bit.so.1 in the control file


Thanks

Luca

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: add dependencies in control file

#2 Post by stevepusser »

How did you create the .deb file? If you use the Debian packaging tools, they are supposed to get the dependencies automatically by scanning the .so file using dh_shlibs.

If it's a precompiled binary, you have a

Depends: xxx, yyy, zzz

line in the package section of the debian/control file. You have to find out the dependencies by reading the docs or asking the developer. I believe there are also some commands that will dig them out of the library, like make-googleearth-package does, but you'll have to search for that.
MX Linux packager and developer

luca72
Posts: 3
Joined: 2012-03-09 14:43

Re: add dependencies in control file

#3 Post by luca72 »

Hello is a program made with qt
the .pro file is as attached:


QT += core gui webkit network

TARGET = Mondo_Games
TEMPLATE = app


SOURCES += main.cpp\
widget.cpp

HEADERS += widget.h

FORMS += widget.ui

LIBS += -lClasse_scarico_rev_01_64_bit

INCLUDEPATH += /home/luca72/Scrivania/Luca/Prog_C++/Prog_64_bit/Classe_scarico_rev_01_64_bit/Classe_scarico_rev_01_64_bit/

i have to create the .deb file

Luca

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: add dependencies in control file

#4 Post by stevepusser »

I'd go ahead and use the Debian tools to create the package.. Debhelper is now very smart and will handle most QT programs automatically.

"Debianize" the source with dh_make.

Edit the debian/changelog, copyright, control and rules files as necessary. You put the build-depends in the control file, such as libqt4-dev.

Once done, build the package. The process automatically adds the dependencies inside the deb's control file.

This Ubuntu guide is very good, and applies to Debian also: https://wiki.ubuntu.com/PackagingGuide/Complete
MX Linux packager and developer

luca72
Posts: 3
Joined: 2012-03-09 14:43

Re: add dependencies in control file

#5 Post by luca72 »

in the control file i have to add :

Build-Depends: debhelper (>= 8.0.0), libClasse_scarico_rev_01_64_bit.so.1

Is this correct?
because i get the error when parsing Build-depends
what is wrong?

User avatar
Tadeas
Posts: 1013
Joined: 2008-09-22 09:11
Location: Prague
Contact:

Re: add dependencies in control file

#6 Post by Tadeas »

In Build-Depends you write package names, not file names. You need to find in which package is libClasse_scarico_rev_01_64_bit.so.1 located and add that package.
Because let’s face it, the unfortunate aspect of software development is that it involves humans. Mewling, disorganized, miserably analog humans. Sometimes they smell bad.

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: add dependencies in control file

#7 Post by stevepusser »

The Debian packaging process starts with the source code only. (for the most part) It will compile and install "libClasse_scarico_rev_01_64_bit.so.1" if that's what your source code creates when compiled and the makefile installs. There will be no need to add it to the depends, since your program build should link it correctly if the source code is correct.

The first thing to check is to see if you can compile and install your program manually as the standard user:

qmake-qt4
make
su -c 'make install'

If that works, then a Debian packaging process should work.
MX Linux packager and developer

Post Reply