automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to install library in a specific directory?


From: John Calcote
Subject: Re: how to install library in a specific directory?
Date: Thu, 23 Jul 2009 13:31:56 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20090223 Thunderbird/3.0b2

On 7/23/2009 4:28 AM, A117 wrote:
Why don't I need to run ldconfig manually after installing other official softwares, like osip2? I 
tried "ldconfig -p" and saw the library was aware of, i.e., listed, before running 
"ldconfig". But linkage could not find the library then.

Linux distro installers execute ldconfig for you. If you look carefully, you'll see that the last stage of installing software (either new or updated) is to run ldconfig. On my Opensuse 11.1 Linux installation, when I install new software packages from within YaST, I can see ldconfig's output just before the installation process completes. If you use RPM manually, you may have to run ldconfig yourself after installing packages in order to pick up the changes immediately.

And can I ask another question? I want to build some source code files into 
this library and need to distribute some other files, too. But EXTRA_DIST in 
Makefile.am does not work as below,
lib_LTLIBRARIES = libezcommon.la
...
libezcommon_la_SOURCES = ezcommon.cpp tinystr.cpp ...
EXTRA_DIST = tinyxml.txt ezcommon.rc ...

If I write only one file in libezcommon_la_SOURCES, while adding others to 
EXTRA_DIST and others' .o to libezcommon_la_LIBADD, it works. I don't know why.

I'm sorry, I don't understand the question. Are you trying to generate sources, or optional build some sources? Perhaps a bit more context on the problem...

Thanks for your patience.

----- -----
On 7/22/2009 9:15 PM, A117 wrote:
Thank you. I've decided to put the library in /usr/local/lib, while its header 
files in /usr/local/include/ezproject.
It's strange though /usr/local/lib is in /etc/ld.so.conf (actually in another 
file it includes), and I can build other programs acting much as mine, I have 
difficulty with mine only. I run ldconfig manually and then it works. Now I'm 
releasing my software.

ldconfig updates the library cache. the /etc/ld.so.conf file is the file
used by ldconfig to determine which directories to scan for libraries.
When you add a new library to one of the directories in /etc/ld.so.conf,
then you need to run ldconfig to ensure that the cache is aware of that
new library.

John






reply via email to

[Prev in Thread] Current Thread [Next in Thread]