ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 32 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
BeitragVerfasst: 17 Jun 2006, 14:02 
Offline
Meister

Registriert: 25 Jun 2002, 20:39
Beiträge: 276
Wohnort: Hamburg
Hat jemand schon einmal YARV unter win32 mit der Visual Studio C++ Express Edition kompiliert?
Wenn ja, kann mir jemand dazu ein paar Tips geben.
Bekomme immer folgenden Fehler.
NMAKE : fatal error U1077: 'cl' : return code '0x2'

Warscheinlich Probleme mit dem Make-File.
Da ich mich aber mit Visual Studio nicht besonders auskenne, kann ich damit nicht soviel anfangen. Oder wird irgendwo ein Log-File geschrieben ?

Danke.


Zuletzt geändert von leobm am 19 Jun 2006, 10:54, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 17 Jun 2006, 14:20 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
Kannst du mal einen Link auf YARF geben?

Oder solltest du YARV gemeint haben?

_________________


1
2
3
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w<a b c d e f g h i j>]
#=>10


Nuclear Powered Soup | Nuclear Powered Blog


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 18 Jun 2006, 10:54 
Offline
Meister

Registriert: 25 Jun 2002, 20:39
Beiträge: 276
Wohnort: Hamburg
ja, genau.

verschrieben.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 19 Jun 2006, 09:32 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
leobm hat geschrieben:
verschrieben.

Dann korrigiere doch mal bitte den Titel, damit man den Thread auch später mal wiederfindet. Danke. :)

Gruß,
janfri

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 19 Jun 2006, 18:51 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
Nachdem das anpassen der Makefiles fuers Visual Studio generell einfach ungut und viel zu viel arbeit ist, verwende ich MSYS (Minimal System), welches eine minimale UNIX-Umgebung fuer genau diese Sachen zur Verfuegung stellt.

Dazu braucht man von http://www.mingw.org/download.shtml folgende Sachen:
  • MinGW-3.1.0-1.exe (Der neuere 5.0.2 sollte theoretisch auch funktionieren, aber das hab ich jetzt nicht getestet)
  • MSYS-1.0.11-2004.04.30-1.exe
  • msysDTK-1.0.1.exe
  • bison-2.0-MSYS.tar.gz
  • msys-autoconf-2.59.tar.bz2
  • msys-automake-1.8.2.tar.bz2
Downloaden und vorerst mal in einen gemeinsamen Ordner speichern, welchen man spaeter auch wiederfinden sollte (C:\temp bietet sich hier z.b. an).

Dann wie folgt installieren:
  • MinGW-3.1.0-1.exe installieren (C:\MinGW ist default, davon gehe ich auch im Weiteren aus)
  • MSYS-1.0.11-2004.04.30-1.exe installieren, z.b. nach C:\msys\1.0. WICHTIG: Auf das gleiche Laufwerk wie MinGW installieren! (autotools mag das nicht). Auf die Post-Install-Fragen wie folgt antworten:
    • "do you wish to continue with the post install?" -> y
    • "do you have MinGW installed?" -> y
    • Pfad zum MinGW eintippen (C:\MinGW in unserem Fall)
  • msysDTK-1.0.1.exe in den gleichen Ordner wie MSYS installieren.
  • bison-2.0-MSYS.tar.gz, msys-autoconf-2.59.tar.bz2 und msys-automake-1.8.2.tar.bz2 in das MSYS-Verzeichnis kopieren (default C:\msys\1.0\)
  • MSYS-Prompt starten und folgendes eintippen:

    1
    2
    3
    4
    cd /
    tar -jxf msys-automake-1.8.2.tar.bz2
    tar -jxf msys-autoconf-2.59.tar.bz2
    tar -zxf bison-2.0-MSYS.tar.gz
  • Als naechstes wechseln wir in das Verzeichnis in das wir YARV entpackt haben. Ich hab es nach C:\Projects\yarv-r504 entpackt (yarv-latest.tar.gz, andere Versionen funktionieren gleich), d.h.:


    cd /c/Projects/yarv-r504
  • Autoconf ausfuehren:


     autoconf 
  • Configure ausfuehren. Configure nimmt optional einiges an Switches entgegen, mit dem wir unsere Installation anpassen koennen. Die ganze Liste ist mit


    ./configure --help
    abrufbar, ich hab das Installationsverzeichnis (C:\ruby-yarv) und ein Suffix fuer die zu erzeugende Binary (um Namenskollisionen zu vermeiden) eingestellt:


     ./configure --prefix=/c/ruby-yarv --program-suffix=-yarv 
    Configure braucht einige Zeit und erzeugt einen Haufen Output, as ist ganz normal.
  • Jetzt kompilieren und installieren wir das ganze noch (# ist wie ueblich ein Kommentar, welches nicht eingetippt wird):

    1
    2
    make           # build ruby and ext/
    make install # install files and generating RI files
    Beim Kompilieren werden vermutlich einige Warnings auftauchen, die wir ignorieren koennen. Die Tests (make test, make test-all)schlagen bei mir teilw. fehl, aber das ist laut README offenbar normal.
  • Aus irgendeinem Grund werden bei mir das bin- und das lib-Verzeichnis nach C:\c\ruby-yarv installiert, waerend die ri-doc korrekt in C:\ruby-yarv\share landen (Weiss wer warum?), weshalb wir bin und lib einfach verschieben.
  • Zu guter letzt testen wir unsere Binary noch:


     /c/ruby-yarv/bin/ruby-yarv -v 
    zeigt bei mir folgenden Output:

    1
    2
    ruby 2.0.0 (Base: Ruby 1.9.0 2006-04-08) [i386-mingw32]
    YARVCore 0.4.0 Rev: 504 (2006-05-31) [opts: ]
Fertig! Jetzt koennen wir anfangen mit ruby-yarv zu experimentieren und vor unseren Freunden protzen dass unser Ruby viel schneller als ihres sei ;)

