Ruby: Unterschied rvm und Debian-Paket -- C-Interface, shlibs laden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Ruby: Unterschied rvm und Debian-Paket -- C-Interface, shlibs laden

Beitrag von Meillo » 15.07.2021 21:05:26

Hoi,

kennt sich hier jemand naeher mit Ruby aus?

Ich habe eine Ruby-Anwendung die C-Code einbindet. D.h. ich habe in C Libary-Code geschrieben (der z.B. openssl nutzt) aus dem ich mittels extconf.rb eine shared lib baue, die ich dann in Ruby nutze. Soweit so gut.

Das Problem ist, wenn ich das Ruby-Programm starte, dann meckert er wegen undefinierten Bezeichnern. Er kann also in der shlib referenzierte weitere shlibs nicht finden/laden. Wenn ich diese mit uebergebe (dir_config in extconf.rb), dann klappt es.

Nun der interessante Part: Wenn ich nicht das Ruby aus dem Debian-Paket verwende, sondern ein Ruby von rvm, dann geht es auch ohne die Angabe von Suchpfaden.

Aber worin besteht der Unterschied? Warum kann die eine Ruby-Installation das automatisch und die andere nicht? Und was muss ich tun, damit das Debian-Ruby das auch kann?

Waere klasse, wenn mich da jemand erleuchten koennte.
Use ed once in a while!

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Ruby: Unterschied rvm und Debian-Paket -- C-Interface, shlibs laden

Beitrag von paedubucher » 16.07.2021 14:21:06

Verwenden beide Ruby-Installationen das gleiche Verzeichnis für die Gems? Bei mir: $HOME/.gem/ruby/3.0.0/. Evtl. gibt es bei dir Version 2.x und 3.x.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Antworten