Questions about Wine on Linux
KenSharp
Level 4
Posts: 149 Joined: Mon Jul 13, 2009 8:52 pm
Post
by KenSharp » Wed Jun 27, 2012 12:26 am
I cannot figure out why this might be happening but to make sure it wasn't my system, I wiped all relevant files and started again.
Compiled Wine64 on my Ubuntu Precise 64-bit (amd64) system:
$wine64 --version
wine-1.5.7-114-gd079b66
Compiled Wine32 on the same system but in a 32-bit (i386) chroot:
$wine --version
wine-1.5.7
They're built from the same tree and apart from the obvious exceptions, the same build options.
I'm happy to accept that it could be something wrong with my system but I don't know where to start. Anyone come across this before?
DanKegel
Moderator
Posts: 1164 Joined: Wed May 14, 2008 11:44 am
Post
by DanKegel » Wed Jun 27, 2012 12:46 am
Do 'strings libs/wine/version.o' in both build directories.
It should show what each tree's --version will return.
(Or just look at libs/wine/version.c, which is generated by make.)
KenSharp
Level 4
Posts: 149 Joined: Mon Jul 13, 2009 8:52 pm
Post
by KenSharp » Wed Jun 27, 2012 2:01 am
64-bit
const char wine_build[] = "wine-1.5.7-114-gd079b66";
32-bit
const char wine_build[] = "wine-1.5.7";
And just recompiled again from the same tree.
Madness!
DanKegel
Moderator
Posts: 1164 Joined: Wed May 14, 2008 11:44 am
Post
by DanKegel » Wed Jun 27, 2012 10:10 am
Not madness - it's a fallback.
In your source tree, try
cd libs/wine
rm version.c
make version.c
You should see
version=`(GIT_DIR=/home/dank/wine-git/.git git describe HEAD 2>/dev/null || echo "wine-1.5.7") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
Note how it tries using git, but falls back to a hardcoded string if git fails.
Now do that again in the chroot or whatever you're using to build 32 bits.
In that tree, the git operation is failing, maybe because you don't have git installed.
KenSharp
Level 4
Posts: 149 Joined: Mon Jul 13, 2009 8:52 pm
Post
by KenSharp » Wed Jun 27, 2012 2:14 pm
Yep, that's it! I never even thought that git wasn't installed. I assumed it came with build-essential but forgot to check.
There's always someone who knows the answer, thanks Dan!