WineHQ
Wine Forums

Board index » WineHQ » Wine Help




 Page 1 of 2 [ 43 posts ] Go to page 1, 2  Next



 
Author Message
 Post Posted: Thu Dec 09, 2010 4:37 am 
Offline
Newbie
Newbie

Joined: Thu Dec 09, 2010 4:18 am
Posts: 4
Location: Bangalore
I am trying to Recomiple the Wine 1.3.8 for the Arm.
I configured as follows,

> export CC=arm_v5t_le-gcc
> ./configure --prefix=/usr/local/Wine_Arm --host=arm --with-wine-tools=$PWD --without-freetype

then,

> make
config.status: creating tools/Makefile
make[1]: Entering directory `/home/Kanna/wine-1.3.8/tools'
arm_v5t_le-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wpointer-arith -g -O2 -o makedep.o makedep.c
arm_v5t_le-gcc -g -O2 -o makedep makedep.o
/home/Kanna/wine-1.3.8/tools/makedep -C. -S.. -T.. fnt2bdf.c fnt2fon.c make_ctests.c makedep.c relpath.c sfnt2fnt.c
/home/Kanna/wine-1.3.8/tools/makedep: /home/Kanna/wine-1.3.8/tools/makedep: cannot execute binary file

I am getting the above error, because i am using x86 for cross-compiling the wine to ARM, the makedep is compiled for ARM, so it cannot run on the x86.

Please help to compile the Wine for ARM Platform.

Regards,
Kannadasan S.


Top 
 Post Posted: Thu Dec 09, 2010 9:47 am 
Offline
Moderator
Moderator

Joined: Sat Feb 23, 2008 2:29 pm
Posts: 6605
eyedasan wrote:
I am getting the above error, because i am using x86 for cross-compiling the wine to ARM, the makedep is compiled for ARM, so it cannot run on the x86.

If you cross-compiling you'll need to point Wine to x86 build directory. Ex:
Code:
mkdir /home/Kanna/wine-linux-build
mkdir /home/Kanna/wine-arm-build

cd /home/Kanna/wine-linux-build
../wine-1.3.8/configure && make
cd /home/Kanna/wine-arm-build
../wine-1.3.8/configure --host=arm --with-wine-tools=../wine-linux-build
make


Top 
 Post subject: Hi Vitamin
 Post Posted: Fri Dec 10, 2010 5:07 am 
Offline
Newbie
Newbie

Joined: Thu Dec 09, 2010 4:18 am
Posts: 4
Location: Bangalore
Thanks for the information, i followed the steps as you told.
but I am getting the Following Error,

Code:
v

../../wine-linux-build//tools/widl/widl -b arm  -I../../wine-1.3.8/include -I. -I../../wine-1.3.8/include -I../include    -t -T stdole2.tlb ../../wine-1.3.8/include/stdole2.idl
error: Invalid target specification 'arm'
make[1]: *** [stdole2.tlb] Error 2
make[1]: Leaving directory `/home/Kanna/wine-arm-build/include'
make: *** [include] Error 2


Please provide the Information.

Regards,
Kannadasan S.


Top 
 Post Posted: Fri Dec 10, 2010 6:31 am 
Offline
Newbie
Newbie

Joined: Thu Dec 09, 2010 4:18 am
Posts: 4
Location: Bangalore
Hi Vitamin,

After compiling the wine to ARM, can we able to run the windows exe directly or we need the Source of that particular windows application?

Regards,
Kannadasan S.


Top 
 Post subject: Re: Hi Vitamin
 Post Posted: Fri Dec 10, 2010 10:03 am 
Offline
Moderator
Moderator

Joined: Sat Feb 23, 2008 2:29 pm
Posts: 6605
eyedasan wrote:
Code:
../../wine-linux-build//tools/widl/widl -b arm  -I../../wine-1.3.8/include -I. -I../../wine-1.3.8/include -I../include    -t -T stdole2.tlb ../../wine-1.3.8/include/stdole2.idl
error: Invalid target specification 'arm'

File a bug.

eyedasan wrote:
After compiling the wine to ARM, can we able to run the windows exe directly or we need the Source of that particular windows application?

No, Wine does not emulate CPU. You will only be able to run winelib apps.


Top 
 Post Posted: Sun Dec 12, 2010 11:47 pm 
Offline
Newbie
Newbie

Joined: Thu Dec 09, 2010 4:18 am
Posts: 4
Location: Bangalore
Hi Vitamin,

Our Target specification as follows,

ARM9 Core 300 MHz Processor
128 MB RAM
128 MB Flash

Is it possible to port the Wine on the above platform?
What is the Minimun Memory Footprint required to port wine on any platform?

Regards,
Kannadasan S.


Top 
 Post subject:
 Post Posted: Mon Dec 13, 2010 6:09 am 
Offline
Newbie
Newbie

Joined: Fri Feb 22, 2008 8:23 pm
Posts: 4
@Eyedasan

Sorry to disappoint you, but what Vitamin was saying is that Wine can only run on an x86 processor. It does not have the code to emulate an x86 processor on the ARM platform, or the PPC platform, or anything else. This code would need to be added, which is very serious work. That is why Wine stands for Wine Is Not an Emulator.

What Wine does is it intercepts API calls that Windows executables make and translates the Windows API call into an API call that works on Linux or Mac. But whether it's Linux or Mac, the processor must be x86. That's why Wine will not run on older Power Macs, but it will on newer x86 Macs.


Top 
 Post subject:
 Post Posted: Mon Dec 13, 2010 10:18 am 
Offline
Moderator
Moderator

Joined: Sat Feb 23, 2008 2:29 pm
Posts: 6605
rygle wrote:
Sorry to disappoint you, but what Vitamin was saying is that Wine can only run on an x86 processor.

I didn't say that, because it's isn't true. Wine can run on architectures other then x86. However in such setup Wine will not be able to run x86 Windows programs. It can still run winelib programs (programs recompiled with winegcc).

eyedasan, I'm not sure what you need Wine for. On such a hardware it will consume all 100% of resources just by itself. Regardless you still need Xorg to have functioning Wine, which leaves nothing at all for the app itself.


Top 
 Post subject: Bug open
 Post Posted: Thu Mar 31, 2011 5:23 pm 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
http://bugs.winehq.org/show_bug.cgi?id=26614


Top 
 Post subject:
 Post Posted: Fri Apr 01, 2011 12:13 pm 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
So let's have a look at:
Quote:
> export CC=arm_v5t_le-gcc
> ./configure --prefix=/usr/local/Wine_Arm --host=arm --with-wine-tools=$PWD --without-freetype

--host=arm is the wrong way, as explained in the bug, also arm_v5t_le-gcc scares me. that shouldn't look like that IMHO.

i have a (not fully working) crosscompiling setup which looks like:
../configure --host=arm-linux-gnueabi --with-wine-tools=../164/ --without-freetype host_alias=arm-linux-gnueabi

this doesn't even need a "export CC", but FWIW it would be arm-linux-gnueabi-gcc

Further i have no good experience with crosscompiling Wine for ARM, i normally build directly on the ARM system(which is quite more fun with dual-core ARM at 1GHz).

Quote:
After compiling the wine to ARM, can we able to run the windows exe directly or we need the Source of that particular windows application?


No you won't as vitamin already said, but he is also right about winelib.
You can recompile existing apps for winelib and run them on ARM, i e.g. did that with putty as you can see here: http://dawncrow.de/arm4.png

Quote:
ARM9 Core 300 MHz Processor
128 MB RAM
128 MB Flash

Is it possible to port the Wine on the above platform?


Yes, it is. But I'm afraid your user experience will not be that great with 300 MHz.
What device is that?


Top 
 Post Posted: Fri Apr 01, 2011 1:07 pm 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
eyedasan wrote:
I am trying to Recomiple the Wine 1.3.8 for the Arm.

Also you should try a more recent version of Wine, e.g. Wine 1.3.17


Top 
 Post subject:
 Post Posted: Wed Apr 13, 2011 7:51 pm 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
Every time I try to cross-compile in Ubuntu Maverick I get a different result! Something is obviously broken and I doubt it's Wine, but it is a bloody nuisance.

Code:
ccache arm-linux-gnueabi-gcc -c -I/home/test/wine-git/dlls/winex11.drv -I. -I/home/test/wine-git/include -I../../include -I/usr/include -D__WINESRC__  -D_REENTRANT -fPIC -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op  -g -O0  -o x11drv_main.o /home/test/wine-git/dlls/winex11.drv/x11drv_main.c
/home/test/wine-git/dlls/winex11.drv/x11drv_main.c: In function ‘process_attach’:
/home/test/wine-git/dlls/winex11.drv/x11drv_main.c:534:33: error: ‘SONAME_LIBX11’ undeclared (first use in this function)
/home/test/wine-git/dlls/winex11.drv/x11drv_main.c:534:33: note: each undeclared identifier is reported only once for each function it appears in
make: *** [x11drv_main.o] Error 1


At the moment, I seem to be getting a consistent failure, as above.


Top 
 Post subject:
 Post Posted: Thu Apr 14, 2011 10:55 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
that most likely means that configure finds your x11 headers, but doesn't find the x11 library.
e.g. for me in config.h:
#define SONAME_LIBX11 "libX11.so.6"


Top 
 Post subject:
 Post Posted: Thu Apr 14, 2011 11:24 am 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
Well, until I can figure that one out I decided to just build with --without-x which completed successfully. But...

Code:
$ qemu-arm ./wine --version
Unknown binary format
Error -1 while loading ./wine


Ugh! I'm sure I had a partial build that worked at least that much before, but as I have said... result definitely do vary.

Out of interest what is host_alias=arm-linux-gnueabi for?


Top 
 Post subject:
 Post Posted: Thu Apr 14, 2011 11:38 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
./wine is a script, qemu seems to expect a arm binary

from ./configure --help:
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]


Top 
 Post subject:
 Post Posted: Thu Apr 14, 2011 5:37 pm 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
Ugh! Good point!

I get the --host= but I don't know where host_alias= is used.

Code:
$ qemu-arm ./wine --version
/lib/ld-linux.so.3: No such file or directory


Pffft. And there isn't, it's looking in the wrong place. How can I make it look in the correct place?

I don't understand why I'm having such a hard time with this. I wonder if this will be easier when upgraded to Natty.


Top 
 Post subject:
 Post Posted: Fri Apr 15, 2011 7:37 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
if host_alias makes no different, then it's most likely some obsolete stuff i copied from somewhere.
for qemu, try the qemu stuff from http://wiki.winehq.org/ARM in reverse


Top 
 Post subject:
 Post Posted: Mon Apr 18, 2011 2:08 pm 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
This one looks genuine:
Code:
ccache arm-linux-gnueabi-gcc -c -I/home/test/wine-git/dlls/ntdll -I. -I/home/test/wine-git/include -I../../include  -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op  -g -O0  -o signal_arm.o /home/test/wine-git/dlls/ntdll/signal_arm.c
{standard input}: Assembler messages:
{standard input}:575: Error: selected processor does not support Thumb mode `stmib r0,{r0-pc}'
{standard input}:577: Error: selected processor does not support Thumb mode `stmib r0,{r1}'


Top 
 Post subject:
 Post Posted: Tue Apr 19, 2011 11:39 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
yeah, that's a valid bug, didn't expect stmib to be unsupported on non-thumb devices


Top 
 Post subject:
 Post Posted: Tue Apr 19, 2011 1:49 pm 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
i just sent a fix:
http://www.winehq.org/pipermail/wine-pa ... 01093.html


Top 
 Post subject:
 Post Posted: Tue Apr 19, 2011 4:45 pm 
Offline
Level 4
Level 4

