Thursday, July 08, 2010

 

Element 3.x build missing stubs-32.h

Q: Trying to build Element 3.2.x for the first time, and hitting this compile error:

Making liblinx.a
In file included from /usr/include/features.h:359,
from /usr/include/assert.h:37,
from linx.c:31:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make[5]: *** [lib] Error 1
make[5]: Leaving directory
/home/jmir/Element/Releases/3.2.0/element_3.2.0/3party/linx/linux-x86_64/linx-
2.2.2/liblinx


A: Google is your friend. Your 64-bit system was installed without (optional) 386 support. The LINX team decided a while ago that, on 64-bit hosts, liblinx.a shall be built in both 32- and 64-bit versions. So you are on the hook for 32-bit, if you don't want to change the way LINX builds. The easiest way to get through this is to add glibc for 386:

$ yum install glibc-devel.i386

A more complete explanation of the problem can be found at
http://linux.derkeiler.com/Mailing-Lists/Fedora/2008-06/msg02081.html

Q: I did that, but now get this error:

--- Building Element Libraries
make[2]: Entering directory `/home/jmir/Element/Releases/3.2.0/element_3.2.0'

make[3]: Entering directory `/home/jmir/Element/Releases/3.2.0/element_3.2.0/3party/linx'/bin/cp: cannot create regular file
`/home/jmir/Element/Releases/3.2.0/element_3.2.0/ref_platforms/generic_cluster/../../lib/linux-x86_64/liblinx.a':
No such file or directory

make[3]: *** [/home/jmir/Element/Releases/3.2.0/element_3.2.0/ref_platforms/generic_cluster/../../lib/linux-
x86_64/liblinx.a] Error 1


A: This time, google is not your friend. The "native-linux-x86_64" object directories are normal and desired in this case, but the compile error is somewhat misleading. After adding 32-bit support you should "make clean" and start over.

Labels: , ,


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?

free web hit counter
free invisible web counter