mstege
Goto Top

Wie sourcen kompilieren?

Hallo,

in der aktuellen Ausgabe wird im Workshop das "VPN mit dem SSL Explorer einrichten" beschrieben.
Nun wollte ich das ganze mal ausprobieren doch nun bin ich auf eine altes Problem(Frage) gestossen:
Wie kompiliert man denn in Windows? Gut mit nem Compiler!
Nun stell ich mir die Frage welchen und was wenn ich so einen Compiler habe?
Woher weis ich für was für eine Spache ich den brauche usw.
Also habe ich google bemüht und nach 3 Std bin ich nicht schlauer.
Kann mir jemand mal eine paar Basics dazu geben um meine Bildungslücke zu schliessen?

mit besten Gruß
MirkoS

Content-Key: 91376

Url: https://administrator.de/contentid/91376

Printed on: April 24, 2024 at 11:04 o'clock

Member: aqui
aqui Jul 05, 2008 at 17:57:05 (UTC)
Goto Top
Was für eine "Ausgabe" ???
Member: 1bgks6
1bgks6 Jul 05, 2008 at 20:44:28 (UTC)
Goto Top
0. Was sowieso in Wikipedia steht, hast Du sicherlich zuerst gelesen.

1. Etliches, was funktional ein Compiler ist, wird nicht Compiler genannt, aber es wird evtl. dennoch von Kompilierung gesprochen, wenn es verwendet wird. Oft nicht ganz scharf ist aus Code-Sicht die Abgrenzung gegenüber Interpretern, weil verschiedentlich Source-Code für Compiler auch interpretierbar ist, verschiedentlich Scripte für Interpreter auch compilierbar sind.

2. Etliches, was funktional kein Troll ist, wird Troll genannt, und dennoch gefüttert.

3.1 In Windows kompiliert man in der Regel gar nicht. Du kriegst i.d.R. vorkompilierte Maschinencode-Dateien vorgesetzt als Installationspakete vorgesetzt. Die Maschinencode-Dateien nutzen nicht optimal die Fähigkeiten der Maschine, auf der sie dann als Programme ausgeführt werden oder von Programmen als Bibliotheksfunktionen, weil sie allenfalls zufällig speziell für diese Maschine optimiert kompiliert wurden.

3.2 Mit Schrägblick auf (1.) stimmt (3.2) nicht so ganz, weil z.B. die virtuelle Java Maschine gerne erst beim Programmaufruf compiliert. Damit hast Du mit hoher Wahrscheinlichkeit schon den ersten Compiler auf Deiner Maschine. Das kann Dir allerdings ziemlich egal sein, weil er Bytecode in Maschinencode übersetzt. während Du ohne einen zusätzlichen Compiler den Bytecode genauso schlecht schreiben kannst wie direkt den Maschinencode.

4.1 Welchen Compiler Du brauchst, hängt einerseits davon ab, welche Sprache Du brauchst.

4.1.1 Welche Sprache Du brauchst, ist dann sehr leicht zu beantworten, wenn Du Quelltext-Dateien als Installationspaket vorgesetzt kriegst, die Du selber für Deine eigene Maschine optimiert kompilieren sollst. Dann nämlich den Compiler für die Sprache, die Dir vorgesetzt wird.

4.1.2 Die Frage nach der Sprache beantwortet sich außerdem oft dadurch recht leicht, daß Du bestimmte Software einsetzt, die Du durch eigene Module erweitern willst. Die Software macht dann i.d.R. direkt oder indirekt über ihre Schnittstellen-Dokumentation Vorgaben, welche Sprachen überhaupt geeignet sind und zu welchem Zweck welche. Zu Software zählt auch ein Betriebssystem.

4.1.3 Wenn Du nichts vorgesetzt kriegst, ist die Frage nach der Sprache schwerer zu beantworten. I.d.R. entscheidest Du hier nach dem Dokumentationsstand bzw. nach der vorhandenen Source-Code-Base, aus der Du ähnliche Lösungen wie die von Dir gesuchte abwandeln kannst.

4.2 Welchen Compiler Du brauchst, hängt außerdem von der Zielmaschine bzw. Einsatzort der zu kompilierenden Applikation oder Bibliothek ab. Beispielsweise ein Java-Programm soll gezielt in seiner eigenen, betriebssystemsunabhängigen virtuellen Maschine laufen und nicht ins unterliegende Betriebssystem eingreifen. Damit ist ein Java-Compiler ungeeignet, ein Modul für das Betriebssystem zu implementieren, jedoch wunderbar geeignet, einen Service bereitzustellen, der ausschließlich mit einer externen Schnittstelle des Betriebssystems kommuniziert.

5. Zum compilieren vorgesetzter Installationspakete nach 4.1.1 wird Dir i.d.R. eine Steuerdatei für den Compiler mitgeliefert.

5.1 Unter Windows gibt es AFAIK keine vollfunktionale Möglichkeit wie unter Unix mithilfe einer Meta-Steuerdatei die Steuerdatei nach den Kriterien umzukonfigurieren, welche Compiler und Bibliotheken im System vorhanden sind und sie für Dein System zu optimieren, und die fehlenden Voraussetzungen als Fehler anzuzeigen.

5.2 Die Steuerdatei verrät Dir allerdings, welcher Compiler benötigt wird. Sowie es sich bei den vorgesetztgen Quelldateien nicht um Code-Schnippsel handelt, sondern um Installationspakete, findest Du eigentlich immer eine Datei namens »INSTALL«, »readme« oder ähnlich, die den Compilierungsprozess erläutert. Andernfalls ist ein educated guess erforderlich:

5.2.1 Wenn Du Dateien wie »configure«, »imakefile«, »makefile« findest, ist die Wahrscheinlichkeit hoch, daß cc als Compiler benötigt wird, und genau das läßt sich in den betreffenden Dateien auch nachlesen. Unter Windows heißt cc dann i.d.R. gcc und erfordert m.W. immer auch die Installation einer Emulationsumgebung wie MinGW oder Cygwin. Entsprechende Installationspakete sind kostenlos via Internet verfügbar. Die Compilierung erfordert von Dir nach deren Installation i.d.R. nichts als die Eingabe von »make«, ggf. mit einem vorangestellten »configure«. Gcc ist der traditionell im OpenSource/GPL-Bereich übliche Compiler.

5.2.2 Seit Microsoft Express-Versionen zuvorderst des C++-Compilers kostenlos zum Download bereitstellt, die zwar gezielt für die Programmentwicklung ziemlich untauglich gemacht wurden, aber zum compilieren vorgesetzter Quelltext-Installationspakete geeignet sind, findest Du zunehmend Pakete, die mit Visual Studio zu kompilieren sind. Die erkennst Du i.d.R. daran, daß das Installationspaket sich in zwei Dateibäume splittet. Im einen sind die Quelltexte, der andere, zunächst noch leere ist für die Debug-Versionen oder die Runtime-Versionen des compilierten Programms vorgesehen. Theoretisch ist auch hier eine Compilierung mittels »make« möglich, i.d.R. gehst Du aber über die Visual-Oberfläche. Nach Installation des Compilers brauchst Du zum Projekt gehörige Dateien lediglich im Explorer anzuklicken. Da findest Du dann auch das passende Menü, um das Projekt zu "bauen".

5.2.3 Andere Compiler sind eher unüblich.

5.2.4 Fragen nach der korrekten Compiler-Version können Dich beim Compilieren leicht in den Wahnsinn treiben bzw. erfordern von Dir ein Debuggen fremder Quelltexte. Besser ist, gleich google nach vorkompilierten Binärpaketen aus einigermaßen zuverlässiger Quelle zu durchforsten, sowie Du die Ahnung kriegst, nicht die richtige Compiler-Version herauszufinden bzw. nicht zu haben.

6. Einen schnellen Blick in Open-Source-Projekte ist oft mittels der verwendeten, meist öffentlich zumindest lesend zugänglichen Source-Code-Verwaltungs-Datenbanken möglich, typischerweise CVS oder auch subversion. Eine Client dafür hilft Dir, solche Compiler-Ortungsfragen zu klären, ohne dafür leicht sehr umfangreiche Pakete durch die Leitungen geschaufelt haben zu müssen. Oft wird auf den Projektseiten ein Web-basierter Client für diesen Zweck bereitgestellt.

Völlig unklar bleibt mir, was wo im Umfeld von SSL Explorer für Windows bei Dir Compilerfragen getriggert hat. Die Formulierung »VPN mit dem SSL Explorer einrichten« ist eine trollige Mißgestalt.
Mitglied: 16568
16568 Jul 06, 2008 at 07:40:23 (UTC)
Goto Top
Jupp, die Frage, "welche Ausgabe (von welchem Magazin)" würde mich auch interessieren.
Und dann stellt sich die Frage, was genau willst Du kompilieren?
Hast Du nen Code-Schnippsel, oder evtl. schon eine Datei?

Den Spaßvogel da oben kannste getrost ignorieren, der scheint ein wenig unter Schlafmangel (und vielleicht auch noch sonstigen Mängeln) zu leiden.


Lonesome Walker
Member: MStege
MStege Jul 06, 2008 at 08:05:26 (UTC)
Goto Top
Hallo,

@ aqui & Lonesome Walker
Ich meine die aktuelle Ausgabe von

@1bgks6 (Björn G. Kulms)
Danke erstmal für Deine Antwort.
Ein recht schwelliger Schreibstil aber nach 3-4x lesen versuche ich das grad zu verarbeiten.
Also rausgefunden habe ich das es hierbei um Java handelt.
Im Artikel steht ja auch es muss Java Runtime Enviroment 5.0 und Apache ANT installiert sein.

Mit mehr komme ich anscheinent nicht klar.
Der Hersteller bietet natürlich die zu zahlende Version "SSL Explorer Enterprise Edition" als fertiges Paket an aber bei der freien Version"SSL Explorer Community Edition"(https://sourceforge.net/projects/sslexplorer) finde ich bloß die sourcen (sslexplorer-1.0.0_RC17-src.zip)

@lonesome Walker
hört sich dumm an.. Ich weiß nicht mal ob ich das selbst kompilieren muss... oder ob das Java irgendwie macht.
Ich würde jetzt vermuten das ich das kompilieren muss würdew ich eher tippen.
Denn ich kann absolut nichts mit anfangen mit den Dateien.
Das selbe geht mir grad so mit Apache ANT. Irgendwie fehlt mir da also ein Stück Wissen welche ich hier erhoffe zu erhaschen.

GRuß MStege
Mitglied: 16568
16568 Jul 06, 2008 at 09:58:47 (UTC)
Goto Top
Steht doch alles in der README:


Pre-requisites

A Java 1.5.0+ compliant development kit. SSL-Explorer has been developed with Sun's
JDK although other vendors implementations may work. You may obtain the
Sun JDK from http://java.sun.com/j2se/1.5.0/download.jsp.

* IMPORTANT *

If you install a Java Runtime Environment (JRE) rather than the Java Development
Kit (JDK) you will not be able to execute the ant scripts as the Java compiler
will not be available. Either download the JDK or locate tools.jar in the
sslexplorer/lib folder and copy to your JRE's lib folder.

*

Apache Ant 1.6.0 or higher. This is used to build and run this distribution
of SSL-Explorer and you may obtain it at http://ant.apache.org/.



  • Installation *
**

1. Ensure you have Java and Ant setup correctley and available on the PATH.

2. You must run the 'install' target of the default build file at least once.
This compiles everything and launches the install wizard. You may re-run
this at any time. For example, if running on a Unix like platform and you
have extract version 0.2.0 of SSL-Explorer into /opt, you would use :-

$ cd /opt/sslexplorer-0.2.0
$ ant install

Ant will exit when the wizard is complete or is cancelled. You may abort
the wizard at any time using your INTR key (usually CTRL+C)

3. Once the installation has been successfully run once, you may start the
server itself by using the 'run' target of the default build file.
For example,

$ ant run

Ant will exit when an administrator uses the "Shutdown" function in the
SSL-Explorer management console. You may abort the server at any time using
your INTR key (usually CTRL+C).
Member: Biber
Biber Jul 07, 2008 at 06:22:43 (UTC)
Goto Top
Moin MStege,

willkommen im Forum.
Bitte versusche das nächste Mal bitte in Deinem Beitrag eine Eingrenzung auf die eigentliche Frage klarer zu formulieren.
Ein paar Hinweise zur "richtigen" Formulierung von Beiträgen mit Aussicht auf zielführende Antworten findest Du in den FAQ/Häufigen Fragen.
Es macht schon einen Unterschied, ob Du einen Postbeamten fragst :"Was kostet das Porto für ein Einschreiben nach Liechtenstein?" oder ob Du fragst "Hängen Art der Sendung, Zielort und aufgedruckter Nominalwert des Postwertzeichens wechselseitig voneinander ab?"
Bzw. "Kann mir jemand mal eine paar Basics dazu geben um meine Bildungslücke zu schliessen?".

Sonst provozierst Du weiterhin Antworten, die auch Probleme behandeln, die Dir als solche möglicherweise nie bewusst geworden wären.

Ein recht schwelliger Schreibstil aber nach 3-4x lesen versuche ich das grad zu verarbeiten.
Wahrscheinlich bist Du mit diesem Versuch schneller vorangekommen als ich.
Ich bekomme immer in der folgenden Zeile einen Schluckauf und von daher nie zum Ende...
3.2 Mit Schrägblick auf (1.) stimmt (3.2) nicht so ganz, ...

Grüße
Biber