Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

General Debian specific compiling questions...

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
jgottlieb12
Posts: 1
Joined: 2005-08-17 21:03

General Debian specific compiling questions...

#1 Post by jgottlieb12 »

Ok, So I'm still a bit of a newbie, but have tried numerous different linux distros. I've settled on Debian. 99% of the time, I can get exactly what I need via apt-get.

My question is, there are times when I need to compile a program with specific options... i.e. ssl support, etc. In these instances, my assumption is that apt-get is no longer an option.

However, it seems that all the apps I try to compile use a different default dir structure than Debian. Little things like the difference between /usr/bin and /usr/local/bin etc... But it tends to cause havoc.

For instance, my current issue is I installed webmin via apt-get. I've been trying to setup various modules as I've been testing ftp servers. Some of these ftp servers have third party modules for webmin available. However NONE of them will compile/install into the webmin dir's that debian uses. They are all expecting different dirs that the standard source build would use.

Most of the ftp servers are also missing key modules by the default apt-get install, so I need to compile them with specific options. So I can't use apt-get. However when I manually build the apps, they don't install in the Debian dirs...

Most apps that I have to manually compile offer a --prefix option that can tell it the eventual install dir.

Is there a document, or some unwritten rule on where Debian installs things compared to a standard distro like Fedora or Mandrake?

Any input would be greatly appreciated.

Thanks,

Joshua

User avatar
dawgie
Posts: 430
Joined: 2004-06-16 21:30
Location: New Hampshire USA

#2 Post by dawgie »

Checkinstall works well for me to create Debian packages.

Install checkinstall package (apt-get install checkinstall)
Then, when you build from source do ./configure, make and checkinstall instead of make install. This will create a deb package that can be removed and upgraded with apt or synaptic.

Harold
Posts: 1482
Joined: 2005-01-07 00:15
Been thanked: 3 times

#3 Post by Harold »

Are you familiar with the # ldconfig command? It needs to be run after you build shared object libraries from source. $ man ldconfig for details on syntax.

"ldconfig is used to generate a hints file that is used by ld.so to locate and link to shared object libraries at run-time. When you compile a program and link it with shared object libraries, the libraries are not included in the executable program, just references to the global data and functions as well as the name of the shared object file that contains them. When you run the program, the ld.so file that is in your executable has a list of shared object libraries that it was linked with. ld.so is responsible for finishing the link operation by resolving these references at run-time to the shared object libraries. If the shared object libraries are not already loaded into memory, they are loaded now. If they are already in memory, they don't need loading. ld.so then resolves variable and function references by updating the Global Offset Table for global variables and the Procedure Linkage Table for functions. It gets the information for updating these tables from the shared object libraries. It finds the shared object libraries by looking in the hints file. The hints file is built by ldconfig."

Joshua> Is there a document, or some unwritten rule on where Debian installs things compared to a standard distro like Fedora or Mandrake?

Harrumph! Bad form, old chap! ;-)
Last edited by Harold on 2005-08-18 16:33, edited 1 time in total.

Guest

#4 Post by Guest »

Dawgie -

I did a little digging on checkinstall. Looks like a good app for tracking the source install, but I think what I'm really trying to determine is how to "Debianize" the source install. I want to make sure that when I grab something from source because I have to compile it with special options, that I can ensure it installs it into all the correct Debian dir structures. Not just track where it goes in the wrong dir's. But actually have it install properly for Debian. I saw some mention of debhelper, dh-make and a few others, but have not had any experience with them...

Harold -

I had a feeling as I was writing the word "standard" I would catch a little hell for it... :) Don't get me wrong, I LOVE Debian. I've used a bunch of different distros and Debian is by FAR my favorite. But I have had problems trying to install source apps in the proper "debian" style. Any input would be great...

Thanks,

Joshua

Post Reply