Taylor,
are you running 64-bit Ubuntu? Cause I've recently compiled SRILM on my
Ubuntu and probably came across the very same problem. (I don't remember
the filename, but stubs.h sounds familiar to me.)
Anyway, I think your problem might be caused by SRILM being compiled in
32-bit mode instead of 64-bit. This is likely to be caused by incorrect
machine type detection (at least it was in my case). Try to uncomment
line 109 in srilm/sbin/machine-type script and comment out the following
line, so instead of setting MACHINE_TYPE to i686 the script will set it
to i686-m64.
Cheers,
Česlav
on 08/09/11 21:18 Taylor Rose said the following:
This is really old but I found a work around and I figure I'd post
this to save time for anyone in the future with this problem.
This is in response to a post from 17 Aug 2010:
--------------------------------------------------------------
Dear Moses Support,
While following the installation instructions (
http://www.statmt.org/moses_steps.html), I encountered the following error.
This happened while running *make World*.
make[2]: Entering directory `/home/sxl382/demo/tools/srilm/misc/src'
gcc -m32 -mtune=pentium3 -Wall -Wno-unused-variable -Wno-uninitialized
-D_FILE_OFFSET_BITS=64 -I. -I../../include -c -g -O3 -o
../obj/i686/option.o option.c
In file included from /usr/include/features.h:352,
from /usr/include/stdio.h:28,
from option.c:22:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or
directory
make[2]: *** [../obj/i686/option.o] Error 1
make[2]: Leaving directory `/home/sxl382/demo/tools/srilm/misc/src'
make[1]: *** [release-libraries] Error 1
make[1]: Leaving directory `/home/sxl382/demo/tools/srilm'
make: *** [World] Error 2
Could you please let me know if there is anything I am missing ?
Thank you very much.
Regards,
Shibamouli Lahiri
--------------------------------------------------------------------
So I had this same exact error. I'm running 64-bit Ubuntu 10.10.
If you go to the directory in question you'll see that indeed
stubs-32.h does not exist. In it's place is stubs-64.h
Now open stubs.h in your favorite text editor.
You'll see:
#if __WORDSIZE == 32
# include<gnu/stubs-32.h>
#elif __WORDSIZE == 64
# include<gnu/stubs-64.h>
Change it to:
#if __WORDSIZE == 32
# include<gnu/*stubs-64*.h>
#elif __WORDSIZE == 64
# include<gnu/stubs-64.h>
Boom. Done.
This allowed me to install srilm.
Does anyone know if this modification is a huge problem? I am no expert
with linux so I'm not sure if this change will cause other things to
blow up later.
--
Taylor Rose
Machine Translation Intern
Language Intelligence
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support