LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-30-2014, 04:00 PM   #1
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
A tip for building packages with a lot of dependencies from Slackbuilds


Hi all,

I recently decided to try again to build gnucash using sbopkg and slackbuilds.org. In the past, I've gotten tangled up in the dependencies and given up in frustration. The problem isn't with slackbuilds.org -- the dependencies are very well-documented! The problem isn't with sbopkg and it's queue functions, which are intelligent, logical, and powerful.

The problem is that some of gnucash's dependencies have dependencies that share dependencies with other dependencies. I was having trouble taking a branching chain of dependencies and translating it to a queue where each package is only listed once.

Last night I realized that I could create a flow chart showing the dependencies as branches and use that to identify the duplicated packages. After than, I created a queue file with each package listed only once and in the preferred order. It built without errors and gnucash is now running on my system.

I've attached the flow chart I created. The duplicate dependencies are in yellow. The resulting gnucash.sqf queue file is below.

gnucash.sqf
Code:
ORBit2
libbonobo
gnome-mime-data
gnome-vfs
libgnome
libgnomecanvas
libbonoboui
libgnomeui
libgnomecups
libgnomeprint
libgnomeprintui
gtkhtml
libofx
slib
goffice
gnucash
It's possible that I just "discovered" a tip that most people already know about and use. Nevertheless, I find creating a flow chart of the dependencies very helpful and thought I'd share it.

Regards,
Attached Thumbnails
Click image for larger version

Name:	building_gnucash.jpg
Views:	96
Size:	31.9 KB
ID:	15817  
 
Old 06-30-2014, 04:26 PM   #2
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Blog Entries: 4

Rep: Reputation: Disabled
That's the perfect opportunity for a bit of self-promotion. *cough* *cough*

Quote:
Originally Posted by 55020 View Post
  • clean building - dependencies are built as a 'tree', not a linear 'queue'
I see you're on Slackware-14.0, well, comparing what's below with your nice chart, thankfully you won't have to do all that again; most of those deps are already in 14.1.

Code:
===============================================================================
! office/gnucash                                                     21:05:40 !
===============================================================================

Hints for libraries/webkitgtk:
  NUMJOBS="-j1"
Dependencies of office/gnucash:
  libraries/goffice0.8
  libraries/libgnomecanvas
  libraries/libofx
  libraries/webkitgtk
libraries/goffice0.8 is up-to-date.
libraries/libgnomecanvas is up-to-date.
libraries/libofx is up-to-date.
Dependencies of libraries/webkitgtk:
  libraries/gst1-plugins-base
  libraries/libwebp
Dependencies of libraries/gst1-plugins-base:
  libraries/gstreamer1
Dependencies of libraries/gstreamer1:
  development/orc
development/orc is up-to-date.
libraries/gstreamer1 is up-to-date.
libraries/gst1-plugins-base is up-to-date.
libraries/libwebp is up-to-date.
libraries/webkitgtk is up-to-date.
office/gnucash is up-to-date.
 
1 members found this post helpful.
Old 06-30-2014, 04:30 PM   #3
TracyTiger
Member
 
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 528

Rep: Reputation: 273Reputation: 273Reputation: 273
So 55020 how much did you have to pay Lufbery to post his tree structure on the day* you announced the release of your software?

Will we be seeing related posts by others throughout the week? Or was this just a one day marketing campaign?

Congrats on your software.

* EDIT: Actually day after

Last edited by TracyTiger; 06-30-2014 at 04:36 PM.
 
Old 06-30-2014, 04:43 PM   #4
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,261

Rep: Reputation: Disabled
Nice, and I like the flowchart.

This notwithstanding, what about this?
Code:
sqg -p gnucash
sbopkg -k -i gnucash
 
1 members found this post helpful.
Old 06-30-2014, 04:49 PM   #5
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180

Original Poster
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
Quote:
Originally Posted by TracyTiger View Post
So 55020 how much did you have to pay Lufbery to post his tree structure on the day* you announced the release of your software?
It's open source. I didn't get paid a dime.

I'll check out slackrepo. It looks like it serves a real need.

Nevertheless, I think creating a flow chart of dependencies is a great way to check the sanity of your build order. QGIS is another one where, once you get into the optional dependencies, everything can become tangled with dependencies being dependencies of other dependencies.

I've been using Slackware since version 11 was released (late 2006), and I've been building 3rd party packages from source for nearly as long -- primarily using slackbuilds and src2pkg. I've also built Linux From Scratch -- with package management -- several times. I feel pretty good about my ability to build stuff from source, although I run into enough snags to not get cocky.

Anyway, it hit me last night that a flowchart is the perfect tool for documenting dependencies before coming up with the build order. It seems so obvious now that I can't believe I didn't think of it sometime in the prior six or seven years that I've been a slacker.

Last edited by Lufbery; 06-30-2014 at 04:55 PM.
 
Old 06-30-2014, 04:52 PM   #6
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Blog Entries: 4

Rep: Reputation: Disabled

The marketing campaign will end in disaster when Lufbery asks if it will work in 14.0 and I will be forced to admit that it doesn't
 
Old 06-30-2014, 05:08 PM   #7
bosth
Member
 
Registered: Apr 2011
Location: British Columbia, Canada
Posts: 304

Rep: Reputation: 127Reputation: 127
If you like dependency graphs, then check this thread out.
 
2 members found this post helpful.
Old 06-30-2014, 09:25 PM   #8
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180

Original Poster
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
Quote:
Originally Posted by bosth View Post
If you like dependency graphs, then check this thread out.
Wow! That's simply awesome.

Like I said, I probably just "discovered" something that everyone else already knows.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
difference in sbopkg queue file and slackbuilds dependencies the_zone Slackware 15 04-24-2014 12:18 PM
[SOLVED] Dependencies for installing slackbuilds on barebones linode mattca Slackware 15 02-11-2014 05:42 PM
[SOLVED] SlackBuilds: what is the best way to manage dependencies? andreas-r Slackware 3 01-20-2013 03:21 PM
[SOLVED] Building AlienBob's KDE 4.7.2 packages from the Slackbuilds damgar Slackware 7 10-27-2011 01:11 AM
Building slackbuilds.org packages with gcc 4.4.2 ponce Slackware 1 11-05-2009 12:07 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:12 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration