This forum has been archived. All content is frozen. Please use KDE Discuss instead.

CacheSizes compilation error on Solaris x86

Tags: None
(comma "," separated)
bejazzy
Registered Member
Posts
3
Karma
0
OS
Hi there !

I would like to -- I have to ;) -- use Eigen on a Solaris 10 x86.

Code: Select all
$> uname -a
SunOS 5.10 Generic_127112-10 i86pc i386 i86pc


I'm using the lastest version of Eigen (i.e 3.0.4) with a GCC 3.4.6

I've this error:
Code: Select all
/usr/include/Eigen/src/Core/util/Memory.h:889: error: can't find a register in class `BREG' while reloading `asm'


It occurs in the inline function 'queryCacheSizes()' when 'EIGEN_CPUID' is called. This seems to be called by:
Code: Select all
/usr/include/Eigen/src/Core/products/TriangularSolverMatrix.h:71


Is a vectorization problem? I tried '-DEIGEN_DONT_VECTORIZE' but the error is the same. Then, I tried a fast&dirty '#undef EIGEN_CPUID' but I've an assembler error (doesn't make me sense for me right now). Maybe I should try to install GCC 4.2.x.

Do you have any idea? How can I fix it? Thanks a lot.

xxx
bejazzy
Registered Member
Posts
3
Karma
0
OS
I update my own topic. I launched a 'make check' for Eigen 3.0.4 on this Solaris 10 x86 and there is a compilation error for 'nomalloc':

Code: Select all
[  0%] Building CXX object test/CMakeFiles/nomalloc_4.dir/nomalloc.cpp.o
Assembler: nomalloc.cpp
        "/var/tmp//ccEqIhED.s", line 18955 : Illegal mnemonic
        Near line: "    #mybegin2"
        "/var/tmp//ccEqIhED.s", line 18955 : Syntax error
        Near line: "    #mybegin2"
        "/var/tmp//ccEqIhED.s", line 19029 : Illegal mnemonic
        Near line: "    #myend"
        "/var/tmp//ccEqIhED.s", line 19029 : Syntax error
        Near line: "    #myend"
make[3]: *** [test/CMakeFiles/nomalloc_4.dir/nomalloc.cpp.o] Error 1
make[2]: *** [test/CMakeFiles/nomalloc_4.dir/all] Error 2
make[1]: *** [CMakeFiles/buildtests.dir/rule] Error 2


I hope this will help.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
if you can use a more recent version of gcc that would help a lot, and you would get much better performance. GCC 4.2 is the recommended minimum for Eigen.
bejazzy
Registered Member
Posts
3
Karma
0
OS
Thanks for you advice !

I checked the GCC version on the official website and GCC 3.4 is quoted. As GCC 3.4.6 has already installed on this system, I would like to use Eigen with it.

A colleague of mine showed me this link about GCC and Solaris 10 x86
http://gcc.gnu.org/install/specific.htm ... solaris210

So I'll try to install GCC 4.2.4 locally. I think there are some unavailable GCC 4.2.4 dependencies on this (old) system and it may be more complicated than I think. I'll see...

See you.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]