Monkey Studio IDE The way IDEs should be

1.8.3.0 Gentoo build problem

Hello,

When I try to compile Monkey Studio on Gentoo AMD64 I get an error. Here is the end of the compile output:

...
uilderSettings.o ../build/release/.obj/unix/moc_UICompilerSettings.o ../build/release/.obj/unix/moc_Settings.o ../build/release/.obj/unix/moc_MonkeyCore.o ../build/release/.obj/unix/moc_QueuedStatusBar.o ../build/release/.obj/unix/moc_UIPluginsSettingsElement.o ../build/release/.obj/unix/moc_UIPluginsSettingsAbout.o ../build/release/.obj/unix/moc_XUPFilteredProjectModel.o ../build/release/.obj/unix/moc_XUPProjectItem.o ../build/release/.obj/unix/moc_XUPProjectModel.o ../build/release/.obj/unix/moc_UIXUPFindFiles.o ../build/release/.obj/unix/moc_XUPProjectManager.o ../build/release/.obj/unix/moc_XUPAddFiles.o ../build/release/.obj/unix/moc_MkSFileDialog.o ../build/release/.obj/unix/moc_UIInterpreterSettings.o ../build/release/.obj/unix/qrc_resources.o -L/usr/X11R6/lib -L/usr/lib64/qt4 -L/home/bgranger/programs/source/mks_1.8.3.0-svn2673/build -Wl,--whole-archive -rdynamic -lqscintilla2 -lctags -lfresh -Wl,--no-whole-archive -lQtXml -L/usr/lib64 -L/usr/lib64/qt4 -lQtGui -L/usr/X11R6/lib -lpng -lSM -lICE -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lrt -lpthread -ldl
../build/release/.obj/unix/pMonkeyStudio.o: In function `pMonkeyStudio::lexerForLanguage(QString const&)':
pMonkeyStudio.cpp:(.text+0xabea): undefined reference to `QsciLexer::setAPIs(QsciAPIs*)'
../build/release/.obj/unix/moc_pEditor.o:(.rodata._ZTV7pEditor[vtable for pEditor]+0x328): undefined reference to `QsciScintilla::setFolding(QsciScintilla::FoldStyle)'
collect2: ld returned 1 exit status
make[1]: *** [../bin/monkeystudio] Error 1
make[1]: Leaving directory `/home/brad/programs/source/mks_1.8.3.0-svn2673/monkey'
make: *** [sub-monkey-make_default] Error 2

I have Qt 4.4.2 installed through portage, but I am afraid it is not able to find it. Is this the case? If so, what can I do to get this to compile? Also, even though I have updated my qscintilla package, I have to use the integrated one. How can I get monkey studio to use my system package?

Thanks for your help, I am really looking forward to getting started with Monkey Studio.

pasnox's picture

You should install libqt4 and

You should install libqt4 and libqscintilla2 packages from your distro.
Then a simple :
qmake-qt4 ( or qmake ) && make
should do the trick.

Can you post the problem you have using this method ?

Thanks,

According to the current error it seem to not founding some qscintilla symbols :/

You can seek team on IRC.
If you don't know what is IRC, then go to the IRC page.
If you want an answer, please be explicit and verbose.
Help by email will be ignored.

libqt4 and libqscintilla2

Hi pasnox, thank you for the quick reply.

Gentoo doesn't have a libqt4 or a libqscintilla2 package, but the qt4 and qscintilla packages that I have installed using the package manager are as follows:

* x11-libs/qscintilla
Latest version available: 2.3.2
Latest version installed: 2.3.2
Size of files: 2,096 kB
Homepage: http://www.riverbankcomputing.co.uk/software/qscintilla/intro
Description: A Qt port of Neil Hodgson's Scintilla C++ editor class
License: GPL-2

* x11-libs/qt
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 0 kB
Homepage: http://www.trolltech.com/
Description: The Qt toolkit is a comprehensive C++ application development framework.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-assistant
Latest version available: 4.4.2-r1
Latest version installed: 4.4.2-r1
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The assistant help module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-core
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The Qt toolkit is a comprehensive C++ application development framework.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-dbus
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The DBus module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

x11-libs/qt-gui
Latest version available: 4.4.2-r1
Latest version installed: 4.4.2-r1
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The GUI module(s) for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-opengl
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The OpenGL module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-qt3support
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The Qt3 support module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-script
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The ECMAScript module for the Qt toolkit
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-sql
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The SQL module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-svg
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The SVG module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-test
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The testing framework module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-webkit
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The Webkit module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

* x11-libs/qt-xmlpatterns
Latest version available: 4.4.2
Latest version installed: 4.4.2
Size of files: 102,857 kB
Homepage: http://www.trolltech.com/
Description: The patternist module for the Qt toolkit.
License: || ( GPL-3 GPL-2 )

Is this perhaps missing necessary libraries for compiling monkey studio? Should I try to install qt4 and qscintilla2 myself? The beginning and end of the output when I execute $ qmake && make is as follows:

