LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   How to bypass dependencies in SlackBuild (http://www.linuxquestions.org/questions/slackware-14/how-to-bypass-dependencies-in-slackbuild-4175463461/)

just.srad 05-26-2013 12:18 AM

How to bypass dependencies in SlackBuild
 
Hi,

I would like to know whether is it possible to bypass dependencies by
editing the file with the extension "SlackBuild" -> filename.SlackBuild.

If possible , which part of it should i edit?

Thanks in advance.

Justin

TommyC7 05-26-2013 01:03 AM

The SlackBuild files are just scripts. Most of the time, it's the configure script (that comes with the program you want to build, but not the SlackBuild) that checks for certain dependencies on the system.

solarfields 05-26-2013 02:02 AM

what do you mean by "bypass dependencies"?

Philip Lacroix 05-26-2013 02:06 AM

Do you mean building packages without the required dependencies? I guess this is not possible by definition, and if you find out a way you'll end up with a broken package.

Mark Pettit 05-26-2013 02:11 AM

As far as I understand it, the slackbuild dependencies are advisory. I think you can go ahead and build. Of course, the build will fail if the required libraries are not there, but you may be lucky. (I doubt it tho').

knudfl 05-26-2013 02:27 AM

Dependencies are not something secondary that you can avoid.

Very often the prerequisites (dependencies) are the main parts / tools.


And : It is difficult to build something with no parts or tools.


-

s3phir0th115 05-26-2013 06:27 AM

You usually don't; the reason they are called dependencies is because the program depends upon them to build/work.

There are times where there are optional dependencies, in which case leaving them out just means missing out on an optional feature, but cases like that are typically clearly laid out on the documentation supplied with the slackbuild.

just.srad 05-30-2013 08:46 AM

Actually i tried to install the jack-audio-connection-kit package using the
installpkg and got some dependencies requirement message.

And when tried to install this package "libgnomecanvasmm" (not sure i spelt correctly) and got the error "No package: gtkmm-2.4" and "No package libgnomecanvas". And it also mentioned of the "pkg-config" which
suppose to be inside the file "SlackBuild" comes with the package to be installed. (i didn't write down the exact error message at that point of time.)

It seems to me that "pkg-config" could control whether or not to install
the dependencies.



Thanks all for the feedback once again.

I will to figure it out.

AlvaroG 05-30-2013 09:46 AM

If you want to avoid issues, do a full installation. If you do, you'll never see "missing requirements" messages while running programs included in the installation dvd.

If you install from SlackBuilds, you need to understand the following: A SlackBuild is a script that controls how to build a single package. It does not resolve dependencies or have any dependency check inside.
The build process checks for required libraries, but it does so via the build scripts included in the source package. This is: each source package knows how to build itself, and includes code to check for required and optional dependencies. All that a SlackBuild does is to run the appropriate commands to launch the build process as defined by the package creator, and then create an installable package from what was compiled.

Slackware package management does not resolve dependencies, nor it enforces them. You must to build or install required dependencies, and you build or install optional dependencies if you want to get additional functionality.
Note that, in most cases, the description of the packages at slackbuilds.org assume that you have performed a full installation, so not all dependencies are listed, only those not included with the Slackware distribution.

To avoid issues and manual work, use sbopkg with the queue files from http://gitorious.org/sbopkg-slackware-queues
That is the best way to make sure all dependencies are compiled when you try to build something from slackbuilds.org


Regards

Philip Lacroix 05-30-2013 09:58 AM

These are the packages required before installing libgnomecanvasmm (assuming you have an ordinary Slackware installation):

libgnomecanvasmm requires libgnomecanvas and gtkmm.
gtkmm requires atkmm and mm-common.
atkmm requires pangomm.
pangomm requires cairomm.
cairomm requires glibmm.
glibmm requires libsigc++.

To make it short, you can install all dependencies required by libgnomecanvasmm in the following order:

1. libsigc++
2. glibmm
3. cairomm
4. pangomm
5. atkmm
6. gtkmm
7. mm-common
8. libgnomecanvas

EDIT: these packages are available as SlackBuilds.

Best regards,
Philip

chess 05-30-2013 10:41 AM

This reminded me to do something I've been meaning to do for awhile: upload a copy of the 'sqg' sbopkg queuefile generator script along with a full set of updated queuefiles. You can grab this at: https://github.com/chessgriffin/sqg

Z038 05-30-2013 11:48 AM

I just built the jack-audio-connection-kit package from slackbuilds.org on a Slackware64 14.0 system that was recently built via a full install. I don't have libgnomecanvasmm or gtkmm, etc., installed on my system, and the jack-audio-connection-kit build didn't require them. Perhap's in the OP's case, there are some conditional dependencies being pulled in based on what is already installed on his system.

Philip Lacroix 05-30-2013 12:16 PM

Quote:

Originally Posted by Z038 (Post 4962190)
I don't have libgnomecanvasmm or gtkmm, etc., installed on my system, and the jack-audio-connection-kit build didn't require them. Perhap's in the OP's case, there are some conditional dependencies being pulled in based on what is already installed on his system.

The OP is probably installing something else (like Ardour) that requires both jack and libgnomecanvasmm.

Philip


All times are GMT -5. The time now is 07:01 AM.