svn not in path, Problem beim Compilieren der IDE

Für Fragen rund um die Ide und zum Debugger
Antworten
StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Hallo,

ich habe hier Lazarus 2.0.6 unter Windows 10 laufen.
Ich habe versucht, eine Komponente, die ich für Delphi geschrieben habe zu installieren. Ich komme bis an den Punkt, wo die Meldung kommt, dass die IDE neu kompiliert werden muss.
Wenn ich das bestätige erhalte ich zunächst ein Warning :"Warning: svn not in path" und dann etliche Panics.

In einer älteren Lazarus Version hatte ich das hinbekommen, ist aber einige Zeit her. Jetzt, nach der Neuinstallation von 2.0.6 komme ich nicht weiter.

Ich hab inzwischen Lazarus 2.0.6 mehrfach deinstalliert, alle Verzeichnisse gelöscht, Tourtoise svn installiert und wieder deinstalliert. Alles ohne Erfolg.

Gruß

Stefan

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von wp_xyz »

Keine Ahnung, was du machst. svn hat mit dem Neukompilieren der IDE gar nichts zu tun.

Kannst du die IDE neu kompilieren, ohne deine Komponente installieren zu wollen?
Ist deine Komponente ausgiebig zur Laufzeit, also ohne Installation, getestet? Da deine Komponente nach der Installation Bestandteil der IDE ist, können Fehler deiner Komponente das weitere Arbeiten mit Lazarus unmöglich machen.
Eine Komponente, die für Delphi geschrieben ist, KANN unter Lazarus laufen, muss aber nicht.

StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Wenn ich das richtig verstanden habe, lässt sich die IDE gar nicht compilieren.
Ich werde das gleich mal mit einem anderen PC probieren, auf dem bisher weder Lazarus noch Delphi installiert war.

Gruß

Stefan

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von wp_xyz »

Das ist wahrscheinlich auch nicht das Problem, ich habe an die 10 Lazarus-Versionen und 4 Delphi-Versionen auf meinem Rechner, und es geht alles.

Was machst du denn, wenn du die IDE neu kompilierst? Ich mache: "Werkzeuge" > "Kompiliere Lazarus mit Profil..." > "Wollen Sie Lazarus neu kompilieren?" > "Ja". Wenn die Kompilierung wegen "Unit nicht gefunden" abbricht, mache ich: "Werkzeuge" > "Lazarus kompilieren einrichten" > in der Box "Aufräumen" "Aufräumen" und "Nach Neukompilierung zu Automatisch wechseln" markieren > "Neu kompilieren"

