Cross Compile with Qmake?


pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
Hi,


I'm trying to port KeePassX to the Pandors, it's all a bit new to me. The instructions to compile require using qmake, but I'm unsure on how to run that specifying the pandora toolchain (using sebt3's vm)


I've been manualy adding the includes trying to get it to compile without, but I'm running into a missing ref for class Shortcut. Does anybody know how I can idenitfy what library I'm missing?


Cheers
 
- set the project with setprj (as per instructions)


- use pndqmake instead of qmake (this sets the mkspec to the linux-pandora-g++ that comes with the toolchain)


- make
 
Last edited by a moderator:
Thanks, but I'm still struggling to compile this.


If I just extract the project and do what it says in the file (ie, build a desktop version), I get this



Code:
/usr/bin/ld: cannot find -lXtst

collect2: ld returned 1 exit status

make[1]: *** [../bin/keepassx] Error 1



Though I can't seem to find a package called Xtst in the Ubuntu repo



If I do the pndqmake/make, I get



Code:
cd src/ && make -f Makefile 

make[1]: Entering directory `/home/devel/Pandora/keepassx-0.4.3/src'

/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++ -c -pipe -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-optimize-sibling-calls -DPANDORA -DHAVE_GLES -O3 -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -ffast-math -fsingle-precision-constant -fsigned-char -Wall -W -Wno-sign-compare -D_REENTRANT -DQT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 -DQT_GL_NO_SCISSOR_TEST -DAUTOTYPE -DGLOBAL_AUTOTYPE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/local/angstrom/arm/share/qt4/mkspecs/linux-pandora-g++ -I. -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtXml -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4 -I. -Ilib -Icrypto -Iplugins/interfaces -Iexport -Iimport -Idialogs -I../build/ui -I../build/moc -I/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -o ../build/HelperX11.o lib/HelperX11.cpp

In file included from lib/HelperX11.h:28,

                 from lib/HelperX11.cpp:21:

lib/AutoType.h:29: error: ‘IEntryHandle’ has not been declared

lib/AutoType.h:35: error: ‘quint32’ does not name a type

lib/AutoType.h:44: error: ‘QStringList’ does not name a type

In file included from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qx11info_x11.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/QX11Info:1,

                 from lib/HelperX11.cpp:22:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qnamespace.h:1218: error: expected identifier before numeric constant

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qnamespace.h:1218: error: expected unqualified-id before numeric constant

In file included from lib/AutoTypeGlobalX11.h:24,

                 from lib/HelperX11.cpp:25:

lib/AutoTypeX11.h:41: error: ‘IEntryHandle’ has not been declared

lib/AutoTypeX11.h:47: error: ‘QList’ has not been declared

lib/AutoTypeX11.h:47: error: expected ‘,’ or ‘...’ before ‘<’ token

lib/AutoTypeX11.h:48: error: ‘QList’ has not been declared

lib/AutoTypeX11.h:48: error: expected ‘,’ or ‘...’ before ‘<’ token

lib/AutoTypeX11.h: In member function ‘void AutoTypeX11::sleepKeyStrokeDelay()’:

lib/AutoTypeX11.h:46: error: ‘config’ was not declared in this scope

In file included from lib/HelperX11.cpp:25:

lib/AutoTypeGlobalX11.h: At global scope:

lib/AutoTypeGlobalX11.h:29: error: ‘IEntryHandle’ has not been declared

lib/AutoTypeGlobalX11.h:33: error: ‘QStringList’ does not name a type

lib/AutoTypeGlobalX11.h:40: error: ‘QStringList’ has not been declared

lib/AutoTypeGlobalX11.h:41: error: ‘IEntryHandle’ has not been declared

lib/AutoTypeGlobalX11.h:45: error: ISO C++ forbids declaration of ‘QSet’ with no type

lib/AutoTypeGlobalX11.h:45: error: expected ‘;’ before ‘<’ token

make[1]: *** [../build/HelperX11.o] Error 1

make[1]: Leaving directory `/home/devel/Pandora/keepassx-0.4.3/src'

make: *** [sub-src-make_default] Error 2



Now, I could add the #includes in, but that continue to leads me down where I start getting errors



Code:
In file included from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qvariant.h:48,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qabstractitemmodel.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qabstractitemview.h:46,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreeview.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreewidget.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/QTreeWidgetItem:1,

                 from ./lib/EntryView.h:25,

                 from ./mainwindow.h:26,

                 from lib/AutoTypeX11.cpp:23:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:53:2: error: #error qmetatype.h must be included before any header file that defines Bool

In file included from ./lib/EntryView.h:24,

                 from ./mainwindow.h:26,

                 from lib/AutoTypeX11.cpp:23:

./Kdb3Database.h:246: error: field ‘TreeStateMetaStream’ has incomplete type

./Kdb3Database.h: In member function ‘virtual int Kdb3Database::builtinIcons()’:

./Kdb3Database.h:154: error: ‘BUILTIN_ICONS’ was not declared in this scope

In file included from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qwidget.h:56,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qframe.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qabstractscrollarea.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qabstractitemview.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreeview.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreewidget.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/QTreeWidgetItem:1,

                 from ./lib/EntryView.h:25,

                 from ./mainwindow.h:26,

                 from lib/AutoTypeX11.cpp:23:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h: At global scope:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h:93: error: expected unqualified-id before numeric constant

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h:93: error: expected `)' before numeric constant

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h:101: error: expected unqualified-id before numeric constant

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h:102: error: expected identifier before numeric constant

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qcursor.h:102: error: expected ‘,’ or ‘...’ before numeric constant

In file included from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qvariant.h:48,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qabstractitemmodel.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qabstractitemview.h:46,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreeview.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/qtreewidget.h:45,

                 from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtGui/QTreeWidgetItem:1,

                 from ./lib/EntryView.h:25,

                 from ./mainwindow.h:26,

                 from lib/AutoTypeX11.cpp:23:

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:66: error: expected identifier before ‘int’

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:66: error: expected `}' before ‘int’

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:66: error: expected unqualified-id before ‘=’ token

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:125: error: expected declaration before ‘}’ token

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:110: warning: ‘void registerStreamOperators(const char*, void (*)(QDataStream&, const void*), void (*)(QDataStream&, void*))’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:113: warning: ‘int registerType(const char*, void (*)(void*), void* (*)(const void*))’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:114: warning: ‘int type(const char*)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:115: warning: ‘const char* typeName(int)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:116: warning: ‘bool isRegistered(int)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:117: warning: ‘void* construct(int, const void*)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:118: warning: ‘void destroy(int, void*)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:119: warning: ‘void unregisterType(const char*)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:122: warning: ‘bool save(QDataStream&, int, const void*)’ declared ‘static’ but never defined

/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:123: warning: ‘bool load(QDataStream&, int, void*)’ declared ‘static’ but never defined

make[1]: *** [../build/AutoTypeX11.o] Error 1


I'm guessing I'm not supposed to have to put the #includes in but I don't really understand enough of Linux to know how to fix this.


Any help would be much appreciated


Regards,


Mark
 
if you are using sebt3's toolchain, just use pndqmake instead of qmake and you're good to go ;)


And istalling ubuntupackages doesn't work! You'll have to crosscompile the missing libs yourself, if you want to use them, as they have to be compiled for armlinux.


and if it looks for the libs in /usr/lib, that is incorrect, as it has to look in your toolchain for this.


As said before:


cd in your sourcedirectory and run "pndqmake",


then "make"


if that gives you the same error, then you will have to modify the makefile to alter the includepath.
 
Last edited by a moderator:
^ He was using pndqmake.


Looks like you're missing something. Is that IEntryHandle defined somewhere in the source or is it an outside dependency?
 
As said before:


cd in your sourcedirectory and run "pndqmake",


then "make"

Yeah, I used "pndqmake" and "make" - that was the second part... It didn't compile :(

^ He was using pndqmake.


Looks like you're missing something. Is that IEntryHandle defined somewhere in the source or is it an outside dependency?

IEntryHandle is declared in the Database.h file... I can manually add the includes into the source, but then I end up in that 3rd quote of


"/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:53:2: error: #error qmetatype.h must be included before any header file that defines Bool"


etc.


:(
 
Note, that /usr/bin/ld is not the linker of the toolchain. Should be arm-angstrom-linux-gnueabi-ld


or something like this.


Sorry, too early ;) Do what B-ZaR suggests.
 
Last edited by a moderator:
Note, that /usr/bin/ld is not the linker of the toolchain. Should be arm-angstrom-linux-gnueabi-ld


or something like this.


Sorry, too early ;) Do what B-ZaR suggests.

B-ZaR doesn't suggest anything in that last post. :unsure:


IEntryHandle exists in the src/Database.h file, but that leads on to other missing references. Once you've finally plugged all the additional includes (my concern here is that they are supposedly not required, hence they wouldn't have been able to compile the sourceforge release without it), you then get on to those other errors

<snip>


/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/qt4/QtCore/qmetatype.h:53:2: error: #error qmetatype.h must be included before any header file that defines Bool


<snip>


./Kdb3Database.h:246: error: field ‘TreeStateMetaStream’ has incomplete type


./Kdb3Database.h: In member function ‘virtual int Kdb3Database::builtinIcons()’:


./Kdb3Database.h:154: error: ‘BUILTIN_ICONS’ was not declared in this scope


<snip>
 
Ok, I'm guessing the build configuration is a bit off. You shouldn't need to add the includes yourself. Could you paste the file structure of the project (use find * -type f -regex "[^.].*" in the project root if you're on linux) and the contents of any .pro files.
 
Last edited by a moderator:
devel@devel-VirtualBox:~/Pandora/keepassx-0.4.3$ find * -type f -regex "[^.].*"


build/ui/ui_EditGroupDlg.h


build/ui/ui_PasswordDlg.h


build/ui/ui_AboutDlg.h


build/ui/ui_ExpiredEntriesDlg.h


build/ui/ui_HelpDlg.h


build/ui/ui_CollectEntropyDlg.h


build/ui/ui_SelectIconDlg.h


build/ui/ui_EditEntryDlg.h


build/ui/ui_SettingsDlg.h


build/ui/ui_TargetWindowDlg.h


build/ui/ui_SimplePasswordDlg.h


build/ui/ui_ManageBookmarksDlg.h


build/ui/ui_DatabaseSettingsDlg.h


build/ui/ui_SearchDlg.h


build/ui/ui_WorkspaceLockedWidget.h


build/ui/ui_CustomizeDetailViewDlg.h


build/ui/ui_AutoTypeDlg.h


build/ui/ui_CalendarDlg.h


build/ui/ui_MainWindow.h


build/ui/ui_PasswordGenDlg.h


build/ui/ui_AddBookmarkDlg.h


build/keepassx.gch/c++


changelog


cmake/FindPCHSupport.cmake


CMakeLists.txt


COPYING


INSTALL


keepassx.pro


Makefile


share/macx_bundle/icon.icns


share/macx_bundle/Info.plist


share/macx_bundle/Info_cmake.plist


share/mime/packages/keepassx.xml


share/CMakeLists.txt


share/pixmaps/keepassx.xpm


share/mimelnk/application/x-keepass.desktop


share/win_ico/keepassx.ico


share/win_ico/keepassx.rc


share/keepassx/icons/text_center.png


share/keepassx/icons/editentry.png


share/keepassx/icons/swap.png


share/keepassx/icons/keepassx_locked.png


share/keepassx/icons/ok.png


share/keepassx/icons/clock.png


share/keepassx/icons/trashcan.png


share/keepassx/icons/text_left.png


share/keepassx/icons/openurl.png


share/keepassx/icons/appsettings.png


share/keepassx/icons/delete.png


share/keepassx/icons/go-home.png


share/keepassx/icons/filedelete.png


share/keepassx/icons/manual.png


share/keepassx/icons/bookmark_this.png


share/keepassx/icons/filesaveas.png


share/keepassx/icons/autotype.png


share/keepassx/icons/deletegroup.png


share/keepassx/icons/pwd_show.png


share/keepassx/icons/dice.png


share/keepassx/icons/up.png


share/keepassx/icons/go-previous.png


share/keepassx/icons/dbsettings.png


share/keepassx/icons/keepassx_small.png


share/keepassx/icons/clientic.png


share/keepassx/icons/bookmark_edit.png


share/keepassx/icons/pwd_hide.png


share/keepassx/icons/bookmark_folder.png


share/keepassx/icons/filesavedisabled.png


share/keepassx/icons/generator.png


share/keepassx/icons/copypwd.png


share/keepassx/icons/newentry.png


share/keepassx/icons/help.png


share/keepassx/icons/text_block.png


share/keepassx/icons/keepassx.png


share/keepassx/icons/filesave.png


share/keepassx/icons/groupsearch.png


share/keepassx/icons/search.png


share/keepassx/icons/copyusername.png


share/keepassx/icons/text_right.png


share/keepassx/icons/text_under.png


share/keepassx/icons/dbsearch.png


share/keepassx/icons/bookmark.png


share/keepassx/icons/newgroup.png


share/keepassx/icons/fileopen.png


share/keepassx/icons/fileclose.png


share/keepassx/icons/lock.png


share/keepassx/icons/expired.png


share/keepassx/icons/key.png


share/keepassx/icons/keepassx_large.png


share/keepassx/icons/bookmark_add.png


share/keepassx/icons/alarmclock.png


share/keepassx/icons/text_bold.png


share/keepassx/icons/help_about.png


share/keepassx/icons/down.png


share/keepassx/icons/go-next.png


share/keepassx/icons/editgroup.png


share/keepassx/icons/document.png


share/keepassx/icons/bookmark_del.png


share/keepassx/icons/text_italic.png


share/keepassx/icons/i18n.png


share/keepassx/icons/filenew.png


share/keepassx/icons/cloneentry.png


share/keepassx/icons/exit.png


share/keepassx/icons/restore.png


share/keepassx/icons/templates.png


share/keepassx/icons/deleteentry.png


share/keepassx/i18n/keepassx-zh_CN.qm


share/keepassx/i18n/qt_nl.qm


share/keepassx/i18n/keepassx-de_DE.qm


share/keepassx/i18n/keepassx-pt_PT.qm


share/keepassx/i18n/keepassx-fi_FI.qm


share/keepassx/i18n/keepassx-ja_JP.qm


share/keepassx/i18n/keepassx-pl_PL.qm


share/keepassx/i18n/keepassx-uk_UA.qm


share/keepassx/i18n/keepassx-ru_RU.qm


share/keepassx/i18n/qt_tr.qm


share/keepassx/i18n/keepassx-hu_HU.qm


share/keepassx/i18n/keepassx-nl_NL.qm


share/keepassx/i18n/keepassx-gl_ES.qm


share/keepassx/i18n/keepassx-sk_SK.qm


share/keepassx/i18n/keepassx-tr_TR.qm


share/keepassx/i18n/qt_it.qm


share/keepassx/i18n/keepassx-nb_NO.qm


share/keepassx/i18n/keepassx-sr_RS.qm


share/keepassx/i18n/qt_hu.qm


share/keepassx/i18n/keepassx-fr_FR.qm


share/keepassx/i18n/keepassx-es_ES.qm


share/keepassx/i18n/qt_sr.qm


share/keepassx/i18n/qt_gl_ES.qm


share/keepassx/i18n/keepassx-it_IT.qm


share/keepassx/i18n/qt_fi.qm


share/keepassx/license.html


share/applications/keepassx.desktop


src/Makefile


src/Application_X11.h


src/dialogs/SimplePasswordDlg.cpp


src/dialogs/SearchDlg.cpp


src/dialogs/CalendarDlg.cpp


src/dialogs/ManageBookmarksDlg.h


src/dialogs/SimplePasswordDlg.h


src/dialogs/SettingsDlg.h


src/dialogs/AutoTypeDlg.cpp


src/dialogs/AddBookmarkDlg.h


src/dialogs/AutoTypeDlg.h


src/dialogs/EditEntryDlg.cpp


src/dialogs/ManageBookmarksDlg.cpp


src/dialogs/CalendarDlg.h


src/dialogs/TargetWindowDlg.cpp


src/dialogs/TrashCanDlg.h


src/dialogs/HelpDlg.cpp


src/dialogs/AboutDlg.cpp


src/dialogs/TargetWindowDlg.h


src/dialogs/EditEntryDlg.h


src/dialogs/SelectIconDlg.h


src/dialogs/ExpiredEntriesDlg.h


src/dialogs/CollectEntropyDlg.h


src/dialogs/PasswordDlg.cpp


src/dialogs/AddBookmarkDlg.cpp


src/dialogs/CollectEntropyDlg.cpp


src/dialogs/TrashCanDlg.cpp


src/dialogs/DatabaseSettingsDlg.cpp


src/dialogs/EditGroupDlg.cpp


src/dialogs/PasswordGenDlg.h


src/dialogs/CustomizeDetailViewDlg.h


src/dialogs/PasswordGenDlg.cpp


src/dialogs/SearchDlg.h


src/dialogs/PasswordDlg.h


src/dialogs/CustomizeDetailViewDlg.cpp


src/dialogs/SettingsDlg.cpp


src/dialogs/AboutDlg.h


src/dialogs/SelectIconDlg.cpp


src/dialogs/DatabaseSettingsDlg.h


src/dialogs/HelpDlg.h


src/dialogs/EditGroupDlg.h


src/dialogs/ExpiredEntriesDlg.cpp


src/Database.h


src/main_unix.cpp


src/export/Export_KeePassX_Xml.h


src/export/Export_Txt.cpp


src/export/Export_KeePassX_Xml.cpp


src/export/Export.h


src/export/Export_Txt.h


src/export/Export.cpp


src/Database.cpp


src/mainwindow.h


src/res/resources.qrc


src/res/default-detailview-classic.html


src/res/default-detailview.html


src/res/docs/systemreq.html


src/res/docs/features.html


src/res/docs/installation.html


src/res/docs/quickstart.html


src/res/docs/faq.html


src/res/docs/external.png


src/res/docs/index.html


src/main.h


src/translations/qt_hu.ts


src/translations/qt_tr.ts


src/translations/keepassx-uk_UA.ts


src/translations/qt_fi.ts


src/translations/qt_it.ts


src/translations/keepassx-it_IT.ts


src/translations/keepassx-nl_NL.ts


src/translations/keepassx-hu_HU.ts


src/translations/keepassx-zh_CN.ts


src/translations/keepassx-fi_FI.ts


src/translations/qt_gl_ES.ts


src/translations/keepassx-de_DE.ts


src/translations/keepassx-es_ES.ts


src/translations/keepassx-gl_ES.ts


src/translations/keepassx-sr_RS.ts


src/translations/keepassx-nb_NO.ts


src/translations/keepassx-tr_TR.ts


src/translations/keepassx-ja_JP.ts


src/translations/keepassx-ru_RU.ts


src/translations/keepassx-cs_CZ.ts


src/translations/keepassx-xx_XX.ts


src/translations/keepassx-fr_FR.ts


src/translations/keepassx-sk_SK.ts


src/translations/qt_nl.ts


src/translations/qt_sr.ts


src/translations/keepassx-pl_PL.ts


src/translations/keepassx-pt_PT.ts


src/CMakeLists.txt


src/src.pro


src/main.cpp


src/crypto/blowfish.h


src/crypto/aes.h


src/crypto/arcfour.cpp


src/crypto/yarrow.h


src/crypto/aeskey.c


src/crypto/aes_modes.c


src/crypto/aestab.h


src/crypto/aescpp.h


src/crypto/aes_types.h


src/crypto/yarrow_macros.h


src/crypto/twoclass.h


src/crypto/sha256.cpp


src/crypto/aestab.c


src/crypto/twoclass.cpp


src/crypto/aesopt.h


src/crypto/arcfour.h


src/crypto/aes_endian.h


src/crypto/twofish.h


src/crypto/sha256.h


src/crypto/aescrypt.c


src/crypto/twofish.cpp


src/crypto/blowfish.cpp


src/crypto/yarrow.cpp


src/import/Import_KeePassX_Xml.cpp


src/import/Import_KWalletXml.h


src/import/Import_GnuKeyRing.cpp


src/import/Import.h


src/import/Import.cpp


src/import/Import_GnuKeyRing.h


src/import/Import_KWalletXml.cpp


src/import/Import_PwManager.cpp


src/import/Import_KeePassX_Xml.h


src/import/Import_PwManager.h


src/mainwindow.cpp


src/Application_X11.cpp


src/apg/convert.c


src/apg/pronpass.h


src/apg/randpass.c


src/apg/smbl.h


src/apg/pronpass.c


src/apg/convert.h


src/apg/owntypes.h


src/apg/randpass.h


src/plugins/interfaces/IGnomeInit.h


src/plugins/interfaces/IFileDialog.h


src/plugins/interfaces/IKdeInit.h


src/plugins/interfaces/IIconTheme.h


src/plugins/kde/keepassx-kde.h


src/plugins/kde/KpKApplication.h


src/plugins/kde/keepassx-kde.cpp


src/plugins/kde/KpKApplication.cpp


src/plugins/kde/keepassx-kde.pro


src/plugins/gnome/keepassx-gnome.h


src/plugins/gnome/keepassx-gnome.cpp


src/plugins/gnome/keepassx-gnome.pro


src/KpxConfig.cpp


src/forms/PasswordDlg.ui


src/forms/DatabaseSettingsDlg.ui


src/forms/CollectEntropyDlg.ui


src/forms/SimplePasswordDlg.ui


src/forms/SelectIconDlg.ui


src/forms/HelpDlg.ui


src/forms/SettingsDlg.ui


src/forms/AddBookmarkDlg.ui


src/forms/CalendarDlg.ui


src/forms/PasswordGenDlg.ui


src/forms/WorkspaceLockedWidget.ui


src/forms/CustomizeDetailViewDlg.ui


src/forms/SearchDlg.ui


src/forms/EditEntryDlg.ui


src/forms/ManageBookmarksDlg.ui


src/forms/AboutDlg.ui


src/forms/ExpiredEntriesDlg.ui


src/forms/AutoTypeDlg.ui


src/forms/MainWindow.ui


src/forms/TargetWindowDlg.ui


src/forms/TrashCanDlg.ui


src/forms/EditGroupDlg.ui


src/main_win32.cpp


src/lib/EntryView.cpp


src/lib/AutoTypeGlobalX11.h


src/lib/EntryView.h


src/lib/bookmarks.cpp


src/lib/FileDialogs.cpp


src/lib/AutoType.h


src/lib/AutoTypeGlobalX11.cpp


src/lib/SecString.h


src/lib/GroupView.cpp


src/lib/GroupView.h


src/lib/random.cpp


src/lib/HelperX11.h


src/lib/ShortcutWidget.cpp


src/lib/UrlLabel.h


src/lib/tools.h


src/lib/AutoTypeTreeWidget.cpp


src/lib/ShortcutWidget.h


src/lib/WaitAnimationWidget.h


src/lib/AutoTypeX11.h


src/lib/tools.cpp


src/lib/WaitAnimationWidget.cpp


src/lib/random.h


src/lib/SecString.cpp


src/lib/AutoTypeTreeWidget.h


src/lib/FileDialogs.h


src/lib/AutoTypeX11.cpp


src/lib/HelperX11.cpp


src/lib/bookmarks.h


src/lib/UrlLabel.cpp


src/Kdb3Database.cpp


src/main_macx.cpp


src/keepassx.h


src/Kdb3Database.h


src/KpxConfig.h


translations_release.sh


translations_update.sh


devel@devel-VirtualBox:~/Pandora/keepassx-0.4.3$


keepassx.pro contents



Code:
message("See 'INSTALL' for configuration options.")

#message("*** Build Configuration:")

TEMPLATE = subdirs

isEmpty(PREFIX){

	PREFIX = /usr

}

#isEmpty(KDEDIR){

#	KDEDIR = /usr

#}

SUBDIRS += src

#contains(INT_PLUGINS,kde) {

#	SUBDIRS +=src/plugins/kde

#	message("Build KDE Plugin: yes")

#}

#!contains(INT_PLUGINS,kde) {

#	message("Build KDE Plugin: no")

#}

#contains(INT_PLUGINS,gtk) {

#	SUBDIRS +=src/plugins/gnome

#	message("Build Gnome Plugin: yes")

#}

#!contains(INT_PLUGINS,gtk) {

#	message("Build Gnome Plugin: no")

#}

message("Install Prefix:" $$PREFIX)

#message("KDE Prefix:" $$KDEDIR)

message("*** Makefile successfully generated.")

message("*** Start make now.")



src/src.pro contents



Code:
CONFIG = qt uic resources thread stl warn_on

QT += xml


*-g++ : QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-compare


DEPENDPATH += crypto dialogs export forms import lib translations res

INCLUDEPATH += . lib crypto plugins/interfaces export import dialogs


MOC_DIR = ../build/moc

UI_DIR = ../build/ui

OBJECTS_DIR = ../build

RCC_DIR = ../build/rcc


isEqual(DEBUG,1){

	CONFIG += debug

}

else {

	CONFIG += release

}


isEqual(NOSTRIP,1) {

	CONFIG += nostrip

}


# lipo and freebsd cannot handle precompiled headers (yet)

!isEqual(PRECOMPILED,1){

	macx : isEqual(ARCH,UNIVERSAL) : PRECOMPILED = 0

	freebsd-* : PRECOMPILED = 0

}


win32 : QMAKE_WIN32 = 1


#-------------------------------------------------------------------------------

#   Platform Specific: Unix (except MacOS X)

#-------------------------------------------------------------------------------

unix : !macx : !isEqual(QMAKE_WIN32,1){

	isEmpty(PREFIX): PREFIX = /usr

	!isEqual(AUTOTYPE,0){

		DEFINES += AUTOTYPE

		!isEqual(GLOBAL_AUTOTYPE,0){

			DEFINES += GLOBAL_AUTOTYPE

		}

	}

	TARGET = ../bin/keepassx

	target.path = $${PREFIX}/bin

	datai18n.files = ../share/keepassx/i18n/*.qm

	datai18n.path = $${PREFIX}/share/keepassx/i18n

	dataicons.files = ../share/keepassx/icons/*.png

	dataicons.path = $${PREFIX}/share/keepassx/icons

	datalicense.files = ../share/keepassx/license.html

	datalicense.path = $${PREFIX}/share/keepassx


	shareapp.files = ../share/applications/*.desktop

	shareapp.path = $${PREFIX}/share/applications

	shararemime.files = ../share/mime/packages/*.xml

	shararemime.path = $${PREFIX}/share/mime/packages

	sharemimelnk.files = ../share/mimelnk/application/*.desktop

	sharemimelnk.path = $${PREFIX}/share/mimelnk/application

	sharepixmaps.files = ../share/pixmaps/*.xpm

	sharepixmaps.path = $${PREFIX}/share/pixmaps

	INSTALLS += datai18n dataicons datalicense

	INSTALLS += shareapp shararemime sharemimelnk sharepixmaps


	contains(DEFINES,AUTOTYPE){

		LIBS += -lX11 -lXtst

		SOURCES += lib/HelperX11.cpp lib/AutoTypeX11.cpp

		HEADERS += lib/HelperX11.h lib/AutoTypeX11.h

	}

	contains(DEFINES,GLOBAL_AUTOTYPE){

		SOURCES += Application_X11.cpp lib/AutoTypeGlobalX11.cpp

		HEADERS += Application_X11.h lib/AutoTypeGlobalX11.h

	}

#	SOURCES += main_unix.cpp

}



#-------------------------------------------------------------------------------

#   Platform Specific: MacOS X

#-------------------------------------------------------------------------------

macx {

	isEmpty(PREFIX): PREFIX = /Applications

	TARGET = ../bin/KeePassX

	target.path = $${PREFIX}

	data.files += ../share/keepassx

	data.path = Contents/Resources

	INSTALLS += data

	LIBS += -framework CoreFoundation

	isEqual(LINK,DYNAMIC){

		isEmpty(QT_FRAMEWORK_DIR): QT_FRAMEWORK_DIR = /Library/Frameworks

		private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtCore.framework

		private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtGui.framework

		private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtXml.framework

		private_frameworks.path = Contents/Frameworks

		QMAKE_BUNDLE_DATA +=  private_frameworks

	}

	isEqual(LINK,STATIC){

		LIBS += -framework Carbon -framework AppKit -lz

	}

	QMAKE_BUNDLE_DATA += data

	QMAKE_INFO_PLIST= ../share/macx_bundle/Info.plist

	ICON = ../share/macx_bundle/icon.icns

	CONFIG += app_bundle

	isEqual(ARCH,UNIVERSAL){

		CONFIG += x86 ppc

	}

	isEqual(ARCH,INTEL): CONFIG += x86

	isEqual(ARCH,PPC): CONFIG += ppc

#	SOURCES += main_macx.cpp

}


#-------------------------------------------------------------------------------

#   Platform Specific: Windows

#-------------------------------------------------------------------------------

isEqual(QMAKE_WIN32,1){

	CONFIG += windows

	isEmpty(PREFIX): PREFIX = "C:/Program\ files/KeePassX"

	TARGET = ../bin/KeePassX

	target.path = $${PREFIX}

	data.files += ../share/keepassx/*

	data.path = $${PREFIX}/share

	INSTALLS += data

	win32-msvc*: LIBS += advapi32.lib

	!isEqual(INSTALL_QTLIB,0){

		qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll

		qt_libs.path = $${PREFIX}

		INSTALLS += qt_libs

	}

	RC_FILE = ../share/win_ico/keepassx.rc

	QMAKE_LINK_OBJECT_SCRIPT = $${OBJECTS_DIR}/$${QMAKE_LINK_OBJECT_SCRIPT}

#	SOURCES += main_win32.cpp

}


INSTALLS += target


contains(DEFINES,GLOBAL_AUTOTYPE){

	FORMS += forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui

	HEADERS += dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h

	SOURCES += dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp

}


FORMS += forms/AboutDlg.ui \

         forms/AddBookmarkDlg.ui \

         forms/CalendarDlg.ui \

         forms/CollectEntropyDlg.ui \

         forms/CustomizeDetailViewDlg.ui \

         forms/DatabaseSettingsDlg.ui \

         forms/EditEntryDlg.ui \

         forms/EditGroupDlg.ui \

         forms/ExpiredEntriesDlg.ui \

         forms/HelpDlg.ui \

         forms/MainWindow.ui \

         forms/ManageBookmarksDlg.ui \

         forms/PasswordDlg.ui \

         forms/PasswordGenDlg.ui \

         forms/SearchDlg.ui \

         forms/SelectIconDlg.ui \

         forms/SettingsDlg.ui \

         forms/SimplePasswordDlg.ui \

#         forms/TrashCanDlg.ui \

         forms/WorkspaceLockedWidget.ui


TRANSLATIONS_KX = translations/keepassx-de_DE.ts \

                  translations/keepassx-es_ES.ts \

                  translations/keepassx-fi_FI.ts \

                  translations/keepassx-fr_FR.ts \

                  translations/keepassx-gl_ES.ts \

                  translations/keepassx-hu_HU.ts \

                  translations/keepassx-it_IT.ts \

                  translations/keepassx-ja_JP.ts \

                  translations/keepassx-nb_NO.ts \

                  translations/keepassx-nl_NL.ts \

                  translations/keepassx-pl_PL.ts \

                  translations/keepassx-pt_PT.ts \

                  translations/keepassx-ru_RU.ts \

                  translations/keepassx-sk_SK.ts \

                  translations/keepassx-sr_RS.ts \

                  translations/keepassx-tr_TR.ts \

                  translations/keepassx-uk_UA.ts \

                  translations/keepassx-zh_CN.ts


# also update in translations_release.sh

TRANSLATIONS_DISABLED = translations/keepassx-cs_CZ.ts


TRANSLATIONS_QT = translations/qt_fi.ts \

                  translations/qt_gl_ES.ts \

                  translations/qt_hu.ts \

                  translations/qt_it.ts \

                  translations/qt_nl.ts \

                  translations/qt_sr.ts \

                  translations/qt_tr.ts


# missing Qt translation: nb_NO


TRANSLATIONS = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts

#TRANSLATIONS_UPDATE = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts

#TRANSLATIONS_COMPILE = $$TRANSLATIONS_KX $$TRANSLATIONS_QT


HEADERS += main.h \

           mainwindow.h \

           KpxConfig.h \

           Database.h \

           Kdb3Database.h \

           lib/AutoType.h \

           lib/bookmarks.h \

           lib/EntryView.h \

           lib/FileDialogs.h \

           lib/GroupView.h \

           lib/random.h \

           lib/SecString.h \

           lib/ShortcutWidget.h \

           lib/tools.h \

           lib/UrlLabel.h \

           lib/WaitAnimationWidget.h \

           crypto/aes.h \

           crypto/aescpp.h \

           crypto/aes_endian.h \

           crypto/aes_types.h \

           crypto/aesopt.h \

           crypto/aestab.h \

           crypto/arcfour.h \

           crypto/blowfish.h \

           crypto/sha256.h \

           crypto/twoclass.h \

           crypto/twofish.h \

           crypto/yarrow.h \

           apg/convert.h \

           apg/owntypes.h \

           apg/pronpass.h \

           apg/randpass.h \

           apg/smbl.h \

           dialogs/AboutDlg.h \

           dialogs/AddBookmarkDlg.h \

           dialogs/CalendarDlg.h \

           dialogs/CollectEntropyDlg.h \

           dialogs/CustomizeDetailViewDlg.h \

           dialogs/DatabaseSettingsDlg.h \

           dialogs/EditEntryDlg.h \

           dialogs/EditGroupDlg.h \

           dialogs/ExpiredEntriesDlg.h \

           dialogs/HelpDlg.h \

           dialogs/ManageBookmarksDlg.h \

           dialogs/PasswordDlg.h \

           dialogs/PasswordGenDlg.h \

           dialogs/SearchDlg.h \

           dialogs/SelectIconDlg.h \

           dialogs/SettingsDlg.h \

           dialogs/SimplePasswordDlg.h \

#           dialogs/TrashCanDlg.h \

           import/Import.h \

#           import/Import_GnuKeyRing.h \

           import/Import_KeePassX_Xml.h \

           import/Import_KWalletXml.h \

           import/Import_PwManager.h \

           export/Export.h \

           export/Export_KeePassX_Xml.h \

           export/Export_Txt.h \

           plugins/interfaces/IFileDialog.h \

           plugins/interfaces/IIconTheme.h \

           plugins/interfaces/IGnomeInit.h \

           plugins/interfaces/IKdeInit.h


SOURCES += main.cpp \

           mainwindow.cpp \

           KpxConfig.cpp \

           Database.cpp \

           Kdb3Database.cpp \

           lib/bookmarks.cpp \

           lib/EntryView.cpp \

           lib/FileDialogs.cpp \

           lib/GroupView.cpp \

           lib/random.cpp \

           lib/SecString.cpp \

           lib/ShortcutWidget.cpp \

           lib/tools.cpp \

           lib/UrlLabel.cpp \

           lib/WaitAnimationWidget.cpp \

           crypto/aescrypt.c \

           crypto/aeskey.c \

           crypto/aes_modes.c \

           crypto/aestab.c \

           crypto/arcfour.cpp \

           crypto/blowfish.cpp \

           crypto/sha256.cpp \

           crypto/twoclass.cpp \

           crypto/twofish.cpp \

           crypto/yarrow.cpp \

           apg/convert.c \

           apg/pronpass.c \

           apg/randpass.c \

           dialogs/AboutDlg.cpp \

           dialogs/AddBookmarkDlg.cpp \

           dialogs/CalendarDlg.cpp \

           dialogs/CollectEntropyDlg.cpp \

           dialogs/CustomizeDetailViewDlg.cpp \

           dialogs/DatabaseSettingsDlg.cpp \

           dialogs/EditEntryDlg.cpp \

           dialogs/EditGroupDlg.cpp \

           dialogs/ExpiredEntriesDlg.cpp \

           dialogs/HelpDlg.cpp \

           dialogs/ManageBookmarksDlg.cpp \

           dialogs/PasswordDlg.cpp \

           dialogs/PasswordGenDlg.cpp \

           dialogs/SearchDlg.cpp \

           dialogs/SelectIconDlg.cpp \

           dialogs/SettingsDlg.cpp \

           dialogs/SimplePasswordDlg.cpp \

#           dialogs/TrashCanDlg.cpp \

           import/Import.cpp \

#           import/Import_GnuKeyRing.cpp \

           import/Import_KeePassX_Xml.cpp \

           import/Import_KWalletXml.cpp \

           import/Import_PwManager.cpp \

           export/Export.cpp \

           export/Export_KeePassX_Xml.cpp \

           export/Export_Txt.cpp


isEqual(PRECOMPILED,0) {

	QMAKE_CXXFLAGS += -include keepassx.h

}

else {

	CONFIG += precompile_header

	PRECOMPILED_HEADER = keepassx.h

}


RESOURCES += res/resources.qrc


#isEmpty(QMAKE_LRELEASE) {

#	win32 {

#		QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe

#	}

#	else {

#		QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease-qt4

#		!exists($$QMAKE_LRELEASE) : QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease

#	}

#}


#exists($$QMAKE_LRELEASE) {

#	updateqm.input = TRANSLATIONS_COMPILE

#	updateqm.output = ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm

#	updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm

#	updateqm.CONFIG += no_link

#	

#	QMAKE_EXTRA_COMPILERS += updateqm

#	PRE_TARGETDEPS += compiler_updateqm_make_all

#}

#else {

#	message("*** lrelease not found - can't compile translation files")

#}


Hope that makes sense to you :D


Basically, it's just the source tar.gz off sourceforge extracted into sebt3's VM
 
Last edited by a moderator:
Yep, made sense. Didn't see anything wrong with the project files, so I took a peek at the source. It seems you might need to mess with the includes after all. Some of the header files which reference application specific types don't include anything at all, and so are dependant on someone else up the include chain already including the necessary files. You may need to add the necessary Qt includes as well to get rid of those metatype errors. Lot hairy-er than I expected :) .
 
Thanks, at least it's not just me. I'll keep playing until I get too frustrated, then move onto to a Pandora project of my own :D


Edit:


One thing I noticed in the make recently was that the config .pri files all point to the x86 path, and not the angstrom. I've changed these manually, but they occasionally switch back when doing a make. Do you know how to stop that?


Also, I'm at a point where my errors are limited down to linking...

../build/mainwindow.o: In function `KeepassMainWindow::OnShutdown(QSessionManager&)':
mainwindow.cpp:(.text+0x184): undefined reference to `QSessionManager::allowsInteraction()'


../build/moc_Application_X11.o:(.rodata+0x58): undefined reference to `QApplication::commitData(QSessionManager&)'


../build/moc_Application_X11.o:(.rodata+0x5c): undefined reference to `QApplication::saveState(QSessionManager&)'
 
Last edited by a moderator:
Hi,


So does anybody know why my make file would put the angstrom conf, but all the x86 pri's? and when I manually edit it and run make, it'll recreate the make file losing the changes (this bit confuses me)



Code:
Makefile: keepassx.pro  /usr/local/angstrom/arm/share/qt4/mkspecs/linux-pandora-g++/qmake.conf /usr/share/qt4/mkspecs/qconfig.pri \

		/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \


I'm thinking I need to turn on the Session Manager, does anybody know how to do that?


Cheers
 
Look over your shoulder along the learning curve and you'll see me staring in wonder.


Whilst I can't offer any help. I will offer a few words of encouragement.


I'm keen to use keepass on the Pandora as my password safe. I was googling for arm keepass to see if it existed and hit this very post.


Keep calm and carry on! :p
 
Look over your shoulder along the learning curve and you'll see me staring in wonder.


Whilst I can't offer any help. I will offer a few words of encouragement.


I'm keen to use keepass on the Pandora as my password safe. I was googling for arm keepass to see if it existed and hit this very post.


Keep calm and carry on! :p

Thanks. I've run the pndqmake on sebt3's VM, and have copied the source to an SD card, along with freamon's C/C++ tools PND. I tried a quick make before work, but looks like I'll need to tweak the makefile. Will play again at lunch or after work. :)
 
Back
Top