Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can't find libmonoboehm-2.0.so.1 #18

Open
agricolamz opened this issue Nov 21, 2019 · 8 comments
Open

can't find libmonoboehm-2.0.so.1 #18

agricolamz opened this issue Nov 21, 2019 · 8 comments
Labels

Comments

@agricolamz
Copy link

Hi,

when I press select Converter I get an error:

Library error: libmonoboehm-2.0.so.1: cannot open shared object file: No such file or directory.

Looks like it didn't find a path to my libmonoboehm-2.0.so.1, but I have it on my PC:

$ locate libmonoboehm-2.0.so.1
/opt/mono-sil/lib/libmonoboehm-2.0.so.1
/opt/mono-sil/lib/libmonoboehm-2.0.so.1.0.0
/usr/lib/debug/opt/mono-sil/lib/libmonoboehm-2.0.so.1.0.0

What should I do?

  • Linux 5.3
  • LibreOffice Version: 6.3.1.2
  • Linguistics Tools 3.9.2
  • SIL FLEx 8.3
  • Python library lxml is installed
@jkornelsen
Copy link
Collaborator

jkornelsen commented Nov 22, 2019

Well, I installed Flex 8.3 and got the same error. So to tell it where to find the libraries, I did the following:

  1. Edit /etc/ld.so.conf.d/encConverters.conf
  2. Add this line: /opt/mono-sil/lib
  3. Run ldconfig -v as root

However now that it knows where the mono libraries are, it is just crashing for me.

The encoding converters do work in Flex (Bulk Edit Entries). For LibreOffice, the library /usr/lib/fieldworks/libecdriver_64.so embeds mono to call the converters. The ECDriver has not been tested with libmono-2.0 or 64-bit as far as I know. I originally got the code to work with libmono-1.4 or something like that.

@jkornelsen
Copy link
Collaborator

Okay, it seems that libecdriver_64.so is not the problem after all. The following calls successfully opened the converter interface:

export MONO_TRACE_LISTENER=Console.Out
python3
from ctypes import *
mylib = cdll.LoadLibrary("/usr/lib/fieldworks/libecdriver_64.so")
funcSelectConverter = mylib.EncConverterSelectConverter
bufConverterName = create_string_buffer(1024)
c_directionFw = c_bool(False)
c_normForm = c_ushort(0)
funcSelectConverter (bufConverterName, byref(c_directionFw), byref(c_normForm))

The next thing to do is determine why these calls worked from the command line but not from LibreOffice.

@agricolamz
Copy link
Author

agricolamz commented Nov 23, 2019

Hi, sorry for the late answer. I tried everything you've wrote, and it had exactly the same effect, as you've wrote. I tried to test everything (open libreoffice, open converter window, choose converter, crash) via terminal and I get this mistake, may be this error will be informative for youю

$ libreoffice6.3 
ECDriver: Loading Mono and SEC classes.
ECDriver: MONO_PATH=/usr/lib/fieldworks.
ECDriver: MONO_REGISTRY_PATH=/var/lib/fieldworks/registry.
ECDriver: Got assembly /usr/lib/fieldworks/SilEncConverters40.dll.
ECDriver: Got image
ECDriver: Got class handle
ECDriver: Calling EncConverters constructor.
EncConverters: Falling back to assembly folder
ECDriver: Finished calling ECs constructor.
ECDriver: Getting EncConverter class methods.
ECDriver: Got methods.

(soffice:6909): Gtk-ERROR **: 10:03:44.232: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported


Fatal exception: Signal 5
Stack:
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x154a4)[0x7439fed0f4a4]
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x3d2d0)[0x7439fed372d0]
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x3d36b)[0x7439fed3736b]
/lib/x86_64-linux-gnu/libc.so.6[0x366dc3ef20]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0[0x3673c51ea1]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_log_default_handler+0xac)[0x3673c52f3c]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_logv+0x25d)[0x3673c531cd]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_log+0x8f)[0x3673c5333f]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0[0x368012f5b2]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_option_context_parse+0x1e6)[0x3673c58756]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_parse_args+0xa8)[0x368012f848]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_init_check+0x9)[0x368012f8a9]
[0x412ae89f]

Some info:

$ pkg-config --libs gtk+-2.0

-lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype

$ pkg-config --libs gtk+-3.0

-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

With the version 6.3.3.2 is the same.

@jkornelsen
Copy link
Collaborator

GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

If that is the problem then likely it could be fixed by using apt to remove libreoffice-gtk3 and add libreoffice-gtk instead.

@agricolamz
Copy link
Author

I've done it, but the result is the same:

Library error: libmonoboehm-2.0.so.1: cannot open shared object file: No such file or directory. 

@jkornelsen
Copy link
Collaborator

I'm not sure why you're mentioning the "No such file" error now. That problem is circumvented with ldconfig as described in my first comment. But from your other message, it sounds like you had already gotten that part to work. Maybe you forgot and need to do that part again?

@agricolamz
Copy link
Author

Year, sorry, you are right... I'll do it tomorrow!

@agricolamz
Copy link
Author

I've got some new behavior: it closes everything without any message.

agricolamz@agricolamz ~ $ libreoffice6.3 &
[2] 4421
agricolamz@agricolamz ~ $ ECDriver: Loading Mono and SEC classes.
ECDriver: MONO_PATH=/usr/lib/fieldworks.
ECDriver: MONO_REGISTRY_PATH=/var/lib/fieldworks/registry.
ECDriver: Got assembly /usr/lib/fieldworks/SilEncConverters40.dll.
ECDriver: Got image
ECDriver: Got class handle
ECDriver: Calling EncConverters constructor.
EncConverters: Falling back to assembly folder
ECDriver: Finished calling ECs constructor.
ECDriver: Getting EncConverter class methods.
ECDriver: Got methods.

(soffice:4436): Gtk-ERROR **: 10:02:08.266: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported


Fatal exception: Signal 5
Stack:
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x154a4)[0x7c6aadea14a4]
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x3d2d0)[0x7c6aadec92d0]
/opt/libreoffice6.3/program/libuno_sal.so.3(+0x3d36b)[0x7c6aadec936b]
/lib/x86_64-linux-gnu/libc.so.6(+0x3efd0)[0x7c6aadad9fd0]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x51ea1)[0x7c6aaa5f8ea1]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_log_default_handler+0xac)[0x7c6aaa5f9f3c]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_logv+0x252)[0x7c6aaa5fa1c2]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_log+0x8f)[0x7c6aaa5fa31f]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0[0x368012f5b2]
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_option_context_parse+0x1e6)[0x7c6aaa5ff736]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_parse_args+0xa8)[0x368012f848]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_init_check+0x9)[0x368012f8a9]
[0x40d1a00f]
^Q
[2]-  Exit 134                libreoffice6.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants