AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy-Installation funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Indy-Installation funktioniert nicht

Ein Thema von PeterPanino · begonnen am 17. Mär 2023 · letzter Beitrag vom 21. Mär 2023
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#11

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 16:10
Möglicherweise ist nicht die Gesamtlänge das Problem - denn die erste Meldung ist keine Fehlermeldung sondern eine Warnung (mit Code MSB6002), die auf einen zu langen command-line String hinweist. Danach, in der Fehlermeldung mit Code MSB6003, ist nur die Rede von einem zu langen Dateinamen / einer zu langen Extension.

Wenn man im Internet zu error MSB6003 recherchiert, gelangt man schnell zu

https://learn.microsoft.com/de-de/wi...?tabs=registry

Hier wird auch beschrieben, wie man das Limit entfernen kann.

Der Fehler könnte auftreten, wenn ein einzelner der Pfade länger als 260 Zeichen ist. (z.B. ein Pfad, der eine Variable enthält).

Mittels Texteditor, in dem alle ; im Library Path durch CR/LF ersetzt werden, läßt sich das eventuell bestätigen.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 16:49
Das scheint ein allgemeines Problem bei MS Build zu sein:

Auch TMS verwendet MS BUILD zum Installieren seiner Komponenten - dort tritt dann der gleiche Fehler auf (Befehlszeile zu lang). Die TMS-Komponenten müssen dann umständlich manuell in der IDE installiert werden!
Nein, es ist kein allgemeines Problem mit MSBuild sondern es ist ein Problem mit Deiner Delphi-Installation. Der Suchpfad unter Tools -> Options ist zu lang und das betrifft dann alle Projekte, die Du zu compilieren versuchst.

Bei mir funktioniert das Compilieren der Indy-Komponenten problemlos, ebenso wie das der JCL und JVCL (die ich ebenfalls per commandline mit msbuild compiliere).

Vielleicht sind bei Dir die Pfade zu den Verzeichnissen auch extrem lang, weil Du Sourcen immer nach c:\users\<ganz langer username>\<sonstige Verzeichnisse> installierst?

Ich installiere Delphi immer nach c:\Delphi\<version> und irgendwelche Bibliotheken immer nach d:\source, so dass die Pfade relativ kurz sind, auch wenn viele Verzeichnisse drin stehen.

Wie kann man verhindern, dass MS Build die gesamten Library Paths (!) an dcc32 übergibt?
Vorschlag: Schmeiß dort mal alles raus, was Du nicht wirklich brauchst, insbesondere die Indy-Sourcen / dcus, die mit Delphi installiert werden, dann ist der Pfad vermutlich kurz genug um keine Probleme zu bereiten.

Leider verewigen sich dort auch diverse Bibliotheken, wobei das wohl auch die Empfehlung seitens Embarcadero ist. Das heißt aber dann auch, dass die immer verwendet werden, egal ob man die Bibliothek in einem Projekt verwendet oder nicht.
Thomas Mueller
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 17:48
Das ändert nichts daran, dass die Befehlszeile trotzdem zu lang ist.
Sie ist wegen des NACHTEILS von MSBUILD zu lang, ausnahmslos alle Library Paths an dcc32 zu übergeben. Wegen dieses (möglicherweise nicht zu umgehenden Nachteils) ist wie ich bereits sagte, MSBUILD das FALSCHE WERKZEUG für die Installation von Delphi Packages. Es ist nicht ersichtlich, wieso manche Komponenten-Hersteller trotz dieser erwiesenen Nachteile trotzdem MS-BUILD einsetzen. Ist es Bequemlichkeit, weil sie einfach den Build-Prozess aus ihrer eigenen Komponenten-Kompilierung übernehmen? Ist es Unwissenheit?
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 17:51
Schmeiß dort mal alles raus, was Du nicht wirklich brauchst
Ist es Überheblichkeit, mit der zu wissen glaubst, was ich brauche oder nicht?

