PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cedega 64-bit Prozessor



N.o.V.a
05.08.05, 01:09
Hier ihr.

Hab mir vor einigen tagen mal Suse 9.3 auf meinen 64 bit athlon drauf gemacht. Läuft auch recht gut. Nun hab ich ir das winecvs.sh von linux-gamers.net geholt und wollte nachdem mir gesagt wurde WineX läuft nur unter 32 bit cedega drauf machen.

meine erste frage ist nun. Stimmt es überhaupt das wineX nicht mehr auf 64 bit läuft.

und 2. hab ich es auch nicht geschafft cedega auf meinen 64 bit system über das shell script zu instlairen wohingegen es auf meinen 2. rechner der einen 32 bit alton hat wunderbar funktioniert.

mfg NoVa

Phoenix33
05.08.05, 01:17
nein es stimmt nicht das cedega auf einem 64 bit rechner net geht
2. hast du mehr output zu deinem fehler ? und welches shellscript ? wieso nimmst net das rpm für suse ?

wazne
05.08.05, 07:49
Komisch, ich hatte damals keine Probleme damit, ich muss aber dazu sagen das ich gentoo habe.Einfach emerged und es ging mit x86_64?!
Poste mal den Output wie oben beschrieben...

N.o.V.a
05.08.05, 12:16
Also was ich noch da zu sagen sollte. Ich benutze die CVS. den shell script ( wineCVS.sh ) gibts auf hier
http://cvscedega.linux-gamers.net/WineCVS.sh


beim compiling bekomm ich volgenden fehler



--------- Error log - file /home/NoVa/.WineCVS/sources/cvscedega/ErrorLog : ---------
make[1]: Entering directory `/home/NoVa/.WineCVS/sources/cvscedega/winex/unicode'
gcc -MMD -c -I. -I. -I../include -I../include -g -O2 -Wall -fno-keep-static-consts -D__const=const -fno-strict-aliasing -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o casemap.o casemap.c
In file included from ../include/winnt.h:10,
from ../include/windef.h:16,
from ../include/wine/unicode.h:10,
from casemap.c:4:
../include/basetsd.h:148:3: #error Unknown CPU architecture!
In file included from ../include/windef.h:16,
from ../include/wine/unicode.h:10,
from casemap.c:4:
../include/winnt.h:1030:2: #error You need to define a CONTEXT for your CPU
In file included from ../include/windef.h:16,
from ../include/wine/unicode.h:10,
from casemap.c:4:
../include/winnt.h:1033: error: syntax error before '*' token
../include/winnt.h:1033: warning: type defaults to `int' in declaration of `PCONTEXT'
../include/winnt.h:1033: warning: data definition has no type or storage class
../include/winnt.h:2068: error: syntax error before "PCONTEXT"
../include/winnt.h:2068: warning: no semicolon at end of struct or union
../include/winnt.h:2069: warning: type defaults to `int' in declaration of `EXCEPTION_POINTERS'
../include/winnt.h:2069: warning: type defaults to `int' in declaration of `PEXCEPTION_POINTERS'
../include/winnt.h:2069: warning: data definition has no type or storage class
../include/winnt.h:2081: error: syntax error before "PCONTEXT"
../include/winnt.h:2093: error: syntax error before "ExceptionInfo"
../include/winnt.h:2096: error: syntax error before "epointers"
In file included from ../include/winnls.h:5,
from ../include/wine/unicode.h:11,
from casemap.c:4:
../include/winbase.h:121: error: syntax error before "LPCONTEXT"
../include/winbase.h:121: warning: type defaults to `int' in declaration of `LPCONTEXT'
../include/winbase.h:121: warning: data definition has no type or storage class
../include/winbase.h:123: error: syntax error before "LPEXCEPTION_POINTERS"
../include/winbase.h:123: warning: type defaults to `int' in declaration of `LPEXCEPTION_POINTERS'
../include/winbase.h:123: warning: data definition has no type or storage class
../include/winbase.h:1362: error: syntax error before "CONTEXT"
../include/winbase.h:1499: warning: type defaults to `int' in declaration of `CONTEXT'
../include/winbase.h:1499: error: syntax error before '*' token
make[1]: *** [casemap.o] Fehler 1
make[1]: Leaving directory `/home/NoVa/.WineCVS/sources/cvscedega/winex/unicode'
make: *** [unicode/libwine_unicode.so] Fehler 2


Error in Make

Try fixing the error based on the output above, and
run the script again, without paramaters (Eg: WineCVS.sh)


mfg N.o.V.a

muad'dib
16.08.05, 23:44
Hat jemand dafür ein Lösung? bekomme nämlich genau den gleichen Fehler :mad:

De Kus
29.11.05, 08:39
prinzipiel ist der obigen Fehlermeldung schnell beizukommen indem man den Source austrickst und mit './configure CFLAGS=-D__i386__' configuriert. Aber wie man sich denken kann läuft das nicht sehr lange gut. Denn es wurden offensichtlich assembler Befehle eingebaut, welche wohl nicht sehr x86_64 kompatible sind :(.


make[1]: Gehe in Verzeichnis »/usr/src/winex/port«
gcc -MMD -c -I. -I. -I../include -I../include -D__i386__ -m64 -Wall -fno-keep-static-consts -D__const=const -fno-strict-aliasing -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o port.o port.c
/tmp/ccBNdBwf.s: Assembler messages:
/tmp/ccBNdBwf.s:251: Error: suffix or operands invalid for `push'
/tmp/ccBNdBwf.s:254: Error: suffix or operands invalid for `pop'
make[1]: *** [port.o] Fehler 1
make[1]: Verlasse Verzeichnis »/usr/src/winex/port«
make: *** [port/libwine_port.so] Fehler 2

Die betroffenen Codezeilen dürften wohl folgende sein:

#ifdef __i386__
int ret;
void **stack_ptr = (void **)stack;
*--stack_ptr = arg; /* Push argument on stack */
*--stack_ptr = fn; /* Push function pointer (popped into ebx) */
__asm__ __volatile__( "pushl %%ebx\n\t"
"movl %2,%%ebx\n\t"
"int $0x80\n\t"
"popl %%ebx\n\t" /* Contains fn in the child */
"testl %%eax,%%eax\n\t"
"jnz 0f\n\t"
"xorl %ebp,%ebp\n\t" /* Terminate the stack frames
*/
"call *%%ebx\n\t" /* Should never return */
"xorl %%eax,%%eax\n\t" /* Just in case it does*/
"0:"
: "=a" (ret)
: "0" (SYS_clone), "r" (flags), "c" (stack_ptr) );
assert( ret ); /* If ret is 0, we returned from the child function */
if (ret > 0) return ret;
errno = -ret;
return -1;
#else
...
#if defined( __linux__ ) && defined( __i386__ )

/* fprintf( stderr, "Attempting linux tkill syscall\n" ); */

__asm__( "pushl %%ebx\n\t"
"movl %2,%%ebx\n\t"
"int $0x80\n\t"
"popl %%ebx\n\t"
: "=a" (ret)
: "0" (SYS_tkill), "r" (tid), "c" (sig) );

if( ret >= 0 ) return ret;

/* fprintf( stderr, "Invoking fallback for tkill\n" ); */

#endif

Glaubt ihr da liese sich was machen? Hab mal den Code testweise komplett rausgenommen, er hängt wie zu erwarten war das nächste mal wo pushl benutzt wird... Kann man diese pushl assembler Teile irgendwie allgemein für x86_64 portieren? Oder wäre das eher eine Fall zu Fall Sache (in welcher ich als Leie keine Chance hätte den Code Stück für Stück anzupassen :D)?

PS: System ist Debian 3.1 r0a Sarge amd64

ciruZ
29.11.05, 15:37
Ihr müsst Cedega als 32-Bit Anwendung bauen. Als 64-Bit geht nicht, weil er dann auch den Prozessor und nicht nur die API emulieren müsste. Schaut euch beim configure-Script mal --host und --target an.

HellR4i5eR
01.12.05, 10:35
Ihr müsst Cedega als 32-Bit Anwendung bauen. Als 64-Bit geht nicht, weil er dann auch den Prozessor und nicht nur die API emulieren müsste. Schaut euch beim configure-Script mal --host und --target an.

Ich weiß net was du hast.. aber ich habs unter 64 bit installiert und nicht als 32 bit.. einfack mit dpkg --force-all -i cedega.deb .. installen... aber wies genau bei suse mit den rpms ist kann ich nicht sagen.. Poste doch mal im transgaming forum.

GreeTz HellRaiser

ciruZ
03.12.05, 23:00
Genau das, was du gemacht hast, installiert die 32-Bit Version. Es gibt keine 64-Bit Version von cedega und kann auch gar keine geben. Höchstens eine 64-Bit Version, die dann 64-Bit Windows-Anwendungen ausführt.

De Kus
03.12.05, 23:14
irgendwie kann ich soviel versuchen auf i386 oder i686-pc-linux zu kompilieren wie ich will, am ende bricht der Assembler immer mit dem obigen push/pop Problem des Assamblens ab. binutils-multiarch zu installieren wars wohl auch noch net *seufz*.

ciruZ
04.12.05, 00:21
Sieht es immer noch so aus wie oben, also die gcc-Zeile? Wenn ja, dann versuchst du immer noch eine Version für AMD64 zu bauen, was nicht gehen kann.

De Kus
09.12.05, 02:23
ich hab schon zig verschiedene Einstellungen mit configure versucht, um das zu ändern. Wenn ich das richtig verstanden habe müsste:
--target=i686-pc-linux-gnu
der richtige schalte sein. beim configure erkennt er das auch richtig. Bei einfach nur 'i386' kommt das selbe, genauso wenn ich build oder host statt target ändere. Das einzigste was mich ein wenig stutzig macht ist, dass wenn ich 'CFLAGS=-m32' noch mit angebe, dass dann configure gleich am Anfang abbricht, da gcc meint er würde keine verwertbare glibc finden. Nachdem ich dann das Packet "binutils-multiarch" installiert hatte, dachte ich irgendwie, dass es denn nu eigentlich gehen müsste, wenn es vorher daran lag, dass crosscompiling nicht ging. Beim versuch binutils selber für crosscompile to compilieren durfte ich die binutils von DVD wieder installieren und GCC compilieren für crosscompile macht er schon gar nicht... aber theoretisch müsste in /emul/ia32-linux/lib alles wichtige sein (inklusive einer libc-2.3.2.so) *achsel zuck*.

Los_Andros
09.12.05, 08:28
gcc 32 Bit Version installieren und über ein 32 Bit Environment eine Shell öffnen und dann kompilieren.
-m64 daran sieht man ja, dass der gcc als 64 Bit kompiuliert

ciruZ
09.12.05, 13:36
Dann wird bei dir wohl irgendwie doch noch der 64-Bit GCC gestartet und erst mit -m32 macht er 32-Bit Code. Du mußt wahrscheinlich noch eine 32-bit glibc installieren.

moor_mat
20.12.05, 15:14
Ich weiß net was du hast.. aber ich habs unter 64 bit installiert und nicht als 32 bit.. einfack mit dpkg --force-all -i cedega.deb .. installen... aber wies genau bei suse mit den rpms ist kann ich nicht sagen.. Poste doch mal im transgaming forum.

GreeTz HellRaiser


eine cedega-64-bit-deb? Also, sowas hab ich nirgend's gefunden...

Hab ein Debian 64bit, vlt. koennte es ja da ohne dieses Script gehen......

ciruZ
20.12.05, 17:51
moor_mat: Nein, es gibt auch keine. Wie auch. Nochmals: Das kann gar net im 64-Bit Modus klappen, da die Windows Binaries 32-Bit sind. Er hat die 32-Bit Version damit installiert.

moor_mat
20.12.05, 22:11
Verstaendissfrage:

Es gibt doch aber auch 64bit-Windoof-versionen, oder? Warum kann man nicht eine von denen emulieren?
Tut mir leid, das hab ich jetzt noch nicht ganz geschnallt....

De Kus
20.12.05, 23:41
Man könnte, wenn sich das Wine/Cedega Projekt um derren Umsetzung kümmern würde. Da es aber bisher eigentlich kaum Gründe 64Bit Windows Anwendungen benutzen zu wollen (man bedenke, dass sogar ein sogenanntes 64Bit optimiertes Spiel sogar unter 64Bit langsamer lief wie mit 32Bit :D).
64Bit Cedega wäre natürlich toll, aber ich würde mich auch mit nem 32Bit Winex begnügen, aber irgendwie scheint wohl die Makefile nen macken haben oder so. Muss wohl mal auf nem Forum fragen ^-^.

moor_mat
21.12.05, 12:30
Gut, dann schau ich mir mal an wie man bei chroot die 3D-Unterstuetzung zum laufen bringt...

So wuerd's naemlich schon gehen...:ugly:

ciruZ
21.12.05, 14:35
Es gibt doch aber auch 64bit-Windoof-versionen, oder? Warum kann man nicht eine von denen emulieren?
Tut mir leid, das hab ich jetzt noch nicht ganz geschnallt....
1.) Wine kann keine 64-Bit Binaries. Aber IIRC wird sowas geplant (wenn auch eigentlich eher sinnlos, aber naja, die haben ja viele Fun-Projekte).
2.) Wie viele 64-Bit Windows Anwendungen kennst du? Die kann man an einer Hand abzählen. So, und jetzt die Preisfrage: Wie viele 64-Bit Windows Anwendungen gibt es, die schneller sind als ihre 32-Bit Version? Eigentlich keine.

64-Bit hat nichts mit Geschwindigkeit zu tun, kein bisschen. Vielmehr mit mehr als 3 GB RAM (ja, 3, nicht 4, da Speicherbereiche über 3 GB oft für das RAM von Hardware ist).

moor_mat
21.12.05, 18:01
1.) Wine kann keine 64-Bit Binaries. Aber IIRC wird sowas geplant (wenn auch eigentlich eher sinnlos, aber naja, die haben ja viele Fun-Projekte).
2.) Wie viele 64-Bit Windows Anwendungen kennst du? Die kann man an einer Hand abzählen. So, und jetzt die Preisfrage: Wie viele 64-Bit Windows Anwendungen gibt es, die schneller sind als ihre 32-Bit Version? Eigentlich keine.

64-Bit hat nichts mit Geschwindigkeit zu tun, kein bisschen. Vielmehr mit mehr als 3 GB RAM (ja, 3, nicht 4, da Speicherbereiche über 3 GB oft für das RAM von Hardware ist).


Zu 2) Hm, genau genommen keine...wird aber damit zusammenhaengen dass ich das Zeugs einfach nicht benutze....
Es haben nur in unserer Schule ein paar ein 64-bit Windoof oben, darum hab ich mir gedacht ich frag mal...

De Kus
22.12.05, 06:04
1.) Wine kann keine 64-Bit Binaries. Aber IIRC wird sowas geplant (wenn auch eigentlich eher sinnlos, aber naja, die haben ja viele Fun-Projekte).
2.) Wie viele 64-Bit Windows Anwendungen kennst du? Die kann man an einer Hand abzählen. So, und jetzt die Preisfrage: Wie viele 64-Bit Windows Anwendungen gibt es, die schneller sind als ihre 32-Bit Version? Eigentlich keine.

64-Bit hat nichts mit Geschwindigkeit zu tun, kein bisschen. Vielmehr mit mehr als 3 GB RAM (ja, 3, nicht 4, da Speicherbereiche über 3 GB oft für das RAM von Hardware ist).
Nun, das Problem beim Thema Geschwindigkeit liegt daran, dass es nur bei Variablen größer als 32Bit Geschwindigkeit bringen würde. Aber es gibt eigentlich keine Anwendung, die das ausnutzen würde :). Für die Berechnung mit Texten werden ja nur 8Bit benötigt, der normale gebräuchliche Integer hat 16Bit und für normale Grafikberechnungen haben bisher auch immer 32Bit Koordinaten und Farbtiefen hergehalten. Also ein Programm, das auch auf 32Bit laufen würde, hat auf 64Bit eben keinen Vorteil :D. Nun wird sich aber früher oder später die Entwicklung auf 64Bit konzentrieren (ähnlich wie damals von 16Bit auf 32Bit) und daher kann es nie einen Fehler sein jetzt den Weg für zukünftige 64Bit zu ebnen, auch wenn es jetzt hier und heute noch absolut sinnlos wäre. Das ist zumindest meine Einschätzung der Lage.

ciruZ
27.12.05, 13:17
dass es nur bei Variablen größer als 32Bit Geschwindigkeit bringen würde.
Selbst das ist so minimal. Ich hab schon einige Benchmarks gesehen, wo selbst bei 64-Bit Berechnungen die 64-Bit Prozessoren nicht wirklich schneller waren. Die 32-Bit Prozessoren können eben schon sehr gut mit 64-Bit umgehen.
Die Graphikberechnungen anzuführen ist totaler quatsch, da das die Graphikkarte macht und nicht der Prozessor. Der gibt die Daten nur an die Graphikkarte weiter.
Und daß es irgendwann nur noch 64-Bit Anwendungen gibt stimmt, aber die werden dann wohl eh alle für Vista sein und daher wird davon wohl eher garnichts in Wine laufen, bis die neue API eben abgebildet werden kann.

Kay Schwieger
21.03.07, 23:53
Die Frage bleibt: Wie kriege ich Cedega unter 64-Bit-Systemen zum Laufen?

Btw: Auf Windows Vista laufen auch 32-Bit-Anwendungen. Also 32-Bit unter 64-Bit-Systemen ist möglich.

backflip
22.03.07, 18:15
http://frankscorner.org/index.php?p=downloads
Versuch es mal mit diesem RPM-Paket, das ist das kompilierte cvscedega. Alternativ einfach mal 15 Euro investieren ;)