[eigen] using eigen in OpenEmbedded/ ARM processor

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello,
I was pleasantly surprised yesterday to see that a program using Eigen
compiles and runs without problem so far on an ARM8 cpu (using the
OpenEmbedded linux distribution). The only minor compilation problem I
had so far was with std::pow (see below). The cross compiler is gcc
4.3 (internaly built by openEmbedded)

| arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8
-mfpu=neon -mfloat-abi=softfp
-isystem/home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/include
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2
-fpermissive -fvisibility-inlines-hidden
-L/home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/lib
-Wl,-rpath-link,/home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/lib
-Wl,-O1 -Wl,--hash-style=gnu -I/home/tjhunter/lab/eigen
-Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align
-Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings
-Wformat-security -Wextra -fno-exceptions -fno-check-new -fno-common
-fstrict-aliasing -pedantic -o fwmain main.cpp
| In file included from /home/tjhunter/lab/eigen/Eigen/Core:100,
|                  from main.cpp:2:
| /home/tjhunter/lab/eigen/Eigen/src/Core/MathFunctions.h: In function
'int Eigen::ei_pow(int, int)':
| /home/tjhunter/lab/eigen/Eigen/src/Core/MathFunctions.h:65: error:
call of overloaded 'pow(int&, int&)' is ambiguous
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/include/bits/mathcalls.h:154:
note: candidates are: double pow(double, double)
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi//usr/include/c++/cmath:358:
note:                 float std::pow(float, float)
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi//usr/include/c++/cmath:362:
note:                 long double std::pow(long double, long double)
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi//usr/include/c++/cmath:366:
note:                 double std::pow(double, int)
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi//usr/include/c++/cmath:370:
note:                 float std::pow(float, int)
| /home/tjhunter/overo-oe/tmp/staging/armv7a-angstrom-linux-gnueabi//usr/include/c++/cmath:374:
note:                 long double std::pow(long double, int)

I will run the test directory from eigen later this week to see if
everything is working.

Best regards

Tim Hunter



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/