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-17-2020, 01:52 PM   #1
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Rep: Reputation: Disabled
sqlite3


Slack64, 14.2, package sqlite-3.13.0-x86_64-1.txz has usr/lib64/libsqlite3.la

But Slack64-current, package sqlite-3.31.1-x86_64-1.txz doesn't have this file. It's not in any other package either.

I had to upgrade to sqlite-3.31 because I needed the window function support. Just did upgradepkg using the -current package. Everything worked fine.

But later, I tried building something that needed the .la file in the build.

I haven't examined the -current build script but could it be that some build option needed to be invoked to generate the .la file?

Yes, I know I'm lucky it works at all because the -current packages are linked against different versions of various libraries than my 14.2 system. But I'm certain it's the missing libsqlite3.la that was the issue with the other build I was attempting because I copied in the .la file from the old package and the build succeeded. But that's probably not the right answer. Anyway, curious what's going on.

thanks!

M.
 
Old 05-17-2020, 02:02 PM   #2
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Original Poster
Rep: Reputation: Disabled
PS, I should probably mention that the other package I was trying to build was graphviz (v. graphviz-2.40.1), using the slackbuilds.org script.
 
Old 05-17-2020, 02:09 PM   #3
upnort
Senior Member
 
Registered: Oct 2014
Distribution: Slackware
Posts: 1,893

Rep: Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162
Quote:
I haven't examined the -current build script but could it be that some build option needed to be invoked to generate the .la file?
Look in the Current build script for this:

Code:
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
Comment out or delete those lines.
 
2 members found this post helpful.
Old 05-17-2020, 02:19 PM   #4
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Original Poster
Rep: Reputation: Disabled
OK thanks ... should have looked at the script

Just for my education, why wouldn't we want to include the .la files in the package?
 
Old 05-17-2020, 02:38 PM   #5
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,902

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
Quote:
Originally Posted by modim View Post
OK thanks ... should have looked at the script

Just for my education, why wouldn't we want to include the .la files in the package?

It was announced in the Slackware-current change log a while back.

Quote:
+--------------------------+
Thu Apr 19 01:04:06 UTC 2018
Hi folks, and welcome to the third ever Slackware Mass Rebuild (and the
longest ChangeLog entry in project history). There were two primary
motivations for rebuilding everything in the main tree. The first was to
switch to the new C++ ABI. The second was to get rid of all the .la files
in the LD_LIBRARY_PATH. Really, having .la files installed has been mostly
obsolete since things began to use pkg-config instead, but it's not easy
to get rid of them unless you do it all at once. If you just take them out
of one package, any other packages containing .la files that refer to the
removed ones will be broken. We've removed a few here and there before
(and then handled any packages that had referred to them with a rebuild),
but it was time to finally remove all the ones in /lib{,64} and
/usr/lib{,64}. One of the reasons that this really needed to happen is that
many projects are starting to migrate to build systems other than autotools,
and those systems do not generate .la files. So if we didn't get rid of them
now, we might end up in a situation later on where they are being removed
by upstream and then we would have to chase down the dependency breakage and
recompile (possibly many) other packages. The .la files that are outside of
the LD_LIBRARY_PATH were not removed (and shouldn't be) - those ones are
often used by the lt_dlopen() function to load plugins and removing those
ones can break things. But those ones don't cause problems... they aren't
likely to try to infect .la files produced by other packages.
IMPORTANT NOTE: If you have any third party or other packages installed on
your system that don't come with Slackware, and those packages have installed
any .la files, it is very likely that they refer to some .la files which we
have just removed, and that trying to compile against these packages will no
longer work. Luckily, the solution is simple: remove them. This command will
remove any stale .la files from the LD_LIBRARY_PATH:
rm /{,usr/}lib{,64}/*.la
Moving forward, nothing shipped in Slackware will contain any .la files in
those directories, and any SlackBuilds intended to be used with Slackware 15.0
should contain this bit of script:
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
In addition to those goals, the opportunity was taken to clean up slack-desc
files and make many trivial fixes to build scripts. We've also made it easy
to recompile everything again should there be a good reason to do so.
You'll also find various updates scattered throughout this long list.
Enjoy, and sorry about the bandwidth. ;-)
 
1 members found this post helpful.
Old 05-17-2020, 02:41 PM   #6
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Original Poster
Rep: Reputation: Disabled
Well OK then, all is clear.

Thanks again.
M.
 
Old 05-17-2020, 06:13 PM   #7
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 modim View Post
I had to upgrade to sqlite-3.31 because I needed the window function support. Just did upgradepkg using the -current package. Everything worked fine.
This is never a good idea. That sqlite could've been built against specific versions of libraries in -current that don't exist in 14.2. The fact the package actually worked is just luck.

If you ever need to upgrade a package with a version that exists in -current, it is much better to download the source folder for that package and run the SlackBuild, as then it will be compiled against packages on your system. (You may need to comment out the lines that remove the .la files if you pull SlackBuilds from -current.)
 
Old 05-17-2020, 06:20 PM   #8
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Original Poster
Rep: Reputation: Disabled
Yes, I can confirm this - I've had just this sort of bad luck in the past. I guess it's not too late to go back and do it right.

thanks.
Modim
 
Old 05-26-2020, 04:17 PM   #9
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,902

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
Sorry for the slight necro post, but I do not get on LQ as often as I used to.

Quote:
Originally Posted by modim View Post
Yes, I can confirm this - I've had just this sort of bad luck in the past. I guess it's not too late to go back and do it right.

thanks.
Modim
All you need to do is fix the mirror url in your /etc/slackpkg/mirrors to point to the right release (14.2). Assuming slackpkg still works, run

Code:
slackpkg update gpg && slackpkg update
slackpkg install slackware64
That should restore all the packages to 64-14.2 you upgraded using Slackware64-current packages.
 
Old 05-26-2020, 10:04 PM   #10
modim
LQ Newbie
 
Registered: May 2016
Posts: 17

Original Poster
Rep: Reputation: Disabled
Thanks - hadn't thought about the pattern matching feature.

In this case, it was just one package and I didn't want to restore it to 14.2 status since I needed the newer sqlite. I did it as bassmadrigal suggested: rebuilt the package from source on my 14.2 system, using the -current script and source, and commenting out the line that removes the .la file. Then upgradepkg and blacklisted sqlite in /etc/slackpkg/blacklists so it wouldn't try to revert. Seems to be working fine.
 
1 members found this post helpful.
  


Reply

Tags
14.2 64bit, current64, slackare64, sqlite3



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: Install PHP 5.3.0/Lighttpd On Debian (Lenny) With Imap, MySQL, Sqlite3 And Imag LXer Syndicated Linux News 0 07-24-2009 11:00 AM
Cross Compiling Sqlite3 for ARM Issues. AuzJ Linux - Newbie 1 04-23-2009 05:32 PM
How do you explain table in SQLite3? novakane Linux - Software 2 03-11-2009 01:11 PM
php and sqlite3 can select but not insert file is set rw gruessle Programming 2 01-26-2007 05:13 AM
Sqlite3-3.2.1 execution error Aju Linux - Software 2 10-20-2005 09:17 AM

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

All times are GMT -5. The time now is 10:59 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