roject MESSAGE: Building in RELEASE for architecture
Project MESSAGE: Using system QScintilla library
Project MESSAGE: You can change qscintilla link type by giving the qmake parameter variable: system_qscintilla=0 or system_qscintilla=1
Project MESSAGE: Defining system_qscintilla=1 will use system wide qscintilla installation, else the integrated one.
Project MESSAGE: MkS binary will be installed to : /usr/local/bin
Project MESSAGE: MkS plugins will be installed to : /usr/local/lib64/monkeystudio
Project MESSAGE: MkS datas will be installed to : /usr/local/share/monkeystudio
Project MESSAGE: You can change this by giving qmake parameters variables: prefix, plugins, datas
cd fresh/ && /usr/bin/qmake fresh.pro -unix -o Makefile
Project MESSAGE: Building in RELEASE for architecture
cd fresh/ && make -f Makefile
make[1]: Entering directory `/home/brad/programs/source/mks_1.8.3.0-svn2673/fresh'
....
src/maininterface/ui/../../pMonkeyStudio.h:245: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:246: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:246: error: expected constructor, destructor, or type conversion before 'wrapMode'
src/maininterface/ui/../../pMonkeyStudio.h:249: error: variable or field 'setStartWrapVisualFlag' declared void
src/maininterface/ui/../../pMonkeyStudio.h:249: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:250: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:250: error: expected constructor, destructor, or type conversion before 'startWrapVisualFlag'
src/maininterface/ui/../../pMonkeyStudio.h:251: error: variable or field 'setEndWrapVisualFlag' declared void
src/maininterface/ui/../../pMonkeyStudio.h:251: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:252: error: 'QsciScintilla' has not been declared
src/maininterface/ui/../../pMonkeyStudio.h:252: error: expected constructor, destructor, or type conversion before 'endWrapVisualFlag'
make[1]: *** [../build/release/.obj/unix/UITranslator.o] Error 1
make[1]: Leaving directory `/home/brad/programs/source/mks_1.8.3.0-svn2673/monkey'
make: *** [sub-monkey-make_default] Error 2

If I use the included qscintilla files by executing
$ qmake system_qscintilla=0 && make
the end of the make output is this:

Wl,--whole-archive -rdynamic -lqscintilla2 -lctags -lfresh -Wl,--no-whole-archive -lQtXml -L/usr/lib64 -L/usr/lib64/qt4 -lQtGui -L/usr/X11R6/lib -lpng -lSM -lICE -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lrt -lpthread -ldl
../build/release/.obj/unix/pMonkeyStudio.o: In function `pMonkeyStudio::lexerForLanguage(QString const&)':
pMonkeyStudio.cpp:(.text+0xabea): undefined reference to `QsciLexer::setAPIs(QsciAPIs*)'
../build/release/.obj/unix/moc_pEditor.o:(.rodata._ZTV7pEditor[vtable for pEditor]+0x328): undefined reference to `QsciScintilla::setFolding(QsciScintilla::FoldStyle)'
collect2: ld returned 1 exit status
make[1]: *** [../bin/monkeystudio] Error 1
make[1]: Leaving directory `/home/brad/programs/source/mks_1.8.3.0-svn2673/monkey'
make: *** [sub-monkey-make_default] Error 2

pasnox's picture

Hi,

Hi,

It seem that qmake can't found itself qscintilla includes, strange but can happen if your distro do things strange way :).
I think you could use the integrated qscintilla, for that you will need to remove the system one as it will may enter in conflict with the integrated one.
Then a 'make distclean' and normal build 'qmake system_qscintilla=0 && make' should work.

PS: It seem you are missing QtHelp module and QtDesigner library, wich are needed by MkS.

Regards,

You can seek team on IRC.
If you don't know what is IRC, then go to the IRC page.
If you want an answer, please be explicit and verbose.
Help by email will be ignored.

Voila!

Hi pasnox,

That seems to have done the trick! I am not sure if I have a fully functioning build right now (for example there is a message saying "qdbparsing.txt not found. Debugger can not work!" at the bottom, but at least I am able to run monkeystudio now. One comment: it seems that the $make install command was not able to generate the executable for the file. I had to move to the source directory ~/programs/mks_1.8.3.0-svn2673/bin and execute $./monkeystudio to actually run the program, while the readme.txt seemed to imply it would be installed in /usr/local/bin. If this is not an error the developers might want to make mention of this in the readme.txt file.

Thanks for your help!

-Brad

pasnox's picture

There was a bug in qmake that

There was a bug in qmake that don't allow to generate install rules for files not yet existing.
A workaround to install correctly mks in this case is to follow this step :

qmake .... && make
qmake (same parameters) && sudo make install

Calling twice qmake will normally fix the install rules.

Regards,

You can seek team on IRC.
If you don't know what is IRC, then go to the IRC page.
If you want an answer, please be explicit and verbose.
Help by email will be ignored.

Alright, that fixed the

Alright, that fixed the problem.

Thanks again,

Brad