Render-25 compile failing on Fedora 8

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?

Your problem is probably with OpenMP (which is what that variable is related to) That compiler version is too old to support openmp. If you have blender’s OpenMP build option turned on, turn it off and see if that fixes it. If it still doesn’t work, then you will probably need to upgrade your compiler.

Well, gave that a try, and indeed Blender compiles without OpenMP support, though now I’m wondering what that does. It looks like it is for multi-processor support. Both the CentOS box and Fedora box wer using gcc 4.1.2, so if it didn’t work for one, I would guess it wouldn’t work for the other, but it worked fine for the CentOS box. Both of these machines are actually VirtualBox virtual machines, set up with the same RAM and processors (2048 RAM, 4 cores), so there shouldn’t be a difference there…