Lazarus 2.0.6 Installationsproblem

Für Installationen unter Windows
Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von Timm Thaler »

Es gab da mal eine Geschichte, dass FPC lange Zeit Pfadnamen mit Leerzeichen nicht interpretieren konnte: Wenn diese nicht in Quotes standen, wurden sie als zwei Argumente angenommen. Wenn sie in Quotes standen, kamen einige Libs damit nicht klar.

Vor ein paar Monaten hat man dann anscheinend die Funktion "maybequote" konsequenter angewendet, die Pfade mit Leerzeichen und Quotes richtig behandelte. Allerdings gab das noch mehr Konfusion, weil dann Libs mit diesen Quotes nicht klarkamen, wenn sie diese Funktion noch nicht implementiert hatten.

Mir hat das dann so gelangt, dass ich alle Projekte von D:\Eigene Dateien\Programmierung nach D:\Programmierung umgezogen haben, um diese Leerzeichen wegzubekommen. Ich mein, Windows hat ja auch erst seit Win95 Leerzeichen in Pfadnamen...

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von MmVisual »

@Michl:
Ja, Du hast recht, das Verzeichnis "D:\WinARM\make-tools\bin" kann einen Stutzig machen. Das ist eine Eclipse Installation und da ich schon früher "Probleme" mit dem "make" hatte (damals noch wegen Borland Delphi) habe ich kurzerhand dieses in "gmake" umbenannt. Daher findet Lazarus dieses make natürlich nicht.

ABER

Aus irgend einem Grund nutzt das make vom FPC das Programm "sh.exe", welches in diesem WinARM..bin drin liegt :?: Dieses sh Programm gibt es nicht im "C:\lazarus\fpc\3.0.4\bin\x86_64-win64", aber dennoch nutzt Lazarus dieses beim bauen und deshalb schlägt der Build von Lazarus fehl. Wenn ich "sh.exe" in "sh.exe_" umbenenne dann klappt der Build von Lazarus.
Hier das ZIP der Dateien:
WinARM_bin.zip
(2.02 MiB) 200-mal heruntergeladen


Ideen wie man Lazarus ändern könnte, damit der Build unabhängig vom Betriebssystem klappt:

1) Für den Build von Lazarus sollte Lazarus seine eigene PATH Variable für die Build Session erstelle, in der nur die Suchpfade drin stehen die Lazarus braucht und anhand der Installation bekannt sind. Dazu kann man für die aktuelle Sitzung (also der aktuelle Task) die Environment Variable schreiben, diese ist in Windows auch nur für den einen Task dann gültig.

2) Man ändert die Codezeile, so wie ich gestern bereits geschrieben hatte, jedoch mit dieser Erweiterung:

Code: Alles auswählen

AppendExtraOption('@'+MakeIDECfgFilename, Pos(' ', MakeIDECfgFilename) > 0);

Denn nur wenn ein Leerzeichen im String drin ist muss gequoted werden, bei Windows ist da dann automatisch kein Leerzeichen drin. Somit wäre die Codeänderung wiederum kompatibel zu allen Betriebssystemen, sogar auch zu solchen die keine Quotes unterstützen und zufällig keine Leerzeichen drin haben.

Schreibt mir wie Ihr darüber denkt, bzw. testet es mal mit den Dateien aus dem ZIP, entsprechend würde ich dann den Bugreport formulieren.
Ist schon irgendwie unschön, wenn ein HW-/SW-Entwickler wegen irgend welchen Installationen von vor X Jahren dann zu so einem Verhalten stößt.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von af0815 »

Du könntest als Ziel einmal fpc_baseinfo versuchen. Da spukt das makefile alles mögliche an gefundenn Infos aus. Besonders auch welche Tools, von wo verwendet werden. Siehe Abschnitt Tools info.

Edit: Bei mir steht bei Shell ganz einfach sh.exe !!! Das wird als Shell beim bauen vom Makefile verwendet - nicht fpc.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von MmVisual »

@af0815
Ich weiß nicht genau wie Du das meinst und wo ich was einstellen soll. Kannst Du mir bitte ein Screenshot schicken, damit ich die Einstellung auch wirklich so mache wie Du das Ergebnis dann sehen willst? Dankeschön.
EleLa - Elektronik Lagerverwaltung - www.elela.de

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

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von wp_xyz »

Vielleicht probierst du die neue v2.0.6. Ich glaube zwar nicht, dass das was ändert... Bei mir funktioniert bei einem ersten Test alles, insbesondere das Neuübersetzen der IDE läuft problemlos durch, sowohl für 32-bit als auch für 64-bit. (Habe wie immer eine Sekundärinstallation gemacht, ein paar Benutzereinstellungen geändert, aber noch keine Komponenten installiert).

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von MmVisual »

Nein, V2.0.6 hat den gleichen Bug.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von af0815 »

MmVisual hat geschrieben:@af0815
Ich weiß nicht genau wie Du das meinst und wo ich was einstellen soll. Kannst Du mir bitte ein Screenshot schicken, damit ich die Einstellung auch wirklich so mache wie Du das Ergebnis dann sehen willst? Dankeschön.


Bitteschön

Code: Alles auswählen

D:\data\lazdev\work\lazarus>..\fpc\bin\i386-win32\make fpc_baseinfo
 
== Package info ==
Package Name..... lazarus
Package Version.. 2.0.3
 
== Configuration info ==
 
FPC.......... D:/data/lazdev/work/fpc/bin/i386-win32/ppc386.exe
FPC Version.. 3.2.0
Source CPU... i386
Target CPU... i386
Source OS.... win32
Target OS.... win32
Full Source.. i386-win32
Full Target.. i386-win32
SourceSuffix. i386-win32
TargetSuffix. i386-win32
FPC fpmake... D:/data/lazdev/work/fpc/bin/i386-win32/ppc386.exe
 
== Directory info ==
 
Required pkgs... rtl regexpr
 
Basedir......... D:/data/lazdev/work/lazarus
FPCDir.......... c:/pp
CrossBinDir.....
UnitsDir........
PackagesDir.....
 
GCC library.....
Other library...
 
== Tools info ==
 
As........ as
Ld........ ld
Ar........ ar
Rc........ rc
 
Mv........ D:/data/lazdev/work/fpc/bin/i386-win32/mv.exe
Cp........ D:/data/lazdev/work/fpc/bin/i386-win32/cp.exe
Rm........ D:/data/lazdev/work/fpc/bin/i386-win32/rm.exe
GInstall.. D:/data/lazdev/work/fpc/bin/i386-win32/ginstall.exe
Echo...... D:/data/lazdev/work/fpc/bin/i386-win32/gecho.exe
Shell..... sh.exe
Date...... D:/data/lazdev/work/fpc/bin/i386-win32/gdate.exe
FPCMake... D:/data/lazdev/work/fpc/bin/i386-win32/fpcmake.exe
PPUMove... D:/data/lazdev/work/fpc/bin/i386-win32/ppumove.exe
Zip....... D:/data/lazdev/work/fpc/bin/i386-win32/zip.exe
 
== Object info ==
 
Target Loaders........
Target Units..........
Target Implicit Units.
Target Programs....... lazarus startlazarus lazbuild
Target Dirs...........
Target Examples.......
Target ExampleDirs....
 
Clean Units.........
Clean Files.........
 
Install Units.......
Install Files.......
 
== Install info ==
 
DateStr.............. 20191101
ZipName.............. lazarus
ZipPrefix............
ZipCrossPrefix.......
ZipSuffix............ .i386-win32
FullZipName.......... lazarus.i386-win32
Install FPC Package.. n
 
Install base dir..... share/lazarus
Install binary dir... share/lazarus/bin/i386-win32
Install library dir.. share/lazarus/units/i386-win32/lazarus
Install units dir.... share/lazarus/units/i386-win32/lazarus
Install source dir... share/lazarus/source/lazarus
Install doc dir...... share/lazarus/doc/lazarus
Install example dir.. share/lazarus/examples/lazarus
Install data dir..... share/lazarus
 
Dist destination dir. D:/data/lazdev/work/lazarus/dist
Dist zip name........
 
 

Es ist IMHO kein Bug, sondern ein Problem wo ihr überall Programme liegen habt. Nicht umsonst versucht fpcupdeluxe eine womöglich unverseuchte Umgebung zu schaffen. Im makefile ist natürlich eine Diagnose enthalten, weil ihr ja nicht die einzigen mit diesen Problemen seit und man schon wissen will welche Tools verwendet werden.

Es ist aber hier nicht ein spezieller Fall, weil ich habe ähnliches gesehen, wenn ich zB. Golden Cheatah kompilieren will. Dagegen ist fpc/Lazarus ja eine einfache Übung (bei uns sagt man auch 'ein Lercherlschahs') dagegen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von MmVisual »

Ja, genau so eine Beschreibung ist sehr gut, das kann ich dann auf meine Umgebung direkt umschreiben :D
Die Befehlszeile:

Code: Alles auswählen

C:\lazarus>.\fpc\3.0.4\bin\x86_64-win64\make fpc_baseinfo > c:\temp\fpcbasinfo.txt

Das Ergebnis:
fpcbasinfo.txt
(2.25 KiB) 175-mal heruntergeladen

Darin sieht man dass 3 Tools aus dem Verzeichnis "D:/WinARM/make-tools/bin" genommen werden.

Die Frage wo sich mir stellt, wieso sucht der FPC überhaupt eine sh.exe, bzw. findet bei Dir diese in keinem expliziten Verzeichnis?
Wenn ich das Verzeichnis "D:/WinARM/make-tools" bei mir umbenenne dann kommt das dabei raus:
fpcbasinfo2.txt
(2.25 KiB) 178-mal heruntergeladen


fpcupdeluxe macht es richtig, es verwendet genau die Dateien die "Unverseucht" sind. Da man dem Lazarus in den IDE-Einstellungen bei "Umgebung" > "Dateien" > "Compilerdateiname"schon gesagt hat wo der Kompiler liegt, sollte dieser als erstes in seinem eigenen Verzeichnis nach den benötigten Tools schauen und im zweiten Rang erst die PATH Einstellungen verwenden. Es ist im Prinzip eine Frage der Such-Priorität für die Tools.
Und für mich ist immer noch nicht klar warum das ganze überhaupt funktioniert wenn keine "sh.exe" vorhanden ist?
Bzw. woher der FPC eine sh.exe findet und nutzen kann wenn gar keine vorhanden ist?

Einfache Kontrolle:

Code: Alles auswählen

C:\lazarus>where sh.exe
INFORMATION: Es konnten keine Dateien mit dem angegebenen Muster gefunden werden.
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.4 Installationsproblem

Beitrag von MmVisual »

Nun, ich habe mal die Reihenfolge der Suchpfade geändert. Das ist eine reine "makefile" Sache und hat nichts mit dem FPC zu tun.
Um die Änderung zu machen habe ich nur die Reihenfolge der Suchpfad Zuweisung "SEARCHPATH:=" / "SEARCHPATH+=" geändert:

Das Makefile hatte original so ausgesehen (ab Zeile 1):

Code: Alles auswählen

#
# Don't edit, this file is generated by FPCMake Version 2.0.0
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-android wasm-wasm sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded
BSDs = freebsd netbsd openbsd darwin dragonfly
UNIXs = linux $(BSDs) solaris qnx haiku aix
LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari
OSNeedsComspecToRunBatch = go32v2 watcom
FORCE:
.PHONY: FORCE
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
ifneq ($(findstring darwin,$(OSTYPE)),)
inUnix=1 #darwin
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
else
ifeq ($(findstring ;,$(PATH)),)
inUnix=1
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
else
SEARCHPATH:=$(subst ;, ,$(PATH))
endif
endif
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))


Nach meiner Änderung dann so:

Code: Alles auswählen

#
# Don't edit, this file is generated by FPCMake Version 2.0.0
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-android wasm-wasm sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded
BSDs = freebsd netbsd openbsd darwin dragonfly
UNIXs = linux $(BSDs) solaris qnx haiku aix
LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari
OSNeedsComspecToRunBatch = go32v2 watcom
FORCE:
.PHONY: FORCE
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
SEARCHPATH:=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
ifneq ($(findstring darwin,$(OSTYPE)),)
inUnix=1 #darwin
SEARCHPATH+=$(filter-out .,$(subst :, ,$(PATH)))
else
ifeq ($(findstring ;,$(PATH)),)
inUnix=1
SEARCHPATH+=$(filter-out .,$(subst :, ,$(PATH)))
else
SEARCHPATH+=$(subst ;, ,$(PATH))
endif
endif


Nach dieser Änderung sieht man dass zu erst im FPC Ordner, danach im PATH Ordner gesucht wird:
fpcbasinfo3.txt
(2.27 KiB) 174-mal heruntergeladen


Nun muss ich nur noch das mit der sh.exe heraus finden, warum das gefunden wird, es steht leider keine Zeile "SHELL:=..." im makefile. Hat mir dazu jemand einen Tipp wie ich suchen kann?
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von MmVisual »

Ich denke ich habe nun die korrekte Lösung für das Problem gefunden.

1) sh.exe mit Lazarus mit installieren (C:\lazarus\fpc\3.0.4\bin\x86_64-win64\)
2) im "makefile das eigene installierte Verzeichnis (C:\lazarus\fpc\3.0.4\bin\x86_64-win64) als erstes in die Variable SEARCHPATH nehmen
3) im "makefile" die Variable "SHELL" erst einmal selbst suchen und setzen

Zu 1)
Ich habe dazu die Dateien "sh.exe" und "msys-2.0.dll" aus dem FpcUpDeluxe in das "C:\lazarus\fpc\3.0.4\bin\x86_64-win64" kopiert. Damit diese mit vorhanden sind. Ob es noch weitere DLL's benötigt weiß ich nicht, ich bin nicht der "SH" Experte

Zu 2)
Diese Änderung am Zeile 13 in der makefile:

Code: Alles auswählen

SEARCHPATH:=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
ifneq ($(findstring darwin,$(OSTYPE)),)
inUnix=1 #darwin
SEARCHPATH+=$(filter-out .,$(subst :, ,$(PATH)))
else
ifeq ($(findstring ;,$(PATH)),)
inUnix=1
SEARCHPATH+=$(filter-out .,$(subst :, ,$(PATH)))
else
SEARCHPATH+=$(subst ;, ,$(PATH))
endif
endif


Zu 3)
Diese Zeilen ab Zeile 38 zusätzlich hinzugefügt:

Code: Alles auswählen

MAKESHELL:=$(firstword $(strip $(wildcard $(addsuffix /sh$(SRCEXEEXT),$(SEARCHPATH)))))
ifneq ($(MAKESHELL),)
SHELL:=$(MAKESHELL)
endif

Ich nutze die Variable $(MAKESHELL), da dies so in der Doku zu "make" drin steht, dass man diese dafür verwenden sollte.

Danach findet make die Dateien zu erst in der Lazarus installation

Die Dateien:
Makefile.zip
(14.08 KiB) 184-mal heruntergeladen

fpcbasinfo4.txt
(2.29 KiB) 181-mal heruntergeladen


Leider kann ich Lazarus immer noch nicht übersetzen, ich vermute Lazarus macht erst mal sein eigenes Makefile (bzw. lässt es über ein Tool machen), wo natürliche diese Änderungen noch nicht drin sind.
Hat jemand mir dazu noch einen Tipp?

Vielen Dank für die gute Unterstützung, Grüße Markus

PS: Ich wollte noch kein Bug Ticket auf machen, ich weiß ja noch nicht ob es den FPC betrifft oder die Lazarus IDE. So wie ich es aktuell sehe betrifft es nur das makefile und ein paar fehlende Dateien im Lazarus Setup für Windows.

Um das Problem nachstellen zu können braucht es ein älteres "sh.exe", was z.B. für andere Programme auf dem System vorhanden ist, dies kann vom "WinARM_Bin.zip" von hier https://www.lazarusforum.de/viewtopic.p ... 19#p111319 geladen werden, danach muss das Verzeichnis im Betriebssystem in der PATH Variable mit angegeben werden, danach einmal ab- und wieder anmelden, damit die Änderung überall bekannt ist. Mit der Befehlszeile kann überprüft werden ob dieses falsche "SH" gefunden wird:

Code: Alles auswählen

WHERE SH.EXE
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von MmVisual »

Ich habe nun ein Bugticket erstellt. Ich hoffe das ist verständlich geschrieben:
https://bugs.freepascal.org/view.php?id=36261

Vielen Dank für die professionelle Hilfe, damit konnte/n ich/wir dem Problem auf den Grund gehen.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von af0815 »

Meine Verständnis nach ist das kein Bug, sondern durch die verschiedenen Tools und Entwicklungumgebungen hervorgerufen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von MmVisual »

Ich finde schon dass es ein Bug ist. Lazrus liefert mit dem Setup die eigenen "make" tools mit damit es kompillieren kann, und nutzt diese jedoch nicht konsequent, sondern irgend etwas anders was noch auf dem System vorhanden ist.

Das neue Tool FpcUpateDeluxe kreiert schließlich auch seine eigene "make" Umgebung und kann deshalb immer korrekt das Lazarus erstellen, egal was sonst noch auf dem System vorhanden ist. Das offizielle Lazarus Setup paket sollte dies ebenfalls können und mit meinen kleinen Änderungen sollte es recht einfach machbar sein. Bei der Änderung/Anpassung vom makefile habe ich darauf geachtet dass es entsprechend der GNU make doku geschehen ist und sollte somit unter allen anderen Betriebssystemen ebenfalls funktionieren.

Hier die make doku für "Choosing a Shell in DOS and Windows":
https://www.gnu.org/software/make/manua ... Shell.html
EleLa - Elektronik Lagerverwaltung - www.elela.de

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

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von wp_xyz »

MmVisual hat geschrieben:Bei der Änderung/Anpassung vom makefile habe ich darauf geachtet [...]

Sorry, aber da ist was oberfaul. Ich musste noch nie in make-files eingreifen (und, ehrlich gesagt, könnte ich das auch nicht - ich habe die Dinger noch nie verstanden...). Ich habe es schon ein paar mal geschrieben (hast du das gelesen?): Es würde einen Sturm von Beschwerden geben, wenn die Release-Versionen von Laz (auch auch die Trunk-Version) mit solchen Fehlern behaftet wären, wie du hier (und im Bug-Report) beschreibst.

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus 2.0.6 Installationsproblem

Beitrag von DonAlfredo »

As maintainer of fpcupdeluxe I would like to add that the Makefile poses the biggest challenge in trying to make an isolated install of FPC and Lazarus.
Many times, the Makefile tries to look for tools system wide. Often picking up the wrong ones. And also picking up FPC and Lazarus stuff from inside the path.

So, in my opinion, the Makefile problem is not a real bug.
But to use it correctly in presence of Cygwin and co (in the path), you need to set some variables yourself to prevent a system wide search of some of these variables (tools).

Antworten