Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Mar 2001 22:20:25 -0800
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        FreeBSD-current@freebsd.org
Subject:   third party shared library and ldconfig
Message-ID:  <20010331222025.A56763@troutmask.apl.washington.edu>

next in thread | raw e-mail | index | archive | help
I recently installed NAGWare's Fortran 95 compiler, 
and it installed its shared libraries into
/usr/local/lib/NAGWare.  To get the compiler to work,
I of course needed to use "ldconfig -m".  When I rebooted
the system, I found that the ldconfig portion of /etc/rc
does not recurse into subdirectories of /usr/local/lib
(which is probably a Good Thing), so I had to manually
run "ldconfig -m" to add /usr/local/lib/NAGWare.

There appear to be several options:

 (1) Upon booting run "ldconfig -m".  This could be done
     either manually by root or perhaps from rc.local.

 (2) Move the NAGWare shared libraries up one directory
     into /usr/local/lib.  This is simple, but would make
     updating third party software more difficult because
     of possible stale libraries.

 (3) Edit /etc/rc to explicitly include /usr/local/lib/NAGWare
     This becomes an annoyance when running mergemaster.
     It also isn't a general solution for other third party
     software installations.

 (4) Tell all users on the system to add the directory to 
     a LD_LIBRARY_PATH variable.

 (5) Add another knob to rc.conf.  A possible solution to
     the third party software problem introduces the
     extra_ldconfig_paths to /etc/rc.conf and apply this
     diff to /etc/rc

--- rc.orig     Sat Mar 31 21:35:03 2001
+++ rc  Sat Mar 31 22:14:40 2001
@@ -544,6 +544,11 @@
                                _LDC="${_LDC} ${i}"
                        fi
                done
+               for i in ${extra_ldconfig_paths}; do
+                       if [ -d "${i}" ]; then
+                               _LDC="${_LDC} ${i}"
+                       fi
+               done
                echo 'ELF ldconfig path:' ${_LDC}
                ${ldconfig} -elf ${_LDC}
                ;;

-- 
Steve

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010331222025.A56763>