Faculty of Information Technology
Software Engineering Group

#109 closed defect (fixed)

unable to run on windows xp

Reported by: Bakhtiar Hasmanan Owned by: Jan Vrany
Priority: major Milestone: 8.0.0
Component: default Keywords:
Cc: Also affects CVS HEAD (eXept version): no


st/x: version 6.2.6 b2424
os: winxp sp3
step: invoke cmd, run stx.bat

VM [warning]: could not find/load classLib <libstx_libbasic> (error=0x7f / 127).

FATAL: Failed to load class library "libstx_libbasic"
new: e50020 .. e50020 .. 1050020 surv: 1060020 .. 1260020
old: 509c0000 .. 50a19160 .. 589c0000 cold: 0 .. 0

LIBSTX_LIBBASIC.DLL is calling RegDeleteKeyExW from advapi32.dll which XP only have RegDeleteKeyW.

Attachments (1)

libbasic_fix_1_of_1_rev_12176ee7234c_Issue__109__Call__RegDeleteKeyExW____indirectly_via_function_pointer.patch (4.5 KB) - added by Jan Vrany 17 months ago.
Fix proposal (attempt 1)

Download all attachments as: .zip

Change History (9)

comment:1 Changed 17 months ago by Bakhtiar Hasmanan

note: that's only dll that have issue, once solved stx run happily, but strangely I only able use the native ui if stx run from console, double click from explorer will give old "non-native" ui.

comment:2 Changed 17 months ago by Jan Vrany

Milestone: 8.0.0
Owner: set to Jan Vrany
Status: newaccepted

comment:3 Changed 17 months ago by Jan Vrany

Right, RegDeleteKeyExW() is not available on 32bit Windows XP so linking the library naturally fails. The cuplrit is Win32OperatingSystem.st:15835

To make it working on such an ancient Windows, we have to link RegDeleteKeyExW() on demand manually using LoadLibary() and GetProcAddress()...

note: that's only dll that have issue, once solved stx run happily,

How did you "solve" it? Did you fix the code and recompiled on Windows XP or what?
If you are able to recompile, can you try attached patch and let me know if it works?

The thing is, I don't have any XP machine at hand any more, only Win 7 & Win 10...

comment:4 Changed 17 months ago by Bakhtiar Hasmanan

I don't know how to compile st/x (yet), this is my first time using st/x. I have shims dll (code borrowed from WINE project) that have some vista-compatible API so I just redirect LIBSTX_LIBBASIC.DLL's IAT to that shim dll.

I think the patch is justified for this case. Thank you.

comment:5 Changed 17 months ago by Jan Vrany

I see. I'll upload a custome test build somewhere for you to test before pushing the fix to. However I can't promise I can make it this week. Beginning of next week for sure.

comment:6 Changed 17 months ago by Jan Vrany

OK, could you please try this custom build


Maybe there are more problems like this one. Also, the problem with GUI look should be fixed in this build.

comment:7 Changed 17 months ago by Jan Vrany

A friend confirmed the above build works, so I'll polish the commit, add some tests and push soon.

comment:8 Changed 16 months ago by Bakhtiar Hasmanan

Resolution: fixed
Status: acceptedclosed

Sorry for very late response, it runs now and ui issue also fixed.

Note: See TracTickets for help on using tickets.