[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

lazarus-ide odd library error: PPC64_ADDR16_HI reloc at 0x0000000010303aea for symbol `gtk_marshal_VOID__POINTER_POINTER' out of range



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 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 to: