It turns out that the Slackware aaa_elflibs package includes two
libraries that the Cups package also supplies (/usr/lib64/libcups.so.2
and /usr/lib64/libcupsimage.so.2), which (as they had regestered in >ld.so.conf ahead of my new libraries) interfered with the proper
execution of the new filters.
I temporarily worked around this by softlinking those two libraries
to my new libraries in /usr/local/lib64, and managed to properly print
to the new printer. I recognize that this solution does not represent
the best fix for the problem, andI will pursue a better solution as I >progress in this install.
So, a caveat for those of you who are looking at replacing Cups, if
you find that you get filter failures when you shouldn't, check for >interfering libraries that aaa_elflibs may have populated.
Hi, guys
I'm in the process of upgrading my Slackware 14.2 CUPS service in order
to accommodate my system's new "IPP Everywhere" printer (a Brother MFC-L8610cdw colour laser printer). As is my standard, I install self-compiled programs and libraries under the /usr/local tree, so as
to distinguish them from the Slackware provided programs and libraries
found elsewhere, and I did so for this new version of CUPS. For the
record, I upgraded
qpdf to v8.3.0 (required by cups-filters),
cups to Openprinting Cups v2.4.14,
cups-filters to Openprinting Cups v1.28.16, and
gutenprint to v5.3.5
I built these in a "clean room" install of Slackware 14.2 running under
LXC on my development box, and (after some back and forth with ./configure settings) I managed to get the laser printer to work with this new
version of Cups. However, when I installed these upgrades (packaged as locally-built Slackware packages), my (hardware) Slackware 14.2 system
would not print, complaining of a cups "filter failure".
It turns out that the Slackware aaa_elflibs package includes two
libraries that the Cups package also supplies (/usr/lib64/libcups.so.2
and /usr/lib64/libcupsimage.so.2), which (as they had regestered in ld.so.conf ahead of my new libraries) interfered with the proper
execution of the new filters.
I temporarily worked around this by softlinking those two libraries
to my new libraries in /usr/local/lib64, and managed to properly print
to the new printer. I recognize that this solution does not represent
the best fix for the problem, andI will pursue a better solution as I progress in this install.
Then I revised my /etc/ld.so.conf to place
/usr/local/lib64
ahead of
/usr/lib64
and reran ldconfig.
Another, more intrusive, solution might be to consider upgrading to
Slackware 15.0.
Anyone at this point contemplating an OS upgrade, should be looking at -current and not a near three year old release
On Sun, 02 Nov 2025 09:36:16 +1000, noel wrote:
Anyone at this point contemplating an OS upgrade, should be looking at
-current and not a near three year old release
Anyone willing to be a long term beta tester should consider current for
non critical machines which you do not depend upon too much.
The fact that Lew is still sticking to 14.2 indicates a fear that an
upgrade would break something important. On current there is a risk that breaking updates can come any day.
Yes, it was more than three years since Slackware 15.0 was released (2022-02-03), but it is still a supported version of Slackware which gets security updates and bug fixes. However, if you want to run Slackware
15.0 on some newer hardware you might need to replace the longterm 5.15 kernel.
On Fri, 31 Oct 2025 19:32:21 +0000, Lew Pitcher wrote:
Then I revised my /etc/ld.so.conf to place
/usr/local/lib64
ahead of
/usr/lib64
and reran ldconfig.
Yes, that seems like the best solution to me. Now, all you need to think about is to be careful not to install any dynamic libraries in /usr/local/ lib64 which you do _not_ want to allways be used instead of any libraries
in /usr/lib64.
If you want to install some software with its own dynamic libraries that
you don't want to be used by other software you can instead install that software below /opt and make a script in /usr/local/bin which sets the environment variable LD_LIBRARY_PATH before calling the binary.
Some software, especially non open source software tend to ship with
their own dynamic libraries which might mess things up for other programs.
Another, more intrusive, solution might be to consider upgrading to Slackware 15.0. As security updates Slackware 15.0 got cups version
2.4.14 12/9 2025 and cups-filter 1.28.17 1/10 2024. Before any switch to
the 1.28.17 package (or build script) from Slackware 15.0 you might want
to consider the pros and cons of:
-8<-------------------------------------- patches/packages/cups-filters-1.28.17-x86_64-2_slack15.0.txz: Rebuilt.
Mitigate security issue that could lead to a denial of service or
the execution of arbitrary code.
Rebuilt with --with-browseremoteprotocols=none to disable incoming
connections, since this daemon has been shown to be insecure. If you
actually use cups-browsed, be sure to install the new
/etc/cups/cups-browsed.conf.new containing this line:
BrowseRemoteProtocols none
For more information, see:
https://www.cve.org/CVERecord?id=CVE-2024-47176
(* Security fix *)
-8<--------------------------------------
And, when I downloaded the cups-filters source from Openprinting.org
they only offered 1.28.16 and a version they called "1.20251004"
(which seemed, shall we say, "experimental" to me).
I'll check Openprinting.org again, to see what they have released
now (perhaps PV used the 1.20251004 release as 1.28.17).
On Sun, 02 Nov 2025 09:36:16 +1000, noel wrote:
Anyone at this point contemplating an OS upgrade, should be looking at
-current and not a near three year old release
Anyone willing to be a long term beta tester should consider current for
non critical machines which you do not depend upon too much.
The fact that Lew is still sticking to 14.2 indicates a fear that an
upgrade would break something important. On current there is a risk that breaking updates can come any day.
Yes, it was more than three years since Slackware 15.0 was released (2022-02-03), but it is still a supported version of Slackware which
gets security updates and bug fixes.
being supported and being "current" (eg: libs wise) are two entirely different things.
I'm in the process of upgrading my Slackware 14.2 CUPS service in
order to accommodate my system's new "IPP Everywhere" printer (a
Brother MFC-L8610cdw colour laser printer). As is my standard, I
install self-compiled programs and libraries under the /usr/local
tree, so as to distinguish them from the Slackware provided programs
and libraries found elsewhere, and I did so for this new version of
CUPS. ...
....
I built these in a "clean room" install of Slackware 14.2 running
under LXC on my development box, and (after some back and forth with ./configure settings) I managed to get the laser printer to work with
this new version of Cups. However, when I installed these upgrades
(packaged as locally-built Slackware packages), my (hardware)
Slackware 14.2 system would not print, complaining of a cups "filter failure".
It turns out that the Slackware aaa_elflibs package includes two
libraries that the Cups package also supplies (/usr/lib64/libcups.so.2
and /usr/lib64/libcupsimage.so.2), which (as they had regestered in ld.so.conf ahead of my new libraries) interfered with the proper
execution of the new filters.
I temporarily worked around this by softlinking those two libraries
to my new libraries in /usr/local/lib64, and managed to properly print
to the new printer. ...
considered stable by upstream providers, but the newer versions might
not be backwards compatible with all the configuration files that you
have.
An example of an upstream provider with rather short release cycles is
samba.
Slackware 15.0 shiped with samba version 4.15.5 which back then was the current stable release of samba. A little more than a month later the
4.15 series of Samba went from "latest stable" to "maintenance mode". 2022-09-13 the 4.15 series of samba went to "security fixes only" and 2023-03-08 the 4.15 series was EOL.
It seems as if the 4.18 series of samba was rather backwards compatible
with 4.15 as it was provided as patches to Slackware 15.0, but the 4.22 series of samba has instead been provided in /extra for Slackware 15.0.
Was it because of some library requirement from PCI DSS that you had to upgrade to current?
On our internal file server I'm running # smbd -V Version 4.22.6
ls -la /etc/samba/smb.conf -rw-r--r-- 1 root root 7118 Dec 10 2020 /etc/samba/smb.conf
IOW, our config is 5 years last time it was edited, and I'm sure that
was just adding s share so the config used here was probably written
quite some time before that with no changes (YMMV as I recall a recent incompatability change if using active directory).
and dont get started on php, which is what sparked the audit
and dont get started on php, which is what sparked the audit
Ouch, php is a beast of its own when it comes to introducing non
backwards compatible changes. "LAMP" used to be a de facto standard
when it comes to web servers, where "LAMP" stands for Linux, Apache,
MySQL/ MariaDB and PHP. And what did PHP do a few years back? They
completely rewrote their interface to MySQL/MariaDB in a non backwards compatible way meaning that anyone who had written a solution for LAMP
needed to rewrite his PHP code.
On Fri, 07 Nov 2025 06:36:05 +0000, Henrik Carlqvist wrote:
Ouch, php is a beast of its own when it comes to introducing non
backwards compatible changes. "LAMP" used to be a de facto standard
when it comes to web servers, where "LAMP" stands for Linux, Apache,
MySQL/ MariaDB and PHP. And what did PHP do a few years back? They
completely rewrote their interface to MySQL/MariaDB in a non backwards
compatible way meaning that anyone who had written a solution for LAMP
needed to rewrite his PHP code.
I assume you mean mysql to mysqli ?
That had been coming for years, they warned it was deprecated and to be removed, they just took so long that programmers saw they didn't need
to "rush" - until they did when they actually finally removed it
No matter which timeframe, the fact still remains that every single LAMP implementation out there needed to be rewritten when it would have been
possible to keep a backwards compatible layer or rewrite the API by only adding functionality without removing any old functinality.
I was once very enthusiastic about php, but has since then regretted
that I did choose to implement a few projects in php.
for me to stay away from python, and at least
You cant start to rewrite after several YEARS of warnings?
Are you suggeting EVERY single bit of code out there work forever until
the universe implodes in the next ice age?
Because thats what I see you saying, changes happen all the time in all software nix or win.
Do you have any such example of a backwards breaking compatibility API
change in any C function described by a man page where the "conforming
to" section refers to some posix standard?
Henrik Carlqvist writes:
Do you have any such example of a backwards breaking compatibility API
change in any C function described by a man page where the "conforming
to" section refers to some posix standard?
Certainly: putenv().
It changed behavior from POSIX.1-2001 to POSIX.1-2008
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (1 / 5) |
| Uptime: | 20:59:38 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
6 files (8,794K bytes) |
| Messages: | 185,811 |
| Posted today: | 1 |