diff --git a/code/foreign.lisp b/code/foreign.lisp index 4ae9f3796be6fe0e943cbc746ac7577dbfd5caae..e6bafcd93069bb783c21e321616d8981daaf11c4 100644 --- a/code/foreign.lisp +++ b/code/foreign.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/foreign.lisp,v 1.51 2005/06/20 16:22:49 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/foreign.lisp,v 1.52 2005/07/07 14:45:37 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -659,7 +659,9 @@ to skip undefined symbols which don't have an address." (ensure-lisp-table-opened) ; rtld global: so it can find all the symbols previously loaded ; rtld now: that way dlopen will fail if not all symbols are defined. - (let* ((filename (namestring (truename file))) + (let* ((filename (namestring (if (lisp::logical-pathname-p (pathname file)) + (translate-logical-pathname file) + file))) (sap (dlopen filename (logior rtld-now rtld-global)))) (cond ((zerop (sap-int sap)) (let ((err-string (dlerror))