pkgsrc and Slackware 14.2
by thirdm from LinuxQuestions.org on (#5621V)
In the train wreck thread I.G.O.R. asked me a more or less a legitimate question about whether I think pkgsrc is a good way of getting some newer software onto a 14.2 system. I'm pretty new to pkgsrc, and my motivation for using it on Slackware is more to learn about pkgsrc than to get newer Slackware software. Other than perl I'm mostly version oblivious and there are a couple convenient solutions for running a newer perl than system perl.
Still, I imagine it's one way a person could get other, sometimes newer software than what's in base. But as I mentioned in an off topic post in some other thread, I'm slightly wary of recommending it because I've run into an issue with their libxslt package. I thought it was just me, but I see a couple others hit it. It doesn't seem to be an issue for debian users.
Here's someone first with Vector Linux:
https://marc.info/?l=pkgsrc-users&m=153137106201239&w=2
And here's someone with Slackware:
https://marc.info/?l=pkgsrc-users&m=158296240205364&w=2
That second thread has a solution:
https://marc.info/?l=pkgsrc-users&m=158330098801417&w=2
I don't know what the expat problem is. I wonder if he cleaned since having the earlier problems.
So if you go this way make sure you get that bootstrap option --prefer-pkgsrc=yes in there at the beginning. You'll see in the guide that that's a setting you don't want to change later or you'll have a mix of packages that link to libraries in your base distro and packages that don't or don't expect that. Take a little up front time to research and read the early parts of the pkgsrc guide before you bootstrap, including the buildlink chapter.
I was going to try to figure out the original problem if I could. The unfortunate thing about how that 2nd pkgsrc thread went is once he got his solution he abandoned the original issue. Unfortunately, it's a tricky one for me and right now I'm more motivated in some other directions (learning picolisp, seeing if Linux from Scratch can be started using NetBSD's linux emulation layer). But maybe I'll try again this weekend.
As I.G.O.R. pointed out in the endless thread, having a parallel set of libraries to your base system, it's, esthetically if nothing else, not great. I want to run with PREFER_NATIVE=yes to maximize usage of Slackware libraries. Having to use PREFER_PKGSRC=yes is suboptimal. If I could figure it out I'm sure they'd appreciate an answer/patch.
A couple posts later I.G.O.R. mentioned the idea of using /usr/local as pkgsrc's target. That's not the default. It would normally go to /usr/pkg. It's best not to use /usr/local. By having a separate tree you end up with four options for installing software:
1. base slackware in /usr
2. SBo. to /usr
3. pkgsrc to /usr/pkg (target prefix is customizable)
4. manual compiling and installing to /usr/local
I like those choices. Base in 14.2 still does the job for the most part. Previously I've installed a few things in /usr/local which I still use. Then I learned more about SBo and have installed other things from there. Now I've got some things from pkgsrc. Each has advantages (and in my case how I've partitioned, i.e. where I have space left now, also affects which I choose).


Still, I imagine it's one way a person could get other, sometimes newer software than what's in base. But as I mentioned in an off topic post in some other thread, I'm slightly wary of recommending it because I've run into an issue with their libxslt package. I thought it was just me, but I see a couple others hit it. It doesn't seem to be an issue for debian users.
Here's someone first with Vector Linux:
https://marc.info/?l=pkgsrc-users&m=153137106201239&w=2
And here's someone with Slackware:
https://marc.info/?l=pkgsrc-users&m=158296240205364&w=2
That second thread has a solution:
https://marc.info/?l=pkgsrc-users&m=158330098801417&w=2
I don't know what the expat problem is. I wonder if he cleaned since having the earlier problems.
So if you go this way make sure you get that bootstrap option --prefer-pkgsrc=yes in there at the beginning. You'll see in the guide that that's a setting you don't want to change later or you'll have a mix of packages that link to libraries in your base distro and packages that don't or don't expect that. Take a little up front time to research and read the early parts of the pkgsrc guide before you bootstrap, including the buildlink chapter.
I was going to try to figure out the original problem if I could. The unfortunate thing about how that 2nd pkgsrc thread went is once he got his solution he abandoned the original issue. Unfortunately, it's a tricky one for me and right now I'm more motivated in some other directions (learning picolisp, seeing if Linux from Scratch can be started using NetBSD's linux emulation layer). But maybe I'll try again this weekend.
As I.G.O.R. pointed out in the endless thread, having a parallel set of libraries to your base system, it's, esthetically if nothing else, not great. I want to run with PREFER_NATIVE=yes to maximize usage of Slackware libraries. Having to use PREFER_PKGSRC=yes is suboptimal. If I could figure it out I'm sure they'd appreciate an answer/patch.
A couple posts later I.G.O.R. mentioned the idea of using /usr/local as pkgsrc's target. That's not the default. It would normally go to /usr/pkg. It's best not to use /usr/local. By having a separate tree you end up with four options for installing software:
1. base slackware in /usr
2. SBo. to /usr
3. pkgsrc to /usr/pkg (target prefix is customizable)
4. manual compiling and installing to /usr/local
I like those choices. Base in 14.2 still does the job for the most part. Previously I've installed a few things in /usr/local which I still use. Then I learned more about SBo and have installed other things from there. Now I've got some things from pkgsrc. Each has advantages (and in my case how I've partitioned, i.e. where I have space left now, also affects which I choose).