_________________


1
2
3
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w<a b c d e f g h i j>]
#=>10


Nuclear Powered Soup | Nuclear Powered Blog


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Jun 2006, 23:17 
Offline
Meister

Registriert: 25 Jun 2002, 20:39
Beiträge: 276
Wohnort: Hamburg
danke, das du Dir so viel Mühe gemacht hast. Ich werde das mal am Wochenende testen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Jun 2006, 00:43 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
Ich moecht das eh auch mal testen, wie schnell das im Vergleich zu Ruby 1.8.4 ist. Vielleicht komm ich auch am Wochenende dazu, dann werd ich mal ein paar Ergebnisse posten.

_________________


1
2
3
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w<a b c d e f g h i j>]
#=>10


Nuclear Powered Soup | Nuclear Powered Blog


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Jun 2006, 01:42 
Offline
Böser Admin
Benutzeravatar

Registriert: 29 Jul 2005, 22:41
Beiträge: 2065
Wohnort: Beijing
Wenn ihr mal ein paar Vergleiche auflisten wollt, könnt ihr prima 'make benchmark' nutzen. Ist ein von den YARV Sourcen bereitgestelltes Make Target. Hab das mal laufen lassen und die Zahlen sind schon toll. Fragt sich ob das nach der vollständigen Implementierung auch noch so bleibt.



der
Daniel

_________________
mruby.sh | Ruby-Mine | Homepage


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Jun 2006, 11:32 
Offline
Geselle
Benutzeravatar

Registriert: 10 Okt 2004, 10:58
Beiträge: 143
Wohnort: Eckental
DanielBovensiepen hat geschrieben:
Wenn ihr mal ein paar Vergleiche auflisten wollt, könnt ihr prima 'make benchmark' nutzen. Ist ein von den YARV Sourcen bereitgestelltes Make Target. Hab das mal laufen lassen und die Zahlen sind schon toll. Fragt sich ob das nach der vollständigen Implementierung auch noch so bleibt.


YARV die erste

Ist zwar schon über ein Jahr alt :-)

MfG

_________________
hakuna matata


