hi, I downloaded x86-qtopia from FriendlyARM web page and I try to compile it. It was a success. But new problems arose. #./run Using display 0 Cannot create lock file as an old version of QVFb has opened /tmp/qtembedded-root/QtEmbedded-0. Close other QVFb and try again Warning: QSocket::writeBlock: Socket is not open . . The compile was successful, but not run it.. What is the solution.? Help me plz... T^T thanks have a good day.
x86 QT QVFB problem.
I meet the question too.
and to me the reason maybe a bug in source file:
"qtopia-2.2.0-FriendlyARM/qt2/tools/qvfb/qvfbview.cpp "
at line 97,I modify
if (oldPipeLockId >= 0){
to
if (oldPipeSemkey >= 0){
and run the command into the path "qtopia-2.2.0-FriendlyARM/"
make tools
cd ..
make
and the error was gone, and qtopia can run well.
but now I encounter a mistake,when i close the qvfb window and run again,
it seems hung with no reponse.i must run kill -9 to kill the qss process,i
dont know whether it is because my modification.
caozhzh, Well your solution is not pretty, but in effect works. Using the kill -s 9 to kill the qvfb processes is not graceful, but I have not seen any negative effects yet. If you leave the blank Virtual Frambuffer running and you run another qvfb command, it will run again and leave another hung process, but it works. It appears you can run qvfb in pairs, meaning you run it and nothing happens, then you ctrl c to get out of the process. Then run it again and it works, leaving two qvfb hung processes each time, which you have to clean up with the kill -s 9 command. I have no idea why, but it works, so I am sticking with it until someone finds a better fix.
Here is a bash file that will kill all the qvfb processes that build up.
Also, a correction to previous post, only one hung process is left for each
pair of commands.
Example:
./run-hello # this process will fail and you will ctrl-c out; hung process
remains
./run-hello # this process runs and as far as I can tell works fine
#!/bin/sh
# Kill all qvfb processes
pid=`pidof qvfb`
if [ -n "$pid" ]; then
kill -9 $pid
fi
exit 0
Well if that were all that would be great. But I found my computer runing
like a dog after a bunch of testing of some programs. It turns out this
leaves the program you were using as a hung process as well. So I added a
varible to my script to kill the processes of the programs I was running.
So far this is the best work around I have. Seems to be ok so far, I would
like to try some more complicated QT programs to see if it works.
#!/bin/sh
# usage example: ./kill-qvfb hello
# This will kill both the qvfb and the hello processes
# Kill all qvfb processes
temproc=`pidof $1`
pid=`pidof qvfb`
if [ -n "$pid" ]; then
kill -9 $pid
fi
if [ -n "$temproc" ]; then
kill -9 $temproc
fi
exit 0


