• lazarus-ide odd library error: PPC64_ADDR16_HI reloc at 0x0000000010303

    From Ken Cunningham@21:1/5 to All on Thu Dec 9 04:10:01 2021
    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

    <div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I&#39;m hoping for some ideas from those who have been around a while.<br><br></div>I use lazarus sometimes, and I installed it on powerpc-32bit
    debian 11, and saw this error:<br><br>startlazarus: error while loading shared libraries: R_PPC64_ADDR16_HI reloc at 0x0000000010303aea for symbol `gtk_marshal_VOID__POINTER_POINTER&#39; out of range<br><br></div><div>I rebuilt lazarus from source on
    that 32bit powerpc system, and it works fine now, that error is not seen.<br><br></div><div>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:<br><br><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1812805">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1812805</a><br></div><div>and here:<br><
    a href="https://github.com/golang/go/issues/18044">https://github.com/golang/go/issues/18044</a><br><br></div><div>and they suggested this:<br><br>LD_DEBUG=all startlazarus<br><br></div><div>which leads to the same error with more detail:<br><br>    
    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&#39; [GLIBC_2.3]<br>      1883:    <br>      1883:    relocation processing: startlazarus<
          1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=startlazarus [0]<br>      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libdl.so.2 [0]<br>      1883:   
    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libpthread.so.0 [0]<br>      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libgdk-x11-2.0.so.0 [0]<br>     
    1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libX11.so.6 [0]<br>      1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libgdk_pixbuf-2.0.so.0 [0]<br> Â
     Â Â Â  1883:    symbol=gtk_marshal_VOID__POINTER_POINTER;  lookup in file=/lib/powerpc64-linux-gnu/libgtk-x11-2.0.so.0 [0]<br>      1883:    binding file startlazarus [0] to /lib/powerpc64-linux-gnu/libgtk-x11-2.0.so.0 [0]: normal symbol `
    gtk_marshal_VOID__POINTER_POINTER&#39;<br>startlazarus: error while loading shared libraries: R_PPC64_ADDR16_HI reloc at 0x0000000010303aea for symbol `gtk_marshal_VOID__POINTER_POINTER&#39; out of range<br><br><br></div><div>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?<br><br></div><div>I&#39;m not
    100% sure where to open a bug report just yet.<br><br></div><div>The lazarus file containing the error seems to be this one:<br><br><a href="https://fossies.org/linux/lazarus/lcl/interfaces/gtk2/gtk2winapiwindow.pp">https://fossies.org/linux/lazarus/lcl/
    interfaces/gtk2/gtk2winapiwindow.pp</a><br><br>and specifically here:<br>  145 ////////////////////////////////////////////////////<br>  146 // TEMP solution until gtkmarshal.inc is implemented<br>  147 //      to get this compiled<br>  148 /////
    ///////////////////////////////////////////////                                                                            <br>  149 procedure gtk_marshal_VOID__POINTER_POINTER (
    closure: PGClosure; <br>  150                                              return_value: PGValue;<br>  151                                              n_param_
    values: guint;<br>  152                                              param_values: PGValue;<br>  153                                              invocation_hint:
    gpointer;<br>  154                                              marshal_data: gpointer); cdecl; external gtklib;<br><br><br></div><div>Thanks for your interest.<br><br></div><div>Ken<br></div><div><br></div></
    </div></div></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)