Wegen deiner Komponente: Du könntest alle benötigten Dateien (*.pas/*.pp, *.lfm wenn nötig, .lpk, evtl noch *.res oder .lrs) in gemeinsames zip-Archiv packen und hier hochladen. Ich will dir nichts versprechen, aber ich kann mir die Komponente anschauen, und vielleicht finde ich etwas auf die Schnelle.

StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Das Problem trat ja beim Installieren einer neuen Komponente auf. Da bin ich über "Package" > "Neues Package" und dann +inzfügen, Kompilieren, Verwenden gegangen.

Ich bekomme wie beschrieben erst das Warning "svn not in path" und dann

fpc.exe - Anwendungsfehler - Die Anwendung konnte nicht korrekt gestartet wrden (0xc0000142)....

Diesen FPC Anwendungsfehler bekomme ich auch, wenn ich über "Werkzeuge" > "Kompiliere Lazarus mit Profil: Normale IDE"

Zwischenzeitlich habe ich das auf einem anderen PC probiert. Da war Lazarus 1.6 installiert. Die Komponente konnte ich da problemlos installieren. Sie erscheint auch in meiner Komponentenpalette, ist aber noch nicht getestet.

Gruß

Stefan

StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Ich hab noch mal nach der Meldung (0xc0000142) gegoogelt und denke, dass das Problem nicht bei Lazarus sondern bei meiner Windows Installation liegt.
Den Fehler habe ich zwar bisher nur bei Lazarus beobachtet, aber vermutlich ist da irgendetwas faul.

Erstmal vielen Dank für die Antworten.

Gruß

Stefan

StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Also irgendwie klemmt das bei mir. Jetzt auf einem dritten PC mit der aktuellen 64 Bit Version:
"Werkzeuge" -> "Kompiliere Lazarus mit Profil: normale IDE"
Den ominösen 0xc0000142 Fehler bekomme ich nicht mehr, dafür aber die folgenden Meldungen:

IDE erstellen: Exit code 2, Fehler: 1, Warnungen: 1
Warning: svn not in path.
Fatal: Unable to open file C:UsersStefanAppDataLocallazarusidemake.cfg -dx86_64

In den Pfadangaben scheinen die Backslashes zu fehlen???

Gruß

Stefan

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von Warf »

Da gab es glaube ich demletzt einen ähnlichen Thread, da war das problem das dem Makefile entweder der Pfad mit " übergeben wurde, er aber schon in anfürungszeichen war, wodurch sich die doppelten anführunggszeichen sich gecancelt haben, oder das er nicht mit " übergeben wurde und sie damit gefehlt haben. Auf jeden fall führt das intern dazu das die bash die von make verwendet wird, die \ escapen will, und damit fallen sie raus.

Ich finde leider den anderen Thread nicht mehr, darin war eine lösung für das problem beschrieben. Scheint aber ein Lazarus bug zu sein wenn man Leerzeichen in irgendeinem Pfad hat oder so (wie gesagt kann mich nur noch grob dran erinnern)

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von wp_xyz »

Das Problem mit den fehlenden Pfadtrennern hatten wir hier schon mal (https://www.lazarusforum.de/viewtopic.php?f=2&t=12570), auch im englischen Forum. Mattias hat den Fehler in der Trunk-Version behoben. Wahrscheinlich hast du Tools im Pfad, die sich mit den von FPC/Lazarus verwendeten Versionen nicht vertragen.

Falls du nicht Trunk verwendest, solltest du die Datei "buildlazdlg.pas" im Ordner "ide" deiner Lazarusinstallation in einem externen Editor öffnen, die Prozedur TLazarusBuilder.SpecialIdeConfig suchen und in der Zeile mit "AppendExtraOption" das "false" am Ende entfernen. (VORHER UNBEDINGT BACKUP-KOPIE ERSTELLEN) Die Prozedur ist nach der Änderung so:

Code: Alles auswählen

procedure TLazarusBuilder.SpecialIdeConfig;
var
  MakeIDECfgFilename: string;
begin
  MakeIDECfgFilename:=GetMakeIDEConfigFilename;
  DebugLn(['SpecialIdeConfig MAKE MakeIDECfgFilename=',MakeIDECfgFilename,' ',FileExistsUTF8(MakeIDECfgFilename)]);
  if (FileExistsUTF8(MakeIDECfgFilename)) then begin
    // If a file name contains spaces, a file name whould need to be quoted.
    // Using a single quote is not possible, it is used already in the
    // makefile to group all Profile in OPT='bla bla'.
    // using " implicates that make uses a shell to execute the command of
    // that line. But using shells (i.e. command.com, cmd.exe, etc) is so
    // fragile (see bug 11362), that is better to avoid this.
    // Therefore we use a short 8.3 file and path name, so we don't need to
    // use quotes at all.
    // On platforms other than windows, ExtractShortPathName is implemented
    // too and simply returns the passed file name, so there is no need
    // for $IFDEF.
    if pos(' ',MakeIDECfgFilename)>0 then
      MakeIDECfgFilename:=ExtractShortPathNameUTF8(MakeIDECfgFilename);
    AppendExtraOption('@'+MakeIDECfgFilename);   // <------------- HIER: "false" entfernen
  end;
end;

Dann in Lazarus gehen und die IDE neu kompilieren.

StefanB
Beiträge: 6
Registriert: So 1. Dez 2019, 20:32

Re: svn not in path, Problem beim Compilieren der IDE

Beitrag von StefanB »

Also ich habe jetzt eine Lösung, aber ich bin mir nicht sicher, ob ich die gut finde:

Die aktuelle win64 Version habe ich jetzt von PC Nr. 3 deinstalliert, anschließend das Lazarus Verzeichnis. Dann den PC neu gestartet und die win32 Version heruntergeladen und installiert.
Ich bekomme immer noch das warning "svn not in path", aber der Compiler läuft jetzt durch. Ich konnte auch meine Komponete installieren. Ist noch nicht getestet, aber läßt sich auf ein Form ziehen und das Projekt läßt sich dann compilieren und starten.

Bei diesem Rechner handelt es sich um einen Intel Core2 Duo E7400, 8GB Arbeitsspeicher und 64-Bit Betriebssystem.

Den Vorschlag mit der "buildlazdlg.pas" habe ich gerade erst gelesen, werde ich mal auf PC Nr. 1 probieren.

--> bringt´s nicht, weil andere Fehlermeldung

Ich hab jetzt auf PC nr. 1 die win32 Version installiert --> Läuft, IDE lässt sich compilieren, Komponente lässt sich installieren und scheint auch einwandfrei zu laufen


Gruß

Stefan

Antworten