_="_=%c%s%c;printf _,34,_,34";printf _,34,_,34


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 08 Jul 2006, 23:46 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Ich hab da ein Problem...
  • Heruntergeladen von http://www.mingw.org/download.shtml:
    • MinGW-3.1.0-1.exe
    • MSYS-1.0.11-2004.04.30-1.exe
    • msysDTK-1.0.1.exe
    • bison-2.0-MSYS.tar.gz
    • msys-autoconf-2.59.tar.bz2
    • msys-automake-1.8.2.tar.bz2
  • MinGW-3.1.0-1.exe nach C:\MinGW installiert.
  • MSYS-1.0.11-2004.04.30-1.exe nach C:\msys\1.0 installiert. Die automatische Scriptausführung ergab

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    C:\msys\1.0\postinstall>PATH ..\bin;C:\texmf\miktex\bin;c:\ruby\bin;C:\Programme
    \Tcl\bin;C:\Programme\Perl\bin\;C:\Programme\PTP2002;C:\WINNT\system32;C:\WINNT;
    C:\WINNT\System32\Wbem;C:\Programme\Microsoft SQL Server\90\Tools\binn\

    C:\msys\1.0\postinstall>..\bin\sh.exe pi.sh

    This is a post install process that will try to normalize between
    your MinGW install if any as well as your previous MSYS installs
    if any. I don't have any traps as aborts will not hurt anything.
    Do you wish to continue with the post install? [yn ] y

    Do you have MinGW installed? [yn ] y

    Please answer the following in the form of c:/foo/bar.
    Where is your MinGW installation? c:/MinGW

    Creating /etc/fstab with mingw mount bindings.
    Normalizing your MSYS environment.

    You have script /bin/awk
    You have script /bin/cmd
    You have script /bin/echo
    You have script /bin/egrep
    You have script /bin/ex
    You have script /bin/fgrep
    You have script /bin/printf
    You have script /bin/pwd
    You have script /bin/rvi
    You have script /bin/rview
    You have script /bin/rvim
    You have script /bin/vi
    You have script /bin/view

    Oh joy, you do not have c:/MinGW/bin/make.exe. Keep it that way.

    C:\msys\1.0\postinstall>pause
    Dr��cken Sie eine beliebige Taste . . .
  • msysDTK-1.0.1.exe in C:\msys\1.0.
  • bison-2.0-MSYS.tar.gz, msys-autoconf-2.59.tar.bz2 und msys-automake-1.8.2.tar.bz2 nach C:\msys\1.0 kopiert.
  • MSYS-Fenster geöffnet und folgende gemacht:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    wolfgang@SPATZ ~
    $ cd /

    wolfgang@SPATZ /
    $ tar -jxf msys-automake-1.8.2.tar.bz2

    wolfgang@SPATZ /
    $ tar -jxf msys-autoconf-2.59.tar.bz2

    wolfgang@SPATZ /
    $ tar -zxf bison-2.0-MSYS.tar.gz

    wolfgang@SPATZ /
    $
  • Nun gehts zu yarv. Zuerst die Datei yarv-latest.tar.gz nach C:\yarv-r510 mittels WinZip extrahiert, dabei TAR file smart CR/LF conversion ausgewählt gelassen.
  • Nun wieder ein MSYS-Fenster geöffnet und nach Vorschlag vorgegangen. Leider gab es am Ende von make Fehler, make install zickte dann auch. Ausschnitt vom Ende der Sitzung:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    .
    .
    .
    make[1]: Entering directory `/c/yarv-r510/ext/syck'
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c bytecode.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c emitter.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c gram.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c handler.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c implicit.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c node.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c rubyext.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c syck.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c token.c
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/syck -DHAVE_ST_H -c yaml2byte.c
    gcc -shared -s -Wl,--enable-auto-import,--export-all -L"../.." -o ../../.ext/i386-mingw32/syck.so bytecode.o emitter.o gram.o handler.o implicit.o node.o rubyext.o syck.o token.o yaml2byte.o -lmsvcrt-ruby-yarv20 -lshell32 -lws2_32
    make[1]: Leaving directory `/c/yarv-r510/ext/syck'
    compiling syslog
    compiling win32ole
    make[1]: Entering directory `/c/yarv-r510/ext/win32ole'
    gcc -g -O2 -I. -I../.. -I../../. -I../.././ext/win32ole -DNONAMELESSUNION -DHAVE_WINDOWS_H -c win32ole.c
    win32ole.c: In function `get_ptr_of_variant':
    win32ole.c:762: invalid lvalue in unary `&'
    win32ole.c: In function `ole_var2ptr_var':
    win32ole.c:1074: invalid lvalue in unary `&'
    make[1]: *** [win32ole.o] Error 1
    make[1]: Leaving directory `/c/yarv-r510/ext/win32ole'
    make: *** [all] Error 1

    wolfgang@SPATZ /c/yarv-r510
    $ make install
    ./miniruby.exe ./instruby.rb --dest-dir="" --make="make" --mflags="- --unix" --make-flags=" --unix" --mantype="man"
    mkdir -p -m 755 /c/ruby-yarv/bin /c/ruby-yarv/lib /c/ruby-yarv/lib/ruby/2.0 /c/ruby-yarv/lib/ruby/2.0/i386-mingw32 /c/ruby-yarv/lib/ruby/site_ruby/2.0 /c/ruby-yarv/lib/ruby/site_ruby/2.0/i386-msvcrt
    install -c -p -m 0755 ruby-yarv.exe /c/ruby-yarv/bin/ruby-yarv.exe
    c:/yarv-r510/lib/fileutils.rb:833:in `stat': No such file or directory - ruby-yarv.exe (Errno::ENOENT)
    from c:/yarv-r510/lib/fileutils.rb:833:in `block in install'
    from c:/yarv-r510/lib/fileutils.rb:1378:in `block in fu_each_src_dest'
    from c:/yarv-r510/lib/fileutils.rb:1394:in `fu_each_src_dest0'
    from c:/yarv-r510/lib/fileutils.rb:1376:in `fu_each_src_dest'
    from c:/yarv-r510/lib/fileutils.rb:830:in `install'
    from c:/yarv-r510/lib/fileutils.rb:1510:in `install'
    from ./instruby.rb:69:in `install'
    from ./instruby.rb:114:in `block in <main>'
    from ./instruby.rb:64:in `install?'
    from ./instruby.rb:111:in `<main>'
    make: *** [do-install-local] Error 1


Was hab ich da falsch gemacht?

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 08 Jul 2006, 23:52 
Offline
Böser Admin 2
Benutzeravatar

Registriert: 17 Mär 2004, 17:03
Beiträge: 2544
Wohnort: Berlin
WoNáDo hat geschrieben:
Was hab ich da falsch gemacht?
windows installiert.

ehrlich, ich habe es aufgegeben, unter windows IRGENDWAS zu compilieren. ist anscheinend echt zeitverschwendung. es soll aber gute, freie Virtual Machines geben, mit denen du Linux auf Windows laufen lassen kannst.

_________________
Ruby-Mine | (almost) murphy.de | rubychan.de


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09 Jul 2006, 00:09 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
WoNáDo hat geschrieben:
[*]Nun gehts zu yarv. Zuerst die Datei yarv-latest.tar.gz nach C:\yarv-r510 mittels WinZip extrahiert, dabei TAR file smart CR/LF conversion ausgewählt gelassen.
:!: Aufpassen :!: Die MSYS-Tools gehen afaik von normalen Unix-Textdateien aus, d.h. nur LF.

WoNáDo hat geschrieben:
[*]Nun wieder ein MSYS-Fenster geöffnet und nach Vorschlag vorgegangen. Leider gab es am Ende von make Fehler, make install zickte dann auch.
./configure hast du auch ausgefuehrt?

WoNáDo hat geschrieben:
Was hab ich da falsch gemacht?
Kannst du ruby-yarv in ein neues Verzeichnis entpacken, den ganzen Vorgang von autoconf, ./configure, make und make install wiederholen und mir dann den gesamten Output mailen? (PM ginge auch, aber Mail ist mir lieber)

EDIT: Ich hab gerade selber yarv-r510 kompiliert: yarv-latest.tar.gz gesaugt, mit WinRAR entpackt (keine CR-LF-Konvertierung), dann in /c/Projects/yarv-r510 autoconf, ./configure --prefix=/c/ruby-yarv --program-suffix=-yarv, make und make install ausgefuehrt, hat alles ohne Probleme geklappt.

_________________


1
2
3
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w<a b c d e f g h i j>]
#=>10


Nuclear Powered Soup | Nuclear Powered Blog


Zuletzt geändert von cypher am 09 Jul 2006, 00:29, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09 Jul 2006, 00:27 
Offline
Geselle
Benutzeravatar

Registriert: 10 Okt 2004, 10:58
Beiträge: 143
Wohnort: Eckental
WoNáDo hat geschrieben:
Was hab ich da falsch gemacht?


Man kann auch cygwin als build environment für mingw verwenden. Ruft man den cygwin-gcc mit 'gcc -mno-cygwin' auf, linkt er nicht gegen die cygwin.dll sondern gegen die msvcrt.dll. Sonst bringt cygwin einbischen UNIX-feeling nach windows ;-), inklusiver aller GNU-Build-Tools .

_________________
hakuna matata


_="_=%c%s%c;printf _,34,_,34";printf _,34,_,34


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09 Jul 2006, 00:32 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
murphy hat geschrieben:
es soll aber gute, freie Virtual Machines geben, mit denen du Linux auf Windows laufen lassen kannst.

Das Ding hier hat 128MB und 700MHz - das ist völlig zu vergessen :cry:

Ansonsten probiert ich es morgen noch mal mit dem geänderten <LF>-Extract und schick mal das Ergebnis.

Das soll hier ja nur eine Übung für Ruby 1.9 werden - mir wird jetzt schon übel, wenn ich daran denke...

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09 Jul 2006, 22:08 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Noch mal komplettes Scheitern in angehängter Textdatei im Forum-Format.


Dateianhänge:
Installationsversuch.txt [30.27 KiB]
188-mal heruntergeladen

_________________
WoNáDo.set_state!(:retired)
Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 32 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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