Information about loader and ldconfig

2006-12-31 Thread Rob Hurle
	In diagnosing problems after a recent install of refdb and 
mysql on my Freebsd 6.1 release system, I came across the directory:

/usr/local/libdata/ldconfig
 which contains files with names like mysql.  Each of these files 
contains just one line, which is a path to library modules (e.g. 
/usr/local/lib/mysql) for that program.  Other programs (e.g. 
mozilla) also have library modules in their own subdirectory in 
/usr/local/lib, but do not seem to need any files in the ldconfig 
directory.


	My query is why is this?  Is it to do with shared library 
modules?  Why not put entries for all of the subdirectories from 
/usr/local/lib in the ldconfig directory?


	Just seeking information, but others may be interested to note 
that I had to put an entry for the dbd subdirectory into the 
ldconfig directory when installing refdb.  Thank you all.


Cheers,

Rob Hurle
-
Rob Hurle   Faculty of Asian Studies, ANU
Home address and contacts:   Tel: +61 2 6247 2397
  PO Box 4013Fax: +61 2 6247 2397
  AinslieCell phone: 0417 293 603
  Australia e-mail: [EMAIL PROTECTED]
-
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Information about loader and ldconfig

2006-12-31 Thread Dan Nelson
In the last episode (Jan 01), Rob Hurle said:
 In diagnosing problems after a recent install of refdb and 
 mysql on my Freebsd 6.1 release system, I came across the directory:

 /usr/local/libdata/ldconfig

 which contains files with names like mysql.  Each of these files
 contains just one line, which is a path to library modules (e.g.
 /usr/local/lib/mysql) for that program.  Other programs (e.g. 
 mozilla) also have library modules in their own subdirectory in
 /usr/local/lib, but do not seem to need any files in the ldconfig 
 directory.
 
 My query is why is this?  Is it to do with shared library modules? 
 Why not put entries for all of the subdirectories from
 /usr/local/lib in the ldconfig directory?

The /etc/rc.d/ldconfig ends up reading the contents of the files in
that directory to build the /var/run/ld-elf.so.hints file.  It's a lot
more efficient for the few ports that put their libraries in
nonstandard locations to create /usr/local/libdata/ldconfig files
rather than have /etc/rc.d/ldconfig have to scan all the subdirectories
in /usr/local/lib.  My system, for example, has 1500, wiuth the worst
offender being perl5.  Most of those subdirectories don't need to be
listed in ldconfig since they are directly opened via the dlopen()
function and an absolute path.

 Just seeking information, but others may be interested to note that I
 had to put an entry for the dbd subdirectory into the ldconfig
 directory when installing refdb.  Thank you all.

Sounds like the databases/libdbi-drivers port needs to add a

USE_LDCONFIG=   ${PREFIX}/lib/dbd

line to its port Makefile.

-- 
Dan Nelson
[EMAIL PROTECTED]
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]