compile problem on openSUSE 11.2 x86_64

39 views
Skip to first unread message

gsahli

unread,
Apr 3, 2010, 7:04:34 PM4/3/10
to MIFit
I couldn't get the MIFit binary to run on openSUSE 11.2 amd_64. error
was Segmentation Fault.
Tried compiling and got this error:
-------------------------------------
make[2]: Entering directory `/home/greg/Download/MIFit-2009.12/libs/
map'
g++ -c -m64 -pipe -O2 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -
fPIC -Wall -W -Wno-unknown-pragmas -D_REENTRANT -DQT_NO_DEBUG -
DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -
DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/
default -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/
include/QtGui -I/usr/include/QtOpenGL -I/usr/include/QtXml -I/usr/
include/QtScript -I/usr/include -I../../libs -I/usr/include/X11 -I/usr/
X11R6/include -Imoc -o CMapHeaderBase.o CMapHeaderBase.cpp
In file included from ../../libs/umtz/umtzlib.h:10,
from ../../libs/umtz/mmtzlib.h:63,
from CMapHeaderBase.cpp:17:
../../libs/umtz/library.h:521:4: error: #error "Can't determine
machine number format"
CMapHeaderBase.cpp: In copy constructor
‘CMapHeaderBase::CMapHeaderBase(const CMapHeaderBase&)’:
CMapHeaderBase.cpp:72: warning: base class ‘class QObject’ should be
explicitly initialized in the copy constructor
make[2]: *** [CMapHeaderBase.o] Error 1
make[2]: Leaving directory `/home/greg/Download/MIFit-2009.12/libs/
map'
make[1]: *** [sub-map-make_default] Error 2
make[1]: Leaving directory `/home/greg/Download/MIFit-2009.12/libs'
make: *** [sub-libs-make_default-ordered] Error 2
--------------------------------------------

Hoping you guys can provide some help!
It has been two years since I last used MIFit, but I appreciated that
it was easier to place small molecules in the structure (like
acetates), than with coot.

Thanks
Greg

Bradley Smith

unread,
Apr 3, 2010, 8:12:20 PM4/3/10
to gsahli, mi...@googlegroups.com
It looks like the umtz library is not designed to build as 64-bit. To
force compiling as 32-bit, add "-spec linux-g++-32" to the qmake
command.

Bradley

gsahli

unread,
Apr 4, 2010, 11:02:54 PM4/4/10
to MIFit
Sorry - it didn't work.
Here's my qmake command:

qmake -r -spec linux-g++-32 MI.pro PREFIX=/opt/MIFit
(no errors here)

make command error result (tail):

g++ -c -m32 -pipe -O2 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2


-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -
fPIC -Wall -W -Wno-unknown-pragmas -D_REENTRANT -DQT_NO_DEBUG -
DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -
DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/

linux-g++-32 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/
include/QtGui -I/usr/include/QtOpenGL -I/usr/include/QtXml -I/usr/
include/QtScript -I/usr/include -I../../../libs -I/usr/include/X11 -
I../../MIFit -I/usr/X11R6/include -Imoc -o figure.o figure.cpp
g++ -c -m32 -pipe -O2 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2


-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -
fPIC -Wall -W -Wno-unknown-pragmas -D_REENTRANT -DQT_NO_DEBUG -
DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -
DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/

linux-g++-32 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/
include/QtGui -I/usr/include/QtOpenGL -I/usr/include/QtXml -I/usr/
include/QtScript -I/usr/include -I../../../libs -I/usr/include/X11 -
I../../MIFit -I/usr/X11R6/include -Imoc -o GLDrawingCanvas.o
GLDrawingCanvas.cpp
GLDrawingCanvas.cpp: In constructor
‘moldraw::GLDrawingCanvas::GLDrawingCanvas(QWidget*)’:
GLDrawingCanvas.cpp:51: error: ‘UINT_MAX’ was not declared in this
scope
GLDrawingCanvas.cpp: In member function ‘virtual void
moldraw::GLDrawingCanvas::mousePressEvent(QMouseEvent*)’:
GLDrawingCanvas.cpp:446: error: ‘UINT_MAX’ was not declared in this
scope
GLDrawingCanvas.cpp: In member function ‘virtual void
moldraw::GLDrawingCanvas::mouseMoveEvent(QMouseEvent*)’:
GLDrawingCanvas.cpp:491: error: ‘UINT_MAX’ was not declared in this
scope
GLDrawingCanvas.cpp: In member function ‘void
moldraw::GLDrawingCanvas::OnChangeFonts(const MIActionEvent&)’:
GLDrawingCanvas.cpp:603: error: ‘UINT_MAX’ was not declared in this
scope
make[3]: *** [GLDrawingCanvas.o] Error 1
make[3]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps/
MIFit/figurelib'
make[2]: *** [sub-figurelib-make_default-ordered] Error 2
make[2]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps/
MIFit'
make[1]: *** [sub-MIFit-make_default] Error 2
make[1]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps'
make: *** [sub-apps-make_default-ordered] Error 2

----------------------------------

Bradley Smith

unread,
Apr 5, 2010, 1:07:34 AM4/5/10
to gsahli, mi...@googlegroups.com
To correct the new error, try adding "#include <climits>" to the top
of the file apps/MIFit/figurelib/GLDrawingCanvas.cpp

Bradley

gsahli

unread,
Apr 5, 2010, 9:55:34 AM4/5/10
to MIFit
Bradley,
That got us farther along.
I really appreciate the help - hope this is helping you in some way,
too.

Here's a new error:

cd main/ && make -f Makefile
make[3]: Entering directory `/home/greg/Download/MIFit-2009.12/apps/
MIFit/main'
g++ -m32 -Wl,--rpath=\$ORIGIN -Wl,--rpath=\$ORIGIN/lib -Wl,--rpath=\
$ORIGIN/libs -Wl,-O1 -o ../../../MIFit main.o -L/usr/X11R6/lib -L/
usr/lib64 -L.. -lui -lfigurelib -ljobs -lscript -lcore -L../../../libs
-lnongui -lligand -lmap -lmolopt -lconflib -lchemlib -lmiopengl -
lmimath -lmiutil -ljacgrid -lumtz -lQtScript -L/usr/lib64 -pthread -
pthread -lQtXml -pthread -pthread -lQtOpenGL -L/usr/X11R6/lib64 -lGLU -
lGL -pthread -pthread -pthread -pthread -pthread -pthread -pthread -
pthread -lQtGui -pthread -lpng -lfreetype -lSM -lICE -pthread -pthread
-lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfontconfig -lXext -
lX11 -lQtNetwork -pthread -pthread -lQtCore -lz -lm -pthread -
lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/
ld: skipping incompatible /usr/lib64/libQtScript.so when searching for
-lQtScript
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/
ld: skipping incompatible /usr/lib64/libQtScript.so when searching for
-lQtScript
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/
4.4/../../../libQtScript.so when searching for -lQtScript
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/
ld: skipping incompatible /usr/lib64/libQtScript.so when searching for
-lQtScript
/usr/lib64/gcc/x86_64-suse-linux/4.4/../../../../x86_64-suse-linux/bin/
ld: cannot find -lQtScript
collect2: ld returned 1 exit status
make[3]: *** [../../../MIFit] Error 1


make[3]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps/

MIFit/main'
make[2]: *** [sub-main-make_default-ordered] Error 2


make[2]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps/
MIFit'
make[1]: *** [sub-MIFit-make_default] Error 2
make[1]: Leaving directory `/home/greg/Download/MIFit-2009.12/apps'
make: *** [sub-apps-make_default-ordered] Error 2

----------------------------------------------------

As far as I can tell, I have the 32-bit lib(s) available - but it's
looking into the lib64 ...?

Thanks again, Greg

Bradley Smith

unread,
Apr 5, 2010, 11:47:12 AM4/5/10
to gsahli, mi...@googlegroups.com
Perhaps Qt is not setup to find the 32-bit libraries? Is there a
separate qmake in the location of the 32-bit Qt? If so, try redoing
everything from the beginning using that qmake.

Alternatively, you can download and use the latest version of the Qt
SDK for 32-bit Linux here: http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp

Bradley

Reply all
Reply to author
Forward
0 new messages