Bug#602395: elmerfem: FTBFS on armel: private class and invalid cast
Sune Vuorela
sune at debian.org
Thu Nov 4 13:57:28 UTC 2010
On Thursday 04 November 2010 14:33:26 you wrote:
> Package: src:elmerfem
> Severity: important
> Version: 5.5.0.svn.4716.dfsg-2
>
> Elmer is failing to build on armel:
>
> g++ -c -pipe -O2 -D_REENTRANT -w -DEG_QWT -DEG_VTK -DEG_MATC -DEG_OCC
> -DEG_PYTHONQT -DHAVE_CONFIG_H -DHAVE_IOSTREAM -DHAVE_FSTREAM
> -DHAVE_LIMITS_H -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_OPENGL_LIB
> -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++
> -I. -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtCore
> -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL
> -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtScript -I/usr/include/qt4
> -I. -I../netgen/libsrc/interface -I/usr/include/qwt-qt4
> -I/usr/include/vtk-5.4 -I/usr/include/opencascade -I/usr/include/python2.6
> -I../PythonQt/src -I/usr/X11R6/include -Itmp -Itmp -o tmp/helpers.o
> src/helpers.cpp /usr/include/qt4/QtGui/qmatrix4x4.h: In member function
> 'void Helpers::invertMatrix(const double*, double*)':
> /usr/include/qt4/QtGui/qmatrix4x4.h:202: error:
> 'QMatrix4x4::QMatrix4x4(int)' is private src/helpers.cpp:95: error: within
> this context
> src/helpers.cpp:95: error: invalid conversion from 'const double*' to 'int'
> src/helpers.cpp:95: error: initializing argument 1 of
> 'QMatrix4x4::QMatrix4x4(int)' make[2]: *** [tmp/helpers.o] Error 1
> make[2]: Leaving directory
> `/build/buildd-elmerfem_5.5.0.svn.4716.dfsg-2-armel-bfQj4O/elmerfem-5.5.0.
> svn.4716.dfsg/ElmerGUI/Application'
Hi
apparantly elmerfem does the following:
void Helpers::invertMatrix(const double *a, double *inva)
{
QMatrix4x4 matrix(a);
....
and QMatrix4x4 has a constructor taking a qreal pointer argument. qreal is a
typedef that on some platforms (most notable arm*) is a typedef to float, on
most platforms it is a typedef to double.
I don't know elmerfem at all, so I don't know what the good fix would be, but
maybe making the matrix helpers use qreals instead of doubles. or something.
/Sune
More information about the debian-science-maintainers
mailing list