Page 1 of 1

Viele Compiler, aber kein Linker?

Posted: Fri 04 Nov 2011, 03:38
by RSH
Hallo,

inzwischen habe ich mir xxx_devx.sfs, kernel_xxx.sfs, Lazarus und Free Pascal heruntergeladen und angesehen. Einzig: ein Linker fehlt. Oder bin ich blind?

Hat jemand eine Idee, wie ich an einen Linker für genannte Entwicklungssystem gelange?

RSH

Posted: Fri 04 Nov 2011, 07:28
by rhadon
So wie ich das verstehe (von Lazarus und Pascal habe ich gar keine Ahnung, von C usw. das meiste vergessen) heisst der Linker ld, bzw. ist ein symb. Link zu ld.bfd in devx.sfs/usr/bin.

HTH
Rolf

Re: Viele Compiler, aber kein Linker?

Posted: Fri 04 Nov 2011, 14:37
by der-schutzhund
Sag doch ma, was du machen willst?
RSH wrote:Hallo,

inzwischen habe ich mir xxx_devx.sfs, kernel_xxx.sfs, Lazarus und Free Pascal heruntergeladen und angesehen. Einzig: ein Linker fehlt. Oder bin ich blind?

Hat jemand eine Idee, wie ich an einen Linker für genannte Entwicklungssystem gelange?

RSH

Posted: Fri 04 Nov 2011, 21:55
by RSH
Hallo,

@rhadon
So wie ich das verstehe (von Lazarus und Pascal habe ich gar keine Ahnung, von C usw. das meiste vergessen) heisst der Linker ld, bzw. ist ein symb. Link zu ld.bfd in devx.sfs/usr/bin.
Nur, um sicher zu gehen, daß wir dasselbe meinen:

Der Compiler übersetzt Text -in diesem Fall Quelltexte- in einen maschinensprache-ähnlichen Code, der allerdings noch nicht ausführbar ist. Diese kompilierten Dateien werden von einem Linker zu einem lauffähigen Programm gebunden (Win=exe, AtariST=prg, Linux=wohl irgendeine binäre Datei)

Wenn Du richtig liegst und ich Dich richtig verstanden habe, so ist der Linker für gcc bereits im devx enthalten.

Und eben genau soetwas suche ich für Lazarus oder Free Pascal, da ich mir davon schnellere Fortschritte verspreche, als wenn ich jetzt erst noch C lernen muß.

@ der-schutzhund
Sag doch ma, was du machen willst?
Ich möchte gerne Programme entwickeln, die als binäre Datei vorliegen und nicht als Skripte. Mein erster Ansatz wäre die Portierung meines selbstentwickelten DTP-Noteneditors, RSHs SCORE, nach Linux bzw. der Versuch (erst einmal). Da ich diesen in PASCAL geschrieben habe, wird dieses Vorhaben wohl eher nicht über ShellScript o.ä. zu realisieren sein.
Pascal "beherrsche" ich, was mir den besseren Einstieg böte und eine gewisse Zuversicht vermittelt, mit diesem Vorhaben erfolgreich sein zu können.

Und dann: mal sehen, was sich daraus entwickelt/entwickeln läßt.

Gruß,

RSH

Posted: Sat 05 Nov 2011, 17:22
by emil
http://www.freepascal.org/
Man kann es downloaden und dann einen installscript starten. Ich habe aber nicht ausprobiert...
Viel Glück!

Ps: die nötigen Linker sind im devx schon dabei, nur werden sie meistens implizit über gcc mit aufgerufen, bzw. es läuft sowie alles über make.

Posted: Sat 05 Nov 2011, 19:37
by der-schutzhund
Hallo,

@RSH

Komme auch von Pascal -> Turbopascal -> Pascal für Windows -> Delphi
Da gibt es ja keinen extra Linker weil alle verwendeten Module automatisch mit in die *.exe eingebaut werden.
Mit C konnte ich mich auch nie so richtig anfreunden.
Lazarus habe ich mir mal angesehen, weil es das halt für alle Plattformen gibt und es eine Pascalbasis besitzt.
Allerdings ist es richtig groß (75MB) und ich habe sowohl unter Linux und Windows noch kein Projekt damit realisiert.
Habe mir Gambas angesehen und damit auch für Linux ein kleines Programm geschrieben, dass Daten über die Com von einem Prozessor abfragt und grafisch darstellt. Ist relativ einfach zu machen und das Gambas selbst ist auch schön klein 18MB als Pet.
Es kann eingenständige Progs. erzeugen (kein extra Linker erforderlich).

Posted: Mon 07 Nov 2011, 01:50
by RSH
Hallo,

habe mir gerade Gambas heruntergeladen - ist aber wieder nur ein File mit Sourcecodes gewesen (gambas3-2.99.2.tar.bz2, heruntergeladen bei Heise Software).

Gibt es das nicht als .pet, zum installieren; oder als .sfs?

Ich traue mich gar nicht ran, denn bei meinem Glück, läßt es sich sowieso nicht compilieren (wie alles, was ich bisher als Sourcecode herunterlud).

Danke für die Tips,

RSH

Edit:
Komme auch von Pascal -> Turbopascal -> Pascal für Windows -> Delphi
Da gibt es ja keinen extra Linker weil alle verwendeten Module automatisch mit in die *.exe eingebaut werden.
Ich kenne Pascal gar nicht ohne Linker (ST Pascal plus) :o

Posted: Mon 07 Nov 2011, 04:34
by RSH
Hallo.

Tja, wie ich es mir dachte: Gambas läßt sich nicht compilieren und installieren.

Zuerst muß die Datei "configure" über "autoconf" erstellt werden. Hier bekomme ich folgende Meldung:

Code: Select all

sh-4.1# cd gambas3-2.99.2
sh-4.1# autoconf
aclocal.m4:16: warning: this file was generated for autoconf 2.67.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
sh-4.1# 
Führe ich dann "./configure" aus, erhalte ich folgende Meldungen:

Code: Select all

sh-4.1# ./configure
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
=== configuring in main (/root/gambas3-2.99.2/main)
configure: WARNING: no configuration information is in main
=== configuring in gb.compress.bzlib2 (/root/gambas3-2.99.2/gb.compress.bzlib2)
configure: WARNING: no configuration information is in gb.compress.bzlib2
=== configuring in gb.compress.zlib (/root/gambas3-2.99.2/gb.compress.zlib)
configure: WARNING: no configuration information is in gb.compress.zlib
=== configuring in gb.db.mysql (/root/gambas3-2.99.2/gb.db.mysql)
configure: WARNING: no configuration information is in gb.db.mysql
=== configuring in gb.db.odbc (/root/gambas3-2.99.2/gb.db.odbc)
configure: WARNING: no configuration information is in gb.db.odbc
=== configuring in gb.db.postgresql (/root/gambas3-2.99.2/gb.db.postgresql)
configure: WARNING: no configuration information is in gb.db.postgresql
=== configuring in gb.db.sqlite2 (/root/gambas3-2.99.2/gb.db.sqlite2)
configure: WARNING: no configuration information is in gb.db.sqlite2
=== configuring in gb.db.sqlite3 (/root/gambas3-2.99.2/gb.db.sqlite3)
configure: WARNING: no configuration information is in gb.db.sqlite3
=== configuring in gb.net (/root/gambas3-2.99.2/gb.net)
configure: WARNING: no configuration information is in gb.net
=== configuring in gb.net.curl (/root/gambas3-2.99.2/gb.net.curl)
configure: WARNING: no configuration information is in gb.net.curl
=== configuring in gb.net.smtp (/root/gambas3-2.99.2/gb.net.smtp)
configure: WARNING: no configuration information is in gb.net.smtp
=== configuring in gb.pcre (/root/gambas3-2.99.2/gb.pcre)
configure: WARNING: no configuration information is in gb.pcre
=== configuring in gb.sdl (/root/gambas3-2.99.2/gb.sdl)
configure: WARNING: no configuration information is in gb.sdl
=== configuring in gb.sdl.sound (/root/gambas3-2.99.2/gb.sdl.sound)
configure: WARNING: no configuration information is in gb.sdl.sound
=== configuring in gb.xml (/root/gambas3-2.99.2/gb.xml)
configure: WARNING: no configuration information is in gb.xml
=== configuring in gb.v4l (/root/gambas3-2.99.2/gb.v4l)
configure: WARNING: no configuration information is in gb.v4l
=== configuring in gb.crypt (/root/gambas3-2.99.2/gb.crypt)
configure: WARNING: no configuration information is in gb.crypt
=== configuring in gb.qt4 (/root/gambas3-2.99.2/gb.qt4)
configure: WARNING: no configuration information is in gb.qt4
=== configuring in gb.gtk (/root/gambas3-2.99.2/gb.gtk)
configure: WARNING: no configuration information is in gb.gtk
=== configuring in gb.opengl (/root/gambas3-2.99.2/gb.opengl)
configure: WARNING: no configuration information is in gb.opengl
=== configuring in gb.desktop (/root/gambas3-2.99.2/gb.desktop)
configure: WARNING: no configuration information is in gb.desktop
=== configuring in gb.pdf (/root/gambas3-2.99.2/gb.pdf)
configure: WARNING: no configuration information is in gb.pdf
=== configuring in gb.cairo (/root/gambas3-2.99.2/gb.cairo)
configure: WARNING: no configuration information is in gb.cairo
=== configuring in gb.image.io (/root/gambas3-2.99.2/gb.image.io)
configure: WARNING: no configuration information is in gb.image.io
=== configuring in gb.image.imlib (/root/gambas3-2.99.2/gb.image.imlib)
configure: WARNING: no configuration information is in gb.image.imlib
=== configuring in gb.dbus (/root/gambas3-2.99.2/gb.dbus)
configure: WARNING: no configuration information is in gb.dbus
=== configuring in comp (/root/gambas3-2.99.2/comp)
configure: WARNING: no configuration information is in comp
=== configuring in app (/root/gambas3-2.99.2/app)
configure: WARNING: no configuration information is in app
=== configuring in examples (/root/gambas3-2.99.2/examples)
configure: WARNING: no configuration information is in examples

||
|| ALL COMPONENTS WILL BE COMPILED
||


sh-4.1# 
Sieht ja soweit (trotz der Warnungen) ganz gut aus - dachte ich. Führe ich hiernach "make" aus, erhalte ich folgende Meldungen:

Code: Select all

sh-4.1# make
make  all-recursive
make[1]: Entering directory `/root/gambas3-2.99.2'
Making all in main
make[2]: Entering directory `/root/gambas3-2.99.2/main'
make[2]: *** No rule to make target `all'.  Stop.
make[2]: Leaving directory `/root/gambas3-2.99.2/main'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/gambas3-2.99.2'
make: *** [all] Error 2
sh-4.1# 
Die letzte Prozedur "make install" läßt dann folgende Meldungen erscheinen:

Code: Select all

sh-4.1# make install
Making install in main
make[1]: Entering directory `/root/gambas3-2.99.2/main'
make[1]: *** No rule to make target `install'.  Stop.
make[1]: Leaving directory `/root/gambas3-2.99.2/main'
make: *** [install-recursive] Error 1
sh-4.1# 
Benötige wohl Hilfe!!!

@ der Schutzhund
Habe mir Gambas angesehen und damit auch für Linux ein kleines Programm geschrieben, dass Daten über die Com von einem Prozessor abfragt und grafisch darstellt. Ist relativ einfach zu machen und das Gambas selbst ist auch schön klein 18MB als Pet.
Es kann eingenständige Progs. erzeugen (kein extra Linker erforderlich).
Kannst Du mir sagen, welches Puppy Du verwendest und welche Version von Gambas Du heruntergeladen, compiliert und installiert hast?

Ich wäre ja bereit, für ein funktionierendes Entwicklungssystem auch noch ein anderes Puppy zu verwenden.

Danke im Voraus

RSH

Posted: Mon 07 Nov 2011, 10:46
by thkn777
Öhhm... vielleicht habe ich ja was ganz wichtiges überlesen, aber hier ( --> http://www.murga-linux.com/puppy/viewto ... 307ae54e67 ) wird auf ein gambas PET verwiesen.

Ist das nicht im Repository? (kann erst heute Abend selber gucken :roll: )

Gruß,
Th.

Posted: Mon 07 Nov 2011, 16:43
by der-schutzhund
Hier ist das Pet zu finden

http://puppy.b0x.me/software/packages/i ... &order=asc

Bei mir läuft es mit 431-de ohne Probleme.

Grüße

Wolfgang
RSH wrote:Hallo,

habe mir gerade Gambas heruntergeladen - ist aber wieder nur ein File mit Sourcecodes gewesen (gambas3-2.99.2.tar.bz2, heruntergeladen bei Heise Software).

Gibt es das nicht als .pet, zum installieren; oder als .sfs?

Ich traue mich gar nicht ran, denn bei meinem Glück, läßt es sich sowieso nicht compilieren (wie alles, was ich bisher als Sourcecode herunterlud).

Danke für die Tips,

RSH

Edit:
Komme auch von Pascal -> Turbopascal -> Pascal für Windows -> Delphi
Da gibt es ja keinen extra Linker weil alle verwendeten Module automatisch mit in die *.exe eingebaut werden.
Ich kenne Pascal gar nicht ohne Linker (ST Pascal plus) :o

Posted: Mon 07 Nov 2011, 16:48
by thkn777
Kleines Update:
Nachdem ich einfach "gambas" im Suchdialog des Package Managers eingegeben habe, gab's eine größere Menge Treffer. 8) Installation war insofern schwierig, als daß bei der großen Menge dependencies die Buttons in den Dialogen nicht richtig zu sehen waren :roll:

Ansonsten: in /usr/bin gambas2 gestartet, testweise ein Projekt übersetzt und das .gambas file aus dem ROX filer gestartet --> läuft.

Viel Erfolg beim Installieren und Programmieren!

Th.

Posted: Mon 07 Nov 2011, 22:49
by RSH
Hallo an alle und vielen Dank erst einmal, für die vielen Tips und Hinweise, dank derer ich ein gutes Stück voran gekommen bin.

Also: ich denke, ich bin nun erst einmal gut vorbereitet. Lazarus und Free Pascal habe ich nun mit Gambas und dem devx zu einer einzigen .sfs Datei kombiniert und bin gerade dabei, mir eine auf Lucid 528 basierende Entwickler-Workstation zusammenzubauen. Das .sfs ist soweit fertig und funktioniert (getestet im Livebetrieb ohne Arbeitsdatei, so, wie ich meistens arbeite). Habe schon einmal probeweise einige der Examples von Lazarus erfolgreich kompiliert und zu einem lauffähigen Programm "gelinkt".

Übrigens: Lazarus bzw. Free Pascal verwendet den Linker ld aus dem devx.sfs. Erst nachdem ich dieses eingebunden hatte, verschwand auch die letzte Fehlermeldung und aus dem Quelltext wurde ein Programm.

Im Anhang gibt es den (vorab)-Desktop von LazY Puppy, so nenne ich diese Version, zu sehen.

Danke noch einmal an alle, die mir bisher so hilfreich zur Seite standen. Ich bin dann erst einmal an der "Arbeit".

RSH