LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von khzimmer » Sa 6. Apr 2024, 17:32

Neue Vermuting: Der Fehler scheint auf Seiten von TeX/LaTeX zu liegen.

Grund meiner Annahme: Ich speichere diese Zeilen als .lua-Datei: testing_io.open.lua
local destFileName = "Testfile"
local myDocument, err = io.open(destFileName, "w")
if not myDocument then
  print(" ERROR OPENING FILE:", err)
  return
end
myDocument:write("Hello from Lua!")
myDocument:close()
local finalFileName = "../"..destFileName
print("Moving file: "..finalFileName)
print (os.rename(destFileName, finalFileName))
Dann rufe ich den Befehl auf:

~/TeX_Live_2024/bin/x86_64-linux/lualatex --luaonly testing_io.open.lua

… und es klappt problemlos.

Aber sobald die Zeilen, wie oben im zweiten Code-Beispiel, in \directlua{ } stehen, erhalte ich "operation not permitted".

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von khzimmer » Sa 6. Apr 2024, 17:03

Leider fand ich noch keine Lösung.

io.open(Dateiname, "w") funktioniert seit TL 2024 nur noch dann,
wenn Dateiname entweder nur einen simplen Namen enthält, oder der vorangestellte Pfad sich auf ein Verzeichnis unterhalb des aktuellen Verzeichnisses (current directory) bezieht.

Mit TL 2023 war es noch möglich, die Datei in ein Verzeichnis zu schreiben, das oberhalb lag.

Weiß jemand einen workaround?

Ich teste auch dies, es funktioniert ebenso wenig:
\documentclass{article}
\begin{document}
\directlua{
local destFileName = "Testfile"
local myDocument, err = io.open(destFileName, "w")
if not myDocument then
  print(" ERROR OPENING FILE:", err)
  return
end
myDocument:write("Hello from Lua!")
myDocument:close()
local finalFileName = "../"..destFileName
print("Moving file: "..finalFileName)
print (os.rename(destFileName, finalFileName))
}
\end{document}
Bei diesem Beispiel gibt es immerhin eine Fehlermeldung:

Moving file: ../Testfile
nil LuaTeX: operation not permitted -1


Obwohl ich natürlich Schreibrechte im oberen Verzeichnis habe.

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von khzimmer » Sa 6. Apr 2024, 14:59

Auf jeden Fall danke für Deinen Versuch zu helfen, das war freundlich. :)

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von Unwissender » Sa 6. Apr 2024, 14:17

Das ist jetzt schon etwas ärgerlich, denn mit NIL ist hier keineswegs der Fluss gemeint. Da müssen echte Experten ran, von denen einige bei "TeX - LaTeX Stack Exchange" aktiv sind.

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von khzimmer » Sa 6. Apr 2024, 13:51

Leider wird kein Fehler aussgegeben.
Dies erscheint in der Konsole:

ERROR OPENING FILE: nil


In der .log-Datei steht dazu gar nichts.

Re: LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von Unwissender » Sa 6. Apr 2024, 13:09

Wie genau lautet der Fehler denn? Sieh mal in der Protokoll-Datei (*.log) nach. Poste den Fehler dann in deinem nächsten Beitrag oder hänge die komplette Datei an ebendiesen an.

Solltest du den genauen Fehler dort selbst entdecken können, kannst du ihn ja mal in die Suchmaschine deiner Wahl eingeben und in den Ergebnissen dann nach möglichen Lösungen suchen.

LuaTeX: Ist io.open("../dateiname", "w") mit TL 2024 nicht mehr möglich?

von khzimmer » Sa 6. Apr 2024, 10:23

Hallo Wissende,

bei mir (und bei einem meiner User auf deren eigenem Rechner) erzeugt io.open("../Testfile", "w") mit TeX Live 2024 einen error,
während es mit TeX Live 2023 problemlos funktioniert. :(

Ich installierte TL 2024 vorhin, also am 6.4.2024.
\documentclass{article}
\begin{document}
\directlua{
local myDocument, err = io.open("../Testfile", "w")
if not myDocument then
  print(" ERROR OPENING FILE:", err)
end
}
\end{document}
Beachten: Mein obiges Beispiel erzeugt, hier im Forum-System, keinen Error.
Lokal bei mir tritt aber mit heutigem TL 2024 der Fehler auf.


Danke für Eure Hilfe. :)

Karl-Heinz

Nach oben