0

I have ported a 32-bit Motif application (from SLES 10 SP1) to 64-bit SLES 12 SP3. Because of proprietary libraries (XRT) I have been forced to compile on a 32-bit platform (SLES 11 SP3) and link Motif statically (XRT was already statically linked). This works fine.

I then tried to run the exact same binaries on SLES 12 SP4, and this also works except that .xbm files are not rendered. See below for example images with (SLES 12 SP3) and without (SLES 12 SP4) the .xbm file rendered:

.xbm file rendered .xbm file NOT rendered

The error I get is:

Warning: Cannot convert string "range30Km32.xbm" to type Pixmap
Warning: Type conversion failed

The relevant code looks like this:

#define RES_CONVERT( res_name, res_value) \
    XtVaTypedArg, (res_name), XmRString, (res_value), strlen(res_value) + 1

XtVaSetValues(MwRscRange30LBL,
        RES_CONVERT( XmNlabelPixmap, "range30Km32.xbm" ),
        NULL );

What I have done so far without success is:

  1. Compared the difference between SLES 12 SP3 and SP4 of relevant libraries.
  2. Link statically all possible libraries (some libraries don't have static variants).
  3. Inspect the source code for X11/Xt/Xm. (This part of the interaction between Xm and Xt is particularly painful to wrap my head around.)

Any ideas?

FrodeTennebo
  • 531
  • 3
  • 13
  • This could indeed be a 32bit vs 64bit issue. We had similar issues with out Motif code when going to 64 bit platforms. – Marc Balmer Mar 26 '20 at 11:10
  • @MarcBalmer But it's working on SLES 12 SP3, which is also 64 bit. – FrodeTennebo Mar 26 '20 at 12:08
  • I think the question is not why it does not work now, but why did it work before. XmNlabelPixmap expects a Pixmap, not a character string. – PaulB Mar 30 '20 at 17:59
  • @PaulB You are of course absolutely correct! Thank you! This particular code is auto-generated (by UIM/X) and I did not stop to consider that something was incorrect here. But indeed, why did it work before...? I would have expected the same behaviour with the amount of static linkage I have been trying. – FrodeTennebo Mar 31 '20 at 12:22

0 Answers0