Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
06-30-2014, 04:00 PM
|
#1
|
Senior Member
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Rep:
|
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,
|
|
|
06-30-2014, 04:26 PM
|
#2
|
Senior Member
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Rep:
|
That's the perfect opportunity for a bit of self-promotion. *cough* *cough*
Quote:
Originally Posted by 55020
- 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.
|
06-30-2014, 04:30 PM
|
#3
|
Member
Registered: Apr 2011
Location: California, USA
Distribution: Slackware
Posts: 528
|
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.
|
|
|
06-30-2014, 04:43 PM
|
#4
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,261
Rep:
|
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.
|
06-30-2014, 04:49 PM
|
#5
|
Senior Member
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Original Poster
Rep:
|
Quote:
Originally Posted by TracyTiger
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.
|
|
|
06-30-2014, 04:52 PM
|
#6
|
Senior Member
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Rep:
|
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
|
|
|
06-30-2014, 05:08 PM
|
#7
|
Member
Registered: Apr 2011
Location: British Columbia, Canada
Posts: 304
Rep:
|
If you like dependency graphs, then check this thread out.
|
|
2 members found this post helpful.
|
06-30-2014, 09:25 PM
|
#8
|
Senior Member
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Original Poster
Rep:
|
Quote:
Originally Posted by bosth
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.
|
|
|
All times are GMT -5. The time now is 07:12 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|