Außerdem scheinst du noch immer nicht zur Kenntnis genommen zu haben, dass MSBUILD der tatsächliche Urheber für den Fehler ist.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (18. Mär 2023 um 17:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 17:56
Sie ist wegen des NACHTEILS von MSBUILD zu lang, ausnahmslos alle Library Paths an dcc32 zu übergeben. Wegen dieses (möglicherweise nicht zu umgehenden Nachteils) ist wie ich bereits sagte, MSBUILD das FALSCHE WERKZEUG für die Installation von Delphi Packages.
Du hast offensichtlich nicht verstanden was ich geschrieben habe. Das hat nichts mit MSBuild zu tun. Rein gar nichts. Deshalb mal hier ein Screenshot...

2023-03-18-4-.png

Auch beim Aufruf aus der IDE heraus muss der Compiler die Pfadangaben bekommen. Wie sollte das denn sonst auch gehen?

Stell dir mal vor, dass du jemandem sagst, dass er alle Personen mit dem Nachnamen Müller aus dem Telefonbuch heraussuchen soll, aber das Telefonbuch zum Nachschlagen bekommt er nicht. Das kann nicht klappen...
Wie soll der Compiler die Units denn finden, wenn er nicht gesagt bekommt, wo diese liegen können?

Und wenn in der Konfiguration ein Fehler ist (zu langer einzelner Pfad oder zu viele Pfade insgesamt), dann funktioniert es eben nicht.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (18. Mär 2023 um 18:52 Uhr) Grund: Screenshot mit geringerer Auflösung wegen starker Komprimierung im Forum
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 18:02
[QUOTE=jaenicke;1520039]
Auch beim Aufruf aus der IDE heraus muss der Compiler die Pfadangaben bekommen.
Aber er übergibt nicht alle Library-Pfade auf einmal an eine Befehlszeile mit begrenztem Fassungsvermögen, sondern sieht selbst in den Library-Pfaden nach. Nimm das bitte endlich mal zur Kenntnis.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (18. Mär 2023 um 18:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 18:09
OK, wir sind bei Beleidigungen und Großchrift angekommen. Ich bin dann raus.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 18:56
Aber er übergibt nicht alle Library-Pfade auf einmal an eine Befehlszeile mit begrenztem Fassungsvermögen, sondern sieht selbst in den Library-Pfaden nach. Nimm das bitte endlich mal zur Kenntnis.
Das stimmt schlicht nicht und das lässt sich ja schon in dem eben gezeigten Screenshot ganz leicht erkennen. Es handelt sich um ein leeres neues Projekt. Wenn deine Annahme richtig wäre, wären da z.B. schon die JCL- und JVCL-Pfade nicht drin. (Ja, wie ich gerade sehe, konnte man es schlecht erkennen, da das Forum leider schlecht komprimiert. Ich habe den Screenshot eben ausgetauscht, inhaltlich ist er identisch, nur mit niedriger Auflösung gemacht.)

Jedenfalls habe ich durchaus zur Kenntnis genommen, dass du irgendwo eine Magie vermutest, die vorher herausfindet, welche Pfade gebraucht werden. Aber weder existiert diese noch wäre diese logisch möglich, ohne dafür Compilerfunktionen zu nutzen (z.B. im Rahmen des LSP-Hintergrundcompilers). Denn ohne Compilerfunktionen ist es nun einmal unmöglich zu wissen, welche Units benötigt werden, und dementsprechend welche Pfade nötige Units enthalten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 19:29
[QUOTE=jaenicke;1520044]
Jedenfalls habe ich durchaus zur Kenntnis genommen, dass du irgendwo eine Magie vermutest
Ist die Glaskugel, mit der du deine Erkenntnis gewinnst, auch von Microsoft?

Die Logik ist eigentlich ganz einfach und sollte eigentlich von jedem Grundschüler verstanden werden:

Delphi-Quellcode:
if CompilationByMSBUILD and (LibraryPaths.Count > X) then
  Result := Error
else if CompilationByDCC32 then
  Result := OK;
oder vielleicht noch besser:

Delphi-Quellcode:
if LibraryPaths.Count > X then
begin
  if CompilationByMSBUILD then
    Result := Error
  else if CompilationByDCC32 then
    Result := OK;
end;
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (18. Mär 2023 um 19:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 19:44
Der Unterschied ist, dass MSBuild die Validität prüft und ggf. Fehler meldet, während der Aufruf aus der IDE ohne diese Prüfungen gemacht wird. Wenn du nun bemängelst, dass MSBuild eine fehlerhafte Konfiguration nicht einfach so übergeht (und dich ggf. später in Fehler laufen lässt, mit denen du nichts anfangen kannst), kannst du das natürlich tun. Das ändert aber nichts daran, dass der Fehler nicht bei MSBuild liegt.

Zudem hilft es dir auch nicht weiter. Deshalb verstehe ich nicht, weshalb du dich darüber aufregst, statt einfach deine Konfiguration zu korrigieren...

In früheren Versionen von Delphi führte ein zu langer Biblitohekspfad übrigens dazu, dass die Kommandozeile für die dcc32.exe irgendwann abgeschnitten wurde, was zu teilweise recht seltsamen Fehlermeldungen führte. Ich hoffe, dass das mittlerweile abgefangen wird, aber ausprobiert habe ich das nicht. Zu lange einzelne Pfade hingegen wurden ggf. einfach ignoriert, so dass man sich nur gewundert hat, warum die Units nicht gefunden werden (was eben bei MSBuild geprüft und dir gemeldet wird).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz