LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
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 05-06-2021, 08:40 AM   #16
Paulo2
Member
 
Registered: Aug 2012
Distribution: Slackware64 15.0 (started with 13.37). Testing -current in a spare partition.
Posts: 928

Rep: Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515Reputation: 515

@business_kid If you don't use slackpkg, take a look at the .dep file in Alienbob repository.
If a package has dependencies they are listed (note that a dependency can have it's own .dep file )
https://slackware.nl/people/alien/sl..._64-1alien.dep

If you have sbopkg installed, you can build a list of dependencies with 'sqg -p inkscape'
(for ponce's -current SBo-git run 'REPO_BRANCH=current REPO_NAME=SBo-git sqg -p inkscape')

Then run 'sbopkg -Rki inkscape' and choose build queue. That's the way I installed it.
(-R for show the README
-k for skip packages already installed *from SBo*
-i build and install/upgrade)

Last edited by Paulo2; 05-06-2021 at 08:42 AM.
 
Old 05-06-2021, 08:46 AM   #17
EdGr
Member
 
Registered: Dec 2010
Location: California, USA
Distribution: I run my own OS
Posts: 998

Rep: Reputation: 470Reputation: 470Reputation: 470Reputation: 470Reputation: 470
Inkscape 1.0.2 can be built with only three libraries added to -current: double-conversion, gdl, and potrace. I build it that way to minimize dependencies.
Ed
 
Old 05-06-2021, 10:40 AM   #18
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,296

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
It's evidently high time I stopped being an ostrich, and got my teeth into slackpkg, slackpkg plus, and Sbopkg, along with any others. I was right about one thing: Inkscape has added dependencies.

Which of those (slackpkg, slackpkg plus, and Sbopkg) searches recursively? Alien Bob's repo is
https://slackware.nl/people/alien/slackbuilds/, to which we have to add

package-name -->one of [README, build,pkg or pkg64] --> [correct version] before we get to a t?z. If that's handled automagically, the pessimist in me tends to presume the worst. Mind you, I have decent backups now.
 
Old 05-06-2021, 11:17 AM   #19
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Both slackpkg and slackpkg+ do not support dependency resolution. To use slackpkg+ you would be required to manually check dependencies (with the .dep files) and install everything. Just as with SBo, most .dep files will only contain 1st level dependencies, so you would need to check to see if the dependencies have dependencies of their own.

In this case, as marav mentioned, you'd need to issue the following command for slackpkg+ to properly install inkscape (this temporarily needs the poppler-compat package since inkscape hasn't been compiled against the newer poppler in -current). This command would be determined after checking each package for any dependencies and adding them to the list.

Code:
slackpkg install double-conversion gdl graphicsmagick libcdr potrace pstoedit python-lxml python-numpy scour poppler-compat inkscape
Alien Bob's repo is compatible with slapt-get, which does support dependency resolution. It is much easier to install inkscape through that:

Code:
slapt-get -i inkscape
Programs like sbopkg/sbotools/sboui/slackrepo/etc that work with SBo will typically have some method of dealing with dependencies. Most will automatically deal with them when you try and install the main piece of software, however, sbopkg does require a companion app, sqg, to generate a build queue and then sbopkg will build the packages in the order of that queue. All will support multi-level dependencies (dependencies that have their own dependencies).

Last edited by bassmadrigal; 05-06-2021 at 11:18 AM.
 
Old 05-07-2021, 04:46 AM   #20
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,296

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
slapt-get? Another one to add to the "Investigate this ASAP" list. I never had much issue with dependencies since I discovered ldd. The one exception to that is Python apps, but you usually find the module list somewhere.

Thanks for the reply, and the mention of slapt-get.

EDIT: the poppler-compat I kinda dodged around with a symlink /usr/lib64/libpoppler.so.104 pointing to /usr/lib64/libpoppler.so.107. I'm sure purists would frown, but purists are thankfully in short supply here

Last edited by business_kid; 05-07-2021 at 04:50 AM.
 
Old 05-07-2021, 05:02 AM   #21
gus3
Member
 
Registered: Jun 2014
Distribution: Slackware
Posts: 490

Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
And after all of that, I opened the two svg files I was wondering about, found they were junk and deleted them both.
Ummm... did you try opening them in a modern web browser? SVG is a W3C standard now.
 
Old 05-07-2021, 05:32 AM   #22
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,296

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
It was pretty similar in the browser, but I didn't trust that, so went for inkscape. It's been an interesting thread, both for the way inkscape is sprouting oddball dependencies, and slackware is handling them.
 
Old 06-30-2022, 11:46 AM   #23
samtsco
Member
 
Registered: Sep 2010
Location: Pittsburgh
Distribution: Slackware
Posts: 74

Rep: Reputation: 3
Quote:
Originally Posted by Alien Bob View Post
sounds like you downloaded a binary which was not built for Slackware?

You can download a ready-made Slackware-current package here: https://slackware.nl/people/alien/slackbuilds/inkscape/ and don't forget to install the runtime depencies which are also available in my repository.
Newbie Question: How would he know what runtime dependencies to install?
 
Old 06-30-2022, 12:49 PM   #24
henca
Member
 
Registered: Aug 2007
Location: Linköping, Sweden
Distribution: Slackware
Posts: 959

Rep: Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649
Quote:
Originally Posted by samtsco View Post
Newbie Question: How would he know what runtime dependencies to install?
The easy way is to use a tool which downloads, compiles and installs software with dependency resolution. Some tools have been mentioned here, but not my favorite: slpkg

Example:

Code:
slpkg -s sbo inkscape
The above will download, build and install inkscape using SlackBuild scripts from slackbuilds.org and walk rekursively through all dependencies.

I did that many years ago on my Slackware 14.2 system and running that command again now results in the following:

Code:
bash-4.3# slpkg -s sbo inkscape
Reading package lists... Done
Resolving dependencies... Done

The following packages will be automatically installed or upgraded 
with new version:

+==============================================================================
| Package                 New version        Arch    Build  Repos          Size
+==============================================================================
Installing:
  inkscape-0.91           0.92.4             x86_64         SBo
Installing for dependencies:
  python3-3.7.2           3.7.2              x86_64         SBo
  six-1.14.0              1.14.0             x86_64         SBo
  python3-six             1.13.0             x86_64         SBo
  python-webencodings     0.5.1              x86_64         SBo
  setuptools-scm-3.3.3    3.4.1              x86_64         SBo
  functools-lru-cache-1.5 1.5                x86_64         SBo
  python-soupsieve        1.9.6              x86_64         SBo
  BeautifulSoup4-4.5.1    4.9.3              x86_64         SBo
  html5lib-0.90           1.0.1              x86_64         SBo
  lxml-3.6.4              4.4.1              x86_64         SBo
  numpy-1.14.3            1.14.3             x86_64         SBo

Installing summary
===============================================================================
Total 12 packages.
3 packages will be installed, 4 already installed and 5 packages
will be upgraded.

Would you like to continue [y/N]? N
In my terminal packages get color codes, green for up to date, yellow for will get updated and red for new packages which wasn't installed before.

How these dependenices are found depends upon the repository. For the slackbuilds.org repository all dependencies are listed in the .info-file. This is what inkscape.info looks like:

Code:
PRGNAM="inkscape"
VERSION="1.2"
HOMEPAGE="http://www.inkscape.org/"
DOWNLOAD="https://media.inkscape.org/dl/resources/file/inkscape-1.2.tar.xz"
MD5SUM="fb40ac4635b9ea5608e1706584cd0665"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="GraphicsMagick gdl dos2unix double-conversion libcdr lxml numpy potrace pstoedit scour"
MAINTAINER="Fernando Lopez Jr."
EMAIL="fernando.lopezjr@gmail.com"
The REQUIRES row lists the dependencies, but some of those dependencies might have more recursive dependencies. Only 10 packages are listed in REQUIRES, but at least one of them has some more dependency as slpkg found a total of 12 packages which were needed.

You might have noted that I did press "N" not to upgrade versions, and that is usually a good idea. If I only wanted to upgrade inkscape I could have written:

Code:
bash-4.3# slpkg -s sbo inkscape --resolve-off
Reading package lists... Done
Resolving dependencies... Done

The following packages will be automatically installed or upgraded 
with new version:

+==============================================================================
| Package                 New version        Arch    Build  Repos          Size
+==============================================================================
Installing:
  inkscape-0.91           0.92.4             x86_64         SBo

Installing summary
===============================================================================
Total 1 package.
0 package will be installed, 0 already installed and 1 package
will be upgraded.

Would you like to continue [y/N]?
...and hope that also the new version would work with those old libraries. Upgrading libraries might be a good idea for the current application (in this case inkscape), but it might break some other application which also depends upon the same library.

regards Henrik
 
1 members found this post helpful.
Old 06-30-2022, 02:18 PM   #25
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by samtsco View Post
Newbie Question: How would he know what runtime dependencies to install?
The much simpler answer is to look at the .dep file in package directory of Alien Bob's repo. If it has a .dep file, there are additional dependencies that need to be installed.

In the case of inkscape on 15.0, you need to install the following packages (all available from Alien Bob's repo):
  • double-conversion
  • gdl
  • graphicsmagick
  • libcdr
  • potrace
  • pstoedit
  • python-lxml
  • python-numpy
  • scour
 
2 members found this post helpful.
Old 07-01-2022, 06:05 AM   #26
samtsco
Member
 
Registered: Sep 2010
Location: Pittsburgh
Distribution: Slackware
Posts: 74

Rep: Reputation: 3
Quote:
Originally Posted by bassmadrigal View Post
The much simpler answer is to look at the .dep file in package directory of Alien Bob's repo. If it has a .dep file, there are additional dependencies that need to be installed.

In the case of inkscape on 15.0, you need to install the following packages (all available from Alien Bob's repo):
  • double-conversion
  • gdl
  • graphicsmagick
  • libcdr
  • potrace
  • pstoedit
  • python-lxml
  • python-numpy
  • scour
Hey, I ran md5sum on the 9 files above plus inkscape and checked them against alien's published md5s and installed all 10, apparently successfully, then when I try to run inkscape, I get:

inkscape: error while loading shared libraries: libboost_filesystem.so.1.77.0: cannot open shared object file: No such file or directory
 
Old 07-01-2022, 06:26 AM   #27
giomat
Member
 
Registered: Jul 2017
Posts: 337

Rep: Reputation: 238Reputation: 238Reputation: 238
Quote:
Originally Posted by samtsco View Post
Hey, I ran md5sum on the 9 files above plus inkscape and checked them against alien's published md5s and installed all 10, apparently successfully, then when I try to run inkscape, I get:

inkscape: error while loading shared libraries: libboost_filesystem.so.1.77.0: cannot open shared object file: No such file or directory
your boost library is mismatched with the one of alienbob when he compiled the package.
boost is very sensible to .so library version bumps.
you should install alienbob's boost-compat package
 
Old 07-01-2022, 01:15 PM   #28
henca
Member
 
Registered: Aug 2007
Location: Linköping, Sweden
Distribution: Slackware
Posts: 959

Rep: Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649
Quote:
Originally Posted by bassmadrigal View Post
The much simpler answer is to look at the .dep file in package directory of Alien Bob's repo. If it has a .dep file, there are additional dependencies that need to be installed.

In the case of inkscape on 15.0, you need to install the following packages (all available from Alien Bob's repo):
  • double-conversion
  • gdl
  • graphicsmagick
  • libcdr
  • potrace
  • pstoedit
  • python-lxml
  • python-numpy
  • scour
Would that procedure really be much simpler than just typing:

slpkg -s alien inkscape

Ok, initially you also might have to do the following:
slpkg repo-enable
(select to add alien repo in the dialog)
slpkg update

It is nice that slpkg does support many different package repositories. However I mostly prefer to only install stuff from Slackware and slackbuilds.org myself. Mixing packages from different repositories might give problems. I also prefer slackbuilds.org as it builds most packages from source instead of installing prebuilt packages. That said, I still do install things from alien, but in slpkg that repo is called "multi" as we are talking about the multilib support for Slackware.

Yes, different package repositories might have different ways to track dependencies. However slpkg makes use of these different ways for all supported repositories.

regards Henrik
 
Old 07-02-2022, 11:28 PM   #29
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by henca View Post
Would that procedure really be much simpler than just typing:

slpkg -s alien inkscape

Ok, initially you also might have to do the following:
slpkg repo-enable
(select to add alien repo in the dialog)
slpkg update

It is nice that slpkg does support many different package repositories. However I mostly prefer to only install stuff from Slackware and slackbuilds.org myself. Mixing packages from different repositories might give problems. I also prefer slackbuilds.org as it builds most packages from source instead of installing prebuilt packages. That said, I still do install things from alien, but in slpkg that repo is called "multi" as we are talking about the multilib support for Slackware.

Yes, different package repositories might have different ways to track dependencies. However slpkg makes use of these different ways for all supported repositories.

regards Henrik
Not if you don't already have slpkg installed. The above method requires nothing beyond the stock Slackware package tools.

There are several programs that make it easier to interact with 3rd-party repos, but if you're not already using them, it is a bit of a hassle to set them up for a single program and its dependencies.
 
Old 07-03-2022, 05:51 AM   #30
henca
Member
 
Registered: Aug 2007
Location: Linköping, Sweden
Distribution: Slackware
Posts: 959

Rep: Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649
Quote:
Originally Posted by bassmadrigal View Post
There are several programs that make it easier to interact with 3rd-party repos, but if you're not already using them, it is a bit of a hassle to set them up for a single program and its dependencies.
Yes, that is true. It is a hassle to learn and configure a new program. However, once configured and learned it does make life a lot easier when it comes to automatically handle dependencies between packages from third party repositories.

During the years I have spent far too many hours tracking down recursive dependencies when installing additional software to Slackware. I even ended up writing my own tool to keep track of dependencies for software I usually added to each new version of Slackware and published that tool at http://makepack.sourceforge.net/

When I found that slpkg were able to do this work for all packages from slackbuilds.org it was really a big relief.

regards Henrik
 
  


Reply



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
LXer: Nervous, Adobe? It took 16 years, but open-source vector graphics editor Inkscape now works properly on macOS LXer Syndicated Linux News 0 05-06-2020 02:10 PM
Something depends on something else but something else is to be installed javascriptninja Linux - Newbie 3 02-05-2012 04:22 PM
missing lib with inkscape kevin-isca Grafpup 3 06-25-2007 09:45 AM
making something.something.com in apache and bind kunteper Linux - Software 0 02-24-2004 12:30 AM
Something new something different. enk0d Slackware 11 06-01-2003 01:43 PM

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

All times are GMT -5. The time now is 11:02 AM.

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