LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 07-12-2013, 01:32 AM   #1
ratman1
Member
 
Registered: Oct 2009
Location: Perth, Australia
Distribution: Slackware64 14.0
Posts: 44

Rep: Reputation: Disabled
System not recognizing source-built applications (slackware64 14.0)


Hi

I have a couple of questions regarding building applications from source.

Take, for example, the compositor Compton. I recently set up Compton as a replacement for the default compositor in Xfce in the hope that I would get tear-free graphics (which, by the way, is exactly what I got!). Compton said it needed libconfig as a dependency in order to compile.

I initially tried downloading the source for libconfig and compiling/installing as usual, using
Code:
$ ./configure
$ make
# make install
However, Compton still wouldn't build, claiming it couldn't find libconfig. However I had just installed it! I ended up downloading a libconfig slackware package (.txz) from the slacky distribution mirrors and installing that with "installpkg", which allowed compton to compile successfully.

This tells me that my Slackware system is not "detecting" source-built applications.

To build Compton, I ran "make" and "make install" (configuration was not necessary), and Compton installed successfully, working perfectly fine. However, I noticed that running "slackpkg clean-system" returned libconfig but not Compton as unneeded packages. This further tells me that when I installed libconfig via a Slackware package it was "detected" by the system, but installing Compton from source left it "ucompton compositorndetected".

Is this behaviour normal? Why was Compton only able to compile when I installed libconfig via a .txz package and not through "make install". And why was Compton not detected as obsolete by slackpkg when libconfig was?

Thanks for any responses,
James
 
Old 07-12-2013, 02:11 AM   #2
Ser Olmy
Senior Member
 
Registered: Jan 2012
Distribution: Slackware
Posts: 3,339

Rep: Reputation: Disabled
Quote:
Originally Posted by ratman1 View Post
This tells me that my Slackware system is not "detecting" source-built applications.
Or, more likely, that the components were installed to the wrong directory. My guess is that the libraries ended up in /lib or /usr/lib rather than (/usr)/lib64.

No distribution "detects" files that are just copied into various directories, which is what happens when you run make install. The package maintenance tools, however, keep track of installed packages and their files in a database.

Quote:
Originally Posted by ratman1 View Post
To build Compton, I ran "make" and "make install" (configuration was not necessary), and Compton installed successfully, working perfectly fine. However, I noticed that running "slackpkg clean-system" returned libconfig but not Compton as unneeded packages. This further tells me that when I installed libconfig via a Slackware package it was "detected" by the system, but installing Compton from source left it "ucompton compositorndetected".

Is this behaviour normal? Why was Compton only able to compile when I installed libconfig via a .txz package and not through "make install". And why was Compton not detected as obsolete by slackpkg when libconfig was?
When you compiled libconfig from source, you used the default settings. The default directory for libraries is usually /usr/lib or /usr/local/lib. However, as you're using a 64-bit distribution, the correct subdirectory for libraries is lib64.

When you built a Compton package using the slackbuild script, two things happened:
  1. the slackbuild script ran the ./configure command with the correct --libdir parameter, meaning the library files ended up in a lib64 subdirectory as they should
  2. the resulting package could be installed with the package tools, meaning the installation was "recorded" in the package database
As a result, slackpkg "knew" about Compton, but not libconfig. Had you used a slackbuild script to build libconfig and then installed the package, slackpkg would have "seen" both.

The behaviour you've seen is perfectly normal and expected. Problems related to installing from source code can be avoided entirely by using package building scripts (like the slackbuild scripts for Slackware), or if such a script is not available for the software in question, by running ./configure with the appropriate options for your distribution.
 
  


Reply

Tags
build, compile, install, slackware, source



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
[SOLVED] I can't compile GTK+2 applications on Slackware64-14.0 arcctgx Slackware 6 06-12-2013 04:46 PM
[SOLVED] Can not run applications under slackware64 13.1 lomex5 Slackware 4 09-24-2010 11:47 PM
Slackware64 -current: Self-built Audacity displays garbled waveforms slackfriend Slackware 1 05-17-2010 03:38 PM
How Linux applications are built? dor Programming 7 03-31-2010 03:47 AM
applications built on redhat 5 tbucken Red Hat 10 12-22-2008 02:57 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

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