I'm hoping for some ideas from those who have been around a while.

I use lazarus sometimes, and I installed it on powerpc-32bit debian 11, and
saw this error:

startlazarus: error while loading shared libraries: R_PPC64_ADDR16_HI reloc
at 0x0000000010303aea for symbol `gtk_marshal_VOID__POINTER_POINTER' out of
range

I rebuilt lazarus from source on that 32bit powerpc system, and it works
fine now, that error is not seen.

I installed lazarus on a PowerMac G5 running 64bit debian 11 and saw the
same error. However, rebuilding it did not fix it this time. I am not sure
what that error means, but I found a few references to similar issues in
other software here:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1812805
and here:
https://github.com/golang/go/issues/18044

and they suggested this:

LD_DEBUG=all startlazarus

which leads to the same error with more detail:

     1883:    binding file /lib/powerpc64-linux-gnu/libgtk-x11-2.0.so.0 [0]
to /lib/powerpc64-linux-gnu/libc.so.6 [0]: normal symbol `__cxa_finalize'
[GLIBC_2.3]
      1883:
      1883:    relocation processing: startlazarus
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=startlazarus [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libdl.so.2 [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libpthread.so.0 [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libgdk-x11-2.0.so.0 [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libX11.so.6 [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libgdk_pixbuf-2.0.so.0 [0]
      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in
file=/lib/powerpc64-linux-gnu/libgtk-x11-2.0.so.0 [0]
      1883:    binding file startlazarus [0] to
/lib/powerpc64-linux-gnu/libgtk-x11-2.0.so.0 [0]: normal symbol
`gtk_marshal_VOID__POINTER_POINTER'
startlazarus: error while loading shared libraries: R_PPC64_ADDR16_HI reloc
at 0x0000000010303aea for symbol `gtk_marshal_VOID__POINTER_POINTER' out of
range


so -- is this a linker error from the toolchain, as one of those links
suggested? Or rather something specific to lazarus, and the bug report
belongs there? (if lazarus, unusual that rebuilding fixed it on 32bit). Or
is it a 64 bit thing, rarely seen?

I'm not 100% sure where to open a bug report just yet.

The lazarus file containing the error seems to be this one:

https://fossies.org/linux/lazarus/lcl/interfaces/gtk2/gtk2winapiwindow.pp

and specifically here:
  145 ////////////////////////////////////////////////////
  146 // TEMP solution until gtkmarshal.inc is implemented
  147 //      to get this compiled
  148
////////////////////////////////////////////////////

  149 procedure gtk_marshal_VOID__POINTER_POINTER (closure: PGClosure;
  150                                              return_value: PGValue;
  151                                              n_param_values: guint;
  152                                              param_values: PGValue;
  153                                              invocation_hint:
gpointer;
  154                                              marshal_data: gpointer);
cdecl; external gtklib;


Thanks for your interest.

Ken

Reply via email to