So, I’m trying to compile the “render” branch of Blender 2.5 on a Fedora 8 virtual machine (in preparation for setting it up on Amazon’s AWS, since they have public images for Fedora 8), and run into this compile error that I’m not sure what it means:
Compiling ==> 'implicit.c'
source/blender/blenkernel/intern/implicit.c: In function ‘mul_bfmatrix_lfvector’:
source/blender/blenkernel/intern/implicit.c:592: error:
‘CLOTH_OPENMP_LIMIT’ undeclared (first use in this function)
source/blender/blenkernel/intern/implicit.c:592: error:
(Each undeclared identifier is reported only once
source/blender/blenkernel/intern/implicit.c:592: error:
for each function it appears in.)
source/blender/blenkernel/intern/implicit.c: In function ‘cloth_calc_force’:
source/blender/blenkernel/intern/implicit.c:1700: error:
‘CLOTH_OPENMP_LIMIT’ undeclared (first use in this function)
scons: *** [/path/to/blender-svn/build/linux2/source/blender/blenkernel/intern/implicit.o] Error 1
scons: building terminated because of errors.
I looked at the file, and there is a “#define CLOTH_OPENMP_LIMIT 25” at the top of the file, so the variable is being “defined”, but the compiler doesn’t think it’s “declared”? That variable is only used in “#pragma” statements (lines 592 and 1700, which are being referenced in the error) later in that file.
This error wasn’t happening when I did it days ago on my CentOS 5 box, and it looks like that variable has been part of the SVN repository since revision 28833 (I’m building against revision 30336 currently), so I’m guessing it’s working for most people. But this is a fairly old version of Fedora; could some of the development tools be too old to compile this branch?
I did check the version of gcc on both boxes:
Fedora 8:
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
CentOS 5:
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)
So, the CentOS 5 one is newer, but not by any version number. Is there any other compile tool I should check the version of to see if it’s the reason for this variable not being recognized?