Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 26 Aug 2015, 12:06 
Offline
Nuby

Registriert: 26 Aug 2015, 11:50
Beiträge: 3
Hallo zusammen,

ich versuche gerade verzweifelt mir eine Ruby-Version 2.2.3 aus dem SourceCode unter Windows zu erstellen.
Wie es aussieht scheitert es an der Extension "fiddle". Hier kommt es beim Kompilieren und anschließendem Linken zu einem Fehler und der Build stürzt "hart" ab. Kennt hier jemand das Problem bzw. kennt eine Lösung/Workaround?

Danke und Grüße
Pascal


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 26 Aug 2015, 12:46 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Von hier aus schwer zu sagen ohne zu wissen, was du genau gemacht hast, und welche Fehlermeldung du genau erhalten hast.

Bitte ergänze folgende Angaben:

  • Was genau hast du bisher versucht?
  • Versuchst du aus dem SVN/git heraus zu kompilieren oder hast du ein Quellarchiv heruntergeladen?
  • Erfüllst du die genannten Vorraussetzungen aus "win32.README.win32"? (Visual c++ 6 oder neuer, am besten 10; nmake, cl, lib und dumpbin im PATH; bei SVN/git kompilierung ausserdem folgendes im PATH: bison, sed, ruby 1.8 oder neuer)
  • Nutzt du Cygwin, MSYS oder aus der cmd.exe heraus?

Leider allerdings muss ich noch folgendes ergänzen: Nur sehr wenige hier im Forum nutzen Ruby unter Windows und warscheinlich keiner davon hat es sich selbst kompiliert. Am besten funktioniert Ruby immer noch auf Mac und Linux Kisten. Falls dir das eine nicht zur Verfügung steht und du den kompletten Umstieg auf das andere scheust, dann reicht ja für den Anfang auch eine kleine Virtuelle Maschine mit einem XUbuntu als Gast für den Anfang vollkommen aus.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 26 Aug 2015, 13:25 
Offline
Nuby

Registriert: 26 Aug 2015, 11:50
Beiträge: 3
Hallo,

danke schon mal für die Antwort...:-)

Zu den Fragen:

(1) Ich habe den Quellcode herunter geladen, der Build läuft also lokal, (2) ja, im PATH sind alle Voraussetzungen erfüllt, (3) ich nutze eine cmd.exe mit ausgeführten CommandLineTools von VisualStudio

Also ich nutze den "Weg 2" bzw habe ich schon gemacht:
C:
cd \ruby
mkdir mswin32
cd mswin32
..\win32\configure --prefix=/usr/local
nmake
nmake test
nmake install

Und bei nmake kommt es zu dem Problem: Die Extension fiddle wird nicht erstellt. Das Makefile findest du im Anhang. Es sind zwar die Sourcen von libffi-3.2.1 vorhanden, aber der Build schlägt fehl. Ich habe auch mal versucht mit <ruby extconf.rb> die Extension manuell zu erstellen, leider auch ohne Erfolg...

Ja, ich nutze privat ausschließlich MAC und Linux, nur beruflich sind wir auf Windows unterwegs. Und zum Hintergrund meines Problems. Wir habe vor etlichen Jahren mehrere C-Extensions selber mit Ruby1.8 geschrieben. Und ich mache nun eine Migration zu Ruby2.x. Ich hatte auch schon die Installer bzw. die Kompilierten Versionen versucht. Leider ist der Aufwand die Extension umzuschreiben zu groß, daher versuche ich die MSWIN-Variante von Ruby2x zu erstellen...

Danke und Grüße
Pascal


Dateianhänge:
mkmf.txt [1.48 KiB]
134-mal heruntergeladen
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 26 Aug 2015, 13:58 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Die Fehlermeldung im Anhang spricht doch eindeutige Worte: In keinem der angegebenen Include-Pfade kann die Datei ffi.h oder ffi/ffi.h gefunden werden. Auf die Schnelle kann ich auch nicht feststellen wie, wann oder ob diese Datei erzeugt wird. Auf meinem Linux-System läuft die Kompilierung fehlerfrei durch und zu keinem Zeitpunkt existiert eine Datei mit dem Namen "ffi.h". Scheint also etwas Windowsspezifisches zu sein…

Ausserdem bin ich etwas verwirrt… Du schreibst Windows und MSBuild-Kram, aber gibst als Installationsprefix "/usr/local" an, das ist eigentlich eine Linuxgeschichte und würde zur Erzeugung des Verzeichnisses "C:\usr\local" und seiner Population führen. Das ist wohl auf den wenigsten Windows-Kisten wirklich erwünscht. Ob dann MSBuild in Zukunft den Kram dort findet den er braucht um euere Extensions zu bauen ist dann die nächste Frage…

Und in welchem Schritt taucht das Problem auf? Nach deinen Angaben sieht es so aus, als ob du tatsächlich bis "nmake install" kommst, welches eigentlich nur ein paar Dateien kopiert und nichts mehr kompilieren sollte…

In einem ersten Versuch würde ich erst einmal ohne Angabe eines Prefix konfigurieren und erst wenn damit das kompilieren funktioniert nach und nach die Einstellungen an den eigenen Bedarf anpassen.

Desweiteren hast du noch nicht konkret beantwortet, ob du aus nem Repo oder aus einer Source-Ball kompilierst. Das der Build lokal läuft ist, so denke ich, den meisten von alleine klar. Kannst ja schlecht mal eben den Build auf dem ruby-lang.org Server anstoßen ;)

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 26 Aug 2015, 14:17 
Offline
Nuby

Registriert: 26 Aug 2015, 11:50
Beiträge: 3
Hallo,

ich hatte die Präfix schon angepasst (auf Windows-Ebene), und hatte den Post nur aus der "Readme" kopiert.

Ich kompiliere nicht aus dem Repo, sondern aus einer Source-Ball...

OK, ich versuche mal weiter mein Glück... Trotzdem Danke schon mal...

Grüße Pascal


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Build Ruby 2.2.3 aus SourceCode
BeitragVerfasst: 27 Aug 2015, 08:17 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
Die Kompilation von Ruby mit VisualStudio wird faktisch nicht mehr unterstützt, die README.win32 ist in dieser Hinsicht obsolet. Nach allem, was ich auf Ruby-Talk so mitbekommen habe, lässt sich Ruby auf Windows wohl nur noch mit dem GCC kompilieren, d.h. du musst MinGW, mingw-w64 oder Cygwin benutzen, wahlweise auch zusammen mit einer unixartigen Umgebung wie MSYS oder MSYS2 (Cygwin ist selbst unixartig, da ist das eingebaut).

Der Fehlermeldung nach fehlt dir libffi. Das wirst du daher zuerst herunterladen und kompilieren müssen.

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron