JanWielemaker / rserve_client

SWI-Prolog/SWISH client for Rserve
2 stars 2 forks source link

loading twice foreign library gives error #6

Closed friguzzi closed 5 years ago

friguzzi commented 5 years ago

Makes swish not working with R (error while loadin lib r/r_serve)

rzf@cpr:~/swish$ swipl Welcome to SWI-Prolog (threaded, 64 bits, version 7.7.20-63-g9d33c3f81) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- use_foreign_library(foreign(rserve)). true.

?- use_foreign_library(foreign(rserve)). ERROR: Initialization goal shlib:load_foreign_library(user:foreign(rserve)) rais ed exception: ERROR: No install function in '/home/rzf/lib/swipl/pack/rserve_client/lib/x86_64 -linux/rserve.so' ERROR: Tried: [install_rserve,install] true.

friguzzi commented 5 years ago

this is the error with swish rzf@cpr:~/swish$ swipl run.pl % Updating GIT version stamps in the background. ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_serve.pl:59: /home/rzf/swish/pack/rserve_client/prolog/r/r_serve.pl:59: Initialization goal raised exception: '$open_shared_object'/3: rserve: cannot open shared object file: No such file or directory ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_server_shutdown/1 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_server_source/2 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_server_eval/2 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_remove_file/2 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_read_file/3 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_eval/3 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_login/3 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_close/1 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_open/2 is not defined ERROR: /home/rzf/swish/pack/rserve_client/prolog/r/r_call.pl:48: Exported procedure rserve:r_eval/2 is not defined % Started server at http://localhost:3050/

friguzzi commented 5 years ago

Solved, the problem was that rserve_client in the pack subfolder of swish was missing the library. I gave the command swish$ make packs but it was not rebuilding the pack of swish

JanWielemaker commented 5 years ago

Seems something is messed up in your installation. Works fine here and on the public swish (which runs a recently built version). It is a bit hard to see what as I don't know what you build how and on which system. See whether you can really find the file. Use (Linux) ldd to see whether the .so file dependencies can be found, etc.