Joined: Mon Jul 13, 2009 8:52 pm
Posts: 103
Location: England
With patch:
Code:
ccache arm-linux-gnueabi-gcc -c -I/home/test/wine-git/dlls/ntdll -I. -I/home/test/wine-git/include -I../../include  -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op  -g -O0  -o signal_arm.o /home/test/wine-git/dlls/ntdll/signal_arm.c
{standard input}: Assembler messages:
{standard input}:590: Error: r15 not allowed here -- `str PC,[r0,#0x40]'


Top 
 Post subject: similar error
 Post Posted: Tue Apr 26, 2011 1:30 am 
Offline
Level 1
Level 1

Joined: Tue Apr 26, 2011 1:14 am
Posts: 6
I apologise if this is a dumb question, but I am attempting to do the same thing (i.e. compiling wine for ARM except this is an ARMv7) I have followed the configuration commands (./configure --host=arm-linux-gnueabi --with-wine-tools=../wine-tools [<- compiled these from a separate tree] --without-freetype) and now I am using the make command. I keep getting this error:

In file included from ../../../include/windef.h:252,
from ../../../include/wine/library.h:27,
from ../../../libs/wine/config.c:36:
../../../include/winnt.h:1526: error: redefinition of ‘struct _CONTEXT’
../../../include/winnt.h:1566: error: conflicting types for ‘CONTEXT’
../../../include/winnt.h:1006: note: previous declaration of ‘CONTEXT’ was here
make[1]: *** [config.o] Error 1
make[1]: Leaving directory `/home/****/wine-git/wineOnArm/libs/wine'
make: *** [libs/wine] Error 2

-----------------------------------------------------------------------------------
At first I thought it was a left over config from another branch I made, but after I ran a make distclean on my previous branches. The error persists. I think I read in Vitamin's Blog entry about having to erase some CONTEXTs is this what he's talking about? Other important info, I am using CodeSourcery 2009-q27 cross-compilers. The objective is to get wine running on a gumstix. (Even if all I can do is recompile programs from source with the winelibs) Sorry to hijack the blog, but this seemed like the most appropriate place. Also would anyone have a working wine tarball that I could just deploy, or is the only way to compile from source. I have done a lot of google hunting, but came up with null...so I figured I would ask the source. Anyways thanks in advance for any help and your time!


Top 
 Post subject:
 Post Posted: Tue Apr 26, 2011 8:17 am 
Offline
Level 1
Level 1

Joined: Tue Apr 26, 2011 1:14 am
Posts: 6
Nevermind I solved it with the nuke it from orbit and try again approach. Unfortunately the forum isn't letting me delete the other post, so sorry for the useless post.


Top 
 Post subject: Re: similar error
 Post Posted: Tue Apr 26, 2011 11:46 am 
Offline
Moderator
Moderator
User avatar

Joined: Sun Dec 07, 2008 8:33 am
Posts: 196
Location: Germany
jim11 wrote:
I think I read in Vitamin's Blog entry


Do you have a link?

jim11 wrote:
about having to erase some CONTEXTs is this what he's talking about?


The fact that the compiler warns about a duplicated CONTEXT struct tell's me that there are most likely both defines: __x86_64__ and __arm__


Top 
 Post subject:
 Post Posted: Tue Apr 26, 2011 12:42 pm 
Offline
Level 1
Level 1

Joined: Tue Apr 26, 2011 1:14 am
Posts: 6
You're correct about the defines, when I checked this morning the __x86_64__ had already been defined, so it came into conflict when I tried to compile the other wine under ARM. Hence why I restarted with a fresh chain and was able to get further this morning. As far as a link to the Blog entry I haven't been able to relocate, I may have been getting confused with some other ARM research I have been doing in addition to this. But now I have a completely new make error, I'm getting a winebuild:

arm-linux-gnueabi-as failed with status 1
winegcc: /home/***/wine-git/wine-tools/tools/winebuild/winebuild failed make[1]: *** [acledit.dll.so] Error2

I think it has something to do with the wine compiler (hence the error message :-), so when I find sometime today I think I am going to try to manual cross compile the acledit.dll with the CodeSourcery tools. That is unless you have an easier method? Of course I really don't know how much of this I need, because I am just trying to compile and run a single command line windows application. Thanks for any help in advance!


Top 
Display posts from previous:  Sort by  
 
 Page 1 of 2 [ 43 posts ] Go to page 1, 2  Next




Board index » WineHQ » Wine Help


Who is online

Users browsing this forum: Google [Bot] and 16 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: