Problem compiling kmap2gmap for Qt4.8.5 embedded linux version
-
Hello,
I know that this topic is quite old, but I am required to make modifications to a program that works on a certain ARM board. The program is compiled in Qt4.8.5 and now there is a requirement of using multi-lingual usb keyboards.
I have been studying different links that are available in this Forum as well as on other links.
I have gathered the kmap files, the kmap2gmap from the qt4.8.5 sources, managed to compile it and get an executable.
The problem is in executing this executable file.
As I understand, i need to run this executable on the ARM board and that is what i am unable to do.
I am not an expert in the linux domain.
We have created our application folder on the root and our main program to be run is placed in this folder and run with ./mainprog -qws
I dont know how to run this kmap2gmap and convert the kmap file to gmap file.
I tried placing all these files in the application folder and run the kmap2qmap application but i get "Permission Denied" error.
I have tried changing the location of this application and the kmap file to other locations and tried running this application over the serial debug console, but still get the Permission Denied error. I tried using chmod using the serial debug console to change permissions but even chmod returns "Permission Denied". -
@TheCrowKaka said in Problem compiling kmap2gmap for Qt4.8.5 embedded linux version:
i need to run this executable on the ARM board and that is what i am unable to do
Did you build it for ARM?
-
Hello @jsulm
Yes, I got it from qt-everywhere-opensource-src-4.8.5.tar.bz2 which is the Qt version compiled for the Arm board.
I managed to compile the kmap2qmap using the same compiler.
-
Hi,
If memory serves well, you do not need to run that tool on the target. Get the files needed, do the file generation on your desktop and then copy them to your target.
-
@SGaist You are right. Even I expected that the executable to run on the PC convert the file from kmap to qmap and then use the qmap file on the target device.
When i compile and try to run the executable kmap2qmap on the PC, i get "Cannot execute binary file" error. I get that same error for all the other tools compiled from the tools folder.
Secondly, i use that version Qt4.8.5 for compiling my application binary and run that executable on the target device which runs fine. Hence I thought that maybe, we have to run the kmap2qmap also on the target device.
Somehow, i think, i am not doing the compilation of the kmap2qmap program properly. I just used the ./configure command to cross compile Qt4.8.5 for the arm and ensure that the tools folder is also compiled. That compiled the tools for me.
Is there any other way to do that? -
You should build it with your desktop Qt version in order to be able to run it on that machine.
If you use your cross-compiled Qt, you will have a binary for your target.
Depending on your distribution, you should still have Qt 4 available as system packages. So you can use that one. -
@SGaist Finally, your solution worked.
I recompiled Qt to work on linux desktop and then compiled the kmap2qmap. Used that to convert the kmap files to qmap and then used them.
This is how i used it...QWSServer::instance()->closeKeyboard(); QWSKeyboardHandler * currentKeyboardHandler = QKbdDriverFactory::create("TTY", keymapfile); QWSServer::instance()->setKeyboardHandler(currentKeyboardHandler);
Where the keymapfile="keymap=/home/keymaps/qwerty/es.qmap"
Lastly, now the only thing left is the authenticity of the kmap files that i got from some github site. What is the right location to get these kmap files where I could also get the right description of each kmap file... the file itself contains some description but not all files has description.