Opened 15 years ago

Closed 10 years ago

#19913 closed defect (worksforme)

Guile cannot found lib libguilereadline-v-17

Reported by: stephane.chomat@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: guile realine libguilereadline-v-17 Cc: stephane.chomat@…, markus.falb@…, cooljeanius (Eric Gallager)
Port: guile

Description

I want to use readline (use-modules (ice-9 readline)). It's work in linux system.

I have this back trace when i write this command in .guile file

Backtrace:
In unknown file:
   ?: 14* (if (or # #) (try-load-module name))
   ?: 15  [try-load-module (ice-9 readline)]
   ?: 16  (or (begin (try-module-linked name)) (try-module-autoload name) ...)
   ?: 17* [try-module-autoload (ice-9 readline)]
   ?: 18  (let* (# # # #) (resolve-module dir-hint-module-name #f) (and # #))
    ...
   ?: 19  (letrec ((load-file #)) (dynamic-wind (lambda () #) (lambda () #) ...) ...)
   ?: 20* [dynamic-wind #<procedure #f ()> #<procedure #f ()> #<procedure #f ()>]
   ?: 21* [#<procedure #f ()>]
   ?: 22* (let* ((file #)) (cond (# => #) (# => #)))
   ?: 23  [#<procedure #f (full)> "/opt/local/share/guile/1.8/ice-9/readline.scm"]
    ...
   ?: 24  [with-fluid* #<fluid 7> #f #<procedure #f ()>]
   ?: 25* [#<procedure #f ()>]
   ?: 26* [load-file #<primitive-procedure primitive-load> ...]
   ?: 27* [save-module-excursion #<procedure #f ()>]
   ?: 28  (let (# #) (dynamic-wind # thunk #))
   ?: 29  [dynamic-wind #<procedure #f ()> #<procedure #f ()> #<procedure #f ()>]
   ?: 30* [#<procedure #f ()>]
   ?: 31* [primitive-load "/opt/local/share/guile/1.8/ice-9/readline.scm"]
In /opt/local/share/guile/1.8/ice-9/readline.scm:
  38: 32* (if (not #) (load-extension "libguilereadline-v-17" "scm_init_readline"))
  39: 33  [load-extension "libguilereadline-v-17" "scm_init_readline"]

/opt/local/share/guile/1.8/ice-9/readline.scm:39:5: In procedure dynamic-link in expression (load-extension "libguilereadline-v-17" "scm_init_readline"):
/opt/local/share/guile/1.8/ice-9/readline.scm:39:5: file: "libguilereadline-v-17", message: "file not found"

Lib libguilereadline-v-17 exists in :

 ls /opt/local/lib/libguilereadline-v-17.
libguilereadline-v-17.17.dylib  libguilereadline-v-17.dylib
libguilereadline-v-17.a         libguilereadline-v-17.la
guile> (use-modules (ice-9 readline))
ERROR: In procedure dynamic-link:
ERROR: file: "libguilereadline-v-17", message: "file not found"
ABORT: (misc-error)

Change History (7)

comment:1 Changed 15 years ago by stephane.chomat@…

Cc: stephane.chomat@… added

Cc Me!

comment:2 Changed 15 years ago by blb@…

It may be an interaction between guile and libltdl; if you try

$ env LTDL_LIBRARY_PATH=/opt/local/lib guile

Then try your use-modules, if it works, then we need to figure out how to get guile/libltdl to always look there (there are several ports, gnucash being one, which have a wrapper script to set this environment variable at the moment).

comment:3 Changed 15 years ago by stephane.chomat@…

ok, it's working.

comment:4 Changed 15 years ago by joel@…

Seems like an appropriate rpath during linking might help?

I had a brief look at trying to add an rpath to guile compilation (-Wl,rpath,/opt/local/lib), but it didn't seem to help. Since there is mention of it being a libtldl issue perhaps it needs to be given the rpath?

comment:5 Changed 15 years ago by markus.falb@…

Cc: markus.falb@… added

Cc Me!

comment:6 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: worksforme
Status: newclosed

Really old, likely fixed. Please reopen if you have issues.

Note: See TracTickets for help on using tickets.