LCDproc development and user support list

Text archives Help


[Lcdproc] OpenBSD glcd (Cannot load specified object)


Chronological Thread 
  • From: harald at ccbib.org (Harald Geyer)
  • Subject: [Lcdproc] OpenBSD glcd (Cannot load specified object)
  • Date: Mon, 22 Feb 2016 17:34:27 +0100

Brendan Horan writes:
> Sorry for the top post. Digging at this a little more.. Running with the
> following syntax "LD_DEBUG=1 server/LCDd -r5 -f -c LCDd.conf"
>
> I see the following error! :
> ----------------------------------------------------------------------
> loading: libpthread.so.19.0 required by
> /usr/local/lib/libusb.so.10.0 flags /usr/lib/libpthread.so.19.0
> = 0x68 dlopen: failed to open libpthread.so.19.0
> ----------------------------------------------------------------------
>
> AHA! but the file is shared object is present :
> ----------------------------------------------------------------------
> # file /usr/lib/libpthread.so.19.0 /usr/lib/libpthread.so.19.0:
> ELF 64-bit LSB shared object, x86-64, version 1
> ----------------------------------------------------------------------

Yes, according to the ktrace you provided, dlopen reads libpthread
successfully and whatever goes wrong is not visible at the syscall level ...

> Lets try a preload...
> ----------------------------------------------------------------------
> # LD_PRELOAD=/usr/lib/libpthread.so server/LCDd -r5 -f -c LCDd.conf
> <SNIP> Server running in foreground Listening for queries on
> 127.0.0.1:13666 screenlist_init() driver_load(name="glcd",
> filename="server/drivers/glcd.so") glcd_init() glcd: using
> ConnectionType: glcd2usb glcd/glcd2usb: no GLCD2USB device found Driver
> [glcd] init failed, return code -1 Module server/drivers/glcd.so
> could not be loaded Could not load driver glcd There is no
> output driver Critical error while initializing, abort.
> ----------------------------------------------------------------------

Interessting.

> That looks a lot better! I will re-attach the LCD to the machine
> later today. I will then test again. I am unsure of the correct way
> to fix this. I assume the linker section or Makefile details for the
> "drivers" section needs to be edited somehow to force it to include the
> "libpthread.so" ?

dlopen() is a nightmare - every libc implements it a bit differently and
everything except for the most basic use cases is not working portably.

At this point the only approach I can think of is
* get debugging symbols for your libc
* step with the debugger through dlopen() to see where it fails

However that's only the easy part. The hard part probably will be
figuring out who is wrong and where to report the bug. :(

Sorry I can't be of more help.
Harald

--
If you want to support my work:
see http://friends.ccbib.org/harald/supporting/
or donate via peercoin to P98LRdhit3gZbHDBe7ta5jtXrMJUms4p7w
or bitcoin 1FUtd8T9jRN1rFz63vZz7s2fDtB6d6A7aS




Archive powered by MHonArc 2.6.18.

Top of page