R executables ohne longPathAware im Manifest?
R executables ohne longPathAware im Manifest?
Alle file und dir Funktionen, so wie auch basename() scheitern in R unter Windows,
wenn deren Dateinamen mehr als 260 Zeichen lang sind.
Das Problem scheint zu sein, dass trotz in der Registry aktiviertem Support für lange Dateinamen in allen Executables das Manifest dafür nicht entsprechend gepflegt ist.
Dies wäre notwendig:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
<ws2:longPathAware>true</ws2:longPathAware>
</windowsSettings>
</application>
Hat hier jemand Infos dazu, bzw. wer kann veranlassen, das es geändert wird?
Roman
wenn deren Dateinamen mehr als 260 Zeichen lang sind.
Das Problem scheint zu sein, dass trotz in der Registry aktiviertem Support für lange Dateinamen in allen Executables das Manifest dafür nicht entsprechend gepflegt ist.
Dies wäre notwendig:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
<ws2:longPathAware>true</ws2:longPathAware>
</windowsSettings>
</application>
Hat hier jemand Infos dazu, bzw. wer kann veranlassen, das es geändert wird?
Roman
Re: R executables ohne longPathAware im Manifest?
Hmmm, wenn ich die Frage richtig verstehe, dann sollten die Entwickler von R R für Windows anders ausliefern. Ich könnte mir vorstellen, dass die R-devel mailing list der richtige Ort wäre sowas zu diskutieren:
https://www.r-project.org/mail.html
LG, Bernhard
https://www.r-project.org/mail.html
LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: R executables ohne longPathAware im Manifest?
Du meinst tatsächlich "Dateinamen" - und nicht die "Summe" aus Pfad und Dateiname?
Re: R executables ohne longPathAware im Manifest?
Ich würde ja sagen das ist ein "Feature" von Windows
Es gibt einen ausführlichen Artikel wie man bugs reporten kann: https://www.r-project.org/bugs.html
Ich würde aber auch erstmal in r-devel nachfragen.
Es gibt einen ausführlichen Artikel wie man bugs reporten kann: https://www.r-project.org/bugs.html
Ich würde aber auch erstmal in r-devel nachfragen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: R executables ohne longPathAware im Manifest?
Natürlich der ganze Pfad, aber probiert es doch bitte aus?
Re: R executables ohne longPathAware im Manifest?
Nein, nicht ungnädig,
es könnte ja an meiner R-Version / Windows Version liegen?
RStudio ist ebenso betroffen
es könnte ja an meiner R-Version / Windows Version liegen?
RStudio ist ebenso betroffen
Re: R executables ohne longPathAware im Manifest?
Ich möchte eine Notlösung - wenn es denn partout ein Windows-Rechner sein soll - loswerden: die besteht in der Nutzung von "RStudio Server" unter WSL (Windows-Subsystem für Linux) mit Ubuntu.
Da läuft z.B. folgendes Progrämmchen problemlos durch:
das unter Windows (bereits) die Fehlermeldung
bringt.
Da läuft z.B. folgendes Progrämmchen problemlos durch:
Code: Alles auswählen
namelen <- 100
dirdepth <- 30
pathname <- ""
for(i in 1:dirdepth)
pathname[i] <- paste(sample(letters[1:26], namelen, replace=TRUE), collapse="")
dirname <- paste(pathname, collapse="/")
dir.create(dirname, recursive=TRUE)
filename <- paste0(paste(sample(letters[1:26], namelen, replace=TRUE), collapse=""), ".txt")
gesamt <- paste(c(pathname, filename), collapse="/")
write.table(1:5, gesamt)
Code: Alles auswählen
Error in dir.create(dirname, recursive = TRUE) : 'path' too long
Re: R executables ohne longPathAware im Manifest?
Vielleicht habe ich den Sinn des Threads noch nicht verstanden. Was ist denn jetzt die Fragestellung? Wo man bei den R-Machern anmelden kann, dass es ein Problem gibt oder erstmal nur überprüfen, ob es das Problem gibt?
Athomas' Beispiel führt bei mir unter Windows 11 auch zu
Code: Alles auswählen
> dir.create(dirname, recursive=TRUE)
Error in dir.create(dirname, recursive = TRUE) : 'path' too long
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: R executables ohne longPathAware im Manifest?
Ich kann es nicht ausprobieren - hab kein Windows...
Aber die Lösung mit WSL2 hört sich plausibel an.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.