R executables ohne longPathAware im Manifest?

... zu anderer statistischer Software, zu Datenbanken und Programmiersprachen.

Moderatoren: EDi, jogo

Antworten
Roman
Beiträge: 3
Registriert: Mo Feb 13, 2023 8:32 am

R executables ohne longPathAware im Manifest?

Beitrag von Roman »

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
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: R executables ohne longPathAware im Manifest?

Beitrag von bigben »

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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: R executables ohne longPathAware im Manifest?

Beitrag von Athomas »

Du meinst tatsächlich "Dateinamen" - und nicht die "Summe" aus Pfad und Dateiname?
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R executables ohne longPathAware im Manifest?

Beitrag von EDi »

Ich würde ja sagen das ist ein "Feature" von Windows :roll:

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
Bild.
Roman
Beiträge: 3
Registriert: Mo Feb 13, 2023 8:32 am

Re: R executables ohne longPathAware im Manifest?

Beitrag von Roman »

Natürlich der ganze Pfad, aber probiert es doch bitte aus?
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: R executables ohne longPathAware im Manifest?

Beitrag von Athomas »

Roman hat geschrieben: Di Feb 14, 2023 8:34 am aber probiert es doch bitte aus?
Das hört sich jetzt aber ein bisschen ungnädig an :evil: !?
Roman
Beiträge: 3
Registriert: Mo Feb 13, 2023 8:32 am

Re: R executables ohne longPathAware im Manifest?

Beitrag von Roman »

Nein, nicht ungnädig,
es könnte ja an meiner R-Version / Windows Version liegen?
RStudio ist ebenso betroffen
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: R executables ohne longPathAware im Manifest?

Beitrag von Athomas »

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:

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)
das unter Windows (bereits) die Fehlermeldung

Code: Alles auswählen

Error in dir.create(dirname, recursive = TRUE) : 'path' too long
bringt.
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: R executables ohne longPathAware im Manifest?

Beitrag von bigben »

Roman hat geschrieben: Di Feb 14, 2023 11:59 am Nein, nicht ungnädig,
es könnte ja an meiner R-Version / Windows Version liegen?
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
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: R executables ohne longPathAware im Manifest?

Beitrag von EDi »

Roman hat geschrieben: Di Feb 14, 2023 8:34 am atürlich der ganze Pfad, aber probiert es doch bitte aus?
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
Bild.
Antworten