On 2/12/23 17:37, David Sterratt wrote:
On Sat, 2023-02-11 at 18:11 +0300, Ivan Krylov wrote:
On Sat, 11 Feb 2023 11:19:42 +0000
David Sterratt <david.c.sterr...@ed.ac.uk> wrote:

WinDbg output reveals errors loading "NETIO.SYS" and "WINSPOOL.DRV"
when running "library(RGtk2)":

    0c64:0640 @ 44312812 - LdrpProcessWork - ERROR: Unable to load
DLL:
"NETIO.SYS", Parent Module: "C:\Users\David
Sterratt\AppData\Local\R\win-library\4.3\RGtk2\libs\x64\RGtk2.dll",
Status: 0xc0000135
    ...
    0c64:1e5c @ 44312812 - LdrpProcessWork - ERROR: Unable to load
DLL:
"WINSPOOL.DRV", Parent Module: "C:\Users\David
Sterratt\AppData\Local\R\win-library\4.3\RGtk2\libs\x64\RGtk2.dll",
Status: 0xc0000135
The failure to load WINSPOOL.DRV is perplexing (it should normally be
possible to load as it's a system DLL that applications are supposed
to
link against in order to be able to print), but NETIO.SYS should
probably be absent from the import list. At least it seems to be
linked
against some kernel-related stuff that shouldn't be reachable from
userspace applications.

By removing -lnetio from PKG_LIBS, I was able to load the package and
run some example code from the JSS article, but then Rgui.exe crashed
on exit. I'm running R-4.2.2 and Rtools43 on a Windows 7 machine,
which
could also be a source of the difference.
Thank you for looking at this. I tried removing -lnetio, but package
didn't install at all on Windows 10.

For reference, there is an old patch for RGtk2 package that I had created when working on Rtools42, though I am not very optimistic it will help in this case:

https://svn.r-project.org/R-dev-web/trunk/WindowsBuilds/winutf8/ucrt3/r_packages/old_patches/CRAN/RGtk2.diff

I've added gtk2 libraries to Rtools42 as they were needed by a CRAN package (RGtk2) at that time and available in MXE. Now MXE has gtk3, but not gtk4.

If there is a need for gtk4 in a CRAN package, the best way forward would be to contribute gtk4 build configuration to MXE, ideally also after testing it builds as part of Rtools43 (which is a subset of MXE but with some updates not yet upstream). We could then replace gtk2 by gtk4 in Rtools. CRAN servers will then get gtk4 simply via updating Rtools.

This is only what would be needed for Windows. For macOS, gtk4 would have to be added to the recipes. For Linux, the package should work with gtk4 distributions available in main distributions.

If you wanted to use gtk from a package, perhaps it would be easier to try directly, not via the archived RGtk2 package.

Best
Tomas

Does the Dependency Walker <https://dependencywalker.com/> provide
you
any useful information about the package DLL besides what you already
know? (Some warnings deep in the dependency tree are to be expected.
R.DLL is not on the PATH so won't be automatically found, but other
dependencies should exist.)
I looked at the Dependency Walker, but it was giving me many messages
about missing DLLs with names like:

   API-MS-WIN-CORE-STRING-L2-1-0.DLL  Error opening file. The system
cannot find the file specified (2).

These libraries seem to be part of the UCRT system. However, when
looked at the DLL of a package that *did* load in Dependency Walker, I
got the same messages, so I think the path to the UCRT files may be
missing.

Dependency Walker did seem to find:

   c:\windows\system32\WINSPOOL.DRV

For NETIO.SYS it gave the " Error opening file. The system cannot find
the file specified (2)." There was also this table in the output.

      [ ? ] NETIO.SYS

           Import  Ordinal  Hint          Function                Entry
Point
           ------  -------  ------------  ----------------------  ------
-----
           [CE ]       N/A    4 (0x0004)  CancelMibChangeNotify2  Not
Bound
           [CE ]       N/A   79 (0x004F)  GetIpForwardTable2      Not
Bound
           [CE ]       N/A  364 (0x016C)  NotifyRouteChange2      Not
Bound
           [CE ]       N/A  529 (0x0211)  if_nametoindex          Not
Bound

If you're really interested, I can send you the output, but from what
Uwe says, I'm wondering if this is a lost cause!

Best wishes,

David.


--
David Sterratt, Lecturer https://www.ed.ac.uk/profile/sterratt
Institute for Adaptive and Neural Computation     tel: +44 131 651 1739
School of Informatics, University of Edinburgh
Appleton Tower, 11 Crichton Street, Edinburgh EH8 9LE, Scotland
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
BOOK: Principles of Computational Modelling in Neuroscience
Sterratt, Graham, Gillies & Willshaw (CUP, 2011).
http://www.compneuroprinciples.org



The University of Edinburgh is a charitable body, registered in Scotland, with 
registration number SC005336. Is e buidheann carthannais a th’ ann an Oilthigh 
Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to