"Error opening framebuffer device"
Hi everyone,
I am installing Qt-embedded 4.5(technical preview) on Linux fedora 8(which already has Qt/X11 installed in it).
I followed the installation steps given in the docs(after unzipping the archive)----
1. cd to/ where/ I had saved the extracted Qt emb. folder
2. ./configure -qvfb
3.gmake (as prompted in the terminal)
4.gmake install( prompted in terminal)
5.I couldn't find .profile anywhere in "/root" so,as per suggestions received,I copied the PATH=/usr/local/....... in .bash_profile removing the preexisting PATH in .bash_profile(meant for Qt/X11)
6.Now,I am trying to run the 'textedit' example in the demos folder.It's not showing any error when I do "make" but when I try "./textedit -qws",
I get a continuous flow of the following message---
Code:
QScreenLinuxFb::connect:No such file or directory
Error opening framebuffer device /dev/fb0
The 'analogclock' widget example is working fine.
I checked http://doc.trolltech.com/4.5/qvfb.html and there it's written that I should do the following--
compile and run the qvfb tool as a normal Qt for X11 application (i.e., do not compile it as a Qt for Embedded Linux application):
cd path/to/Qt/tools/qvfb
make
./qvfb
Problem is, I don't have the Qt/X11 folder downloaded from the internet(which contains the 'tools' folder).Qt/X11 was installed by some other guy(don't know who) long time back and now,I can't find the 'tools' folder which came along with Qt/X11 anywhere in my system.
What do I do?Is there any alternative(I am not really looking forward to reinstalling everything)?I assumed that since I didn't do the above steps(compiling qvfb) so,I am getting the errors.
Please advice.
Thank you..
(update) "Error opening framebuffer device"
(working on Fedora core 8)
well, I downloaded another Qt/X11 4.4.3 package from the internet and tried configuring 'qvfb' from there.(I didn't uninstall the already existing Qt package...please refer to first post in case you are wondering which 'existing Qt' package I am referring to).
Now,it shows this error---
Code:
[root@localhost qvfb]# qmake qvfb.pro
[root@localhost qvfb]# make
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.4.3/lib -o ../../bin/qvfb qvfb.o qvfbview.o qvfbratedlg.o main.o qanimationwriter.o qvfbprotocol.o qvfbshmem.o qvfbmmap.o qlock.o qwssignalhandler.o qvfbx11view.o x11keyfaker.o moc_qvfb.o moc_qvfbview.o moc_qvfbratedlg.o moc_gammaview.o moc_qvfbprotocol.o moc_qvfbshmem.o moc_qvfbmmap.o moc_qvfbx11view.o moc_x11keyfaker.o qrc_qvfb.o qrc_ClamshellPhone.o qrc_PDAPhone.o qrc_SmartPhone2.o qrc_SmartPhone.o qrc_SmartPhoneWithButtons.o qrc_TouchscreenPhone.o qrc_Trolltech-Keypad.o qrc_Trolltech-Touchscreen.o qrc_PortableMedia.o -L/usr/X11R6/lib -L/usr/local/Trolltech/Qt-4.4.3/lib -lXtst -lQtOpenGL -L/usr/local/Trolltech/Qt-4.4.3/lib -L/usr/X11R6/lib -lQtGui -lpng -lSM -lICE -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lrt -ldl -lGLU -lGL -lpthread
/usr/bin/ld: cannot find -lXtst
collect2: ld returned 1 exit status
make: *** [../../bin/qvfb] Error 1
[root@localhost qvfb]#
seems like a package 'libXtst' is missing( and I think it's not a Qt issue) so,I tried downloading and installing libXtst and it shows this error--
Code:
[root@localhost Desktop]# rpm -ivh libXtst-1.0.3-1.fc8.src.rpm
warning: libXtst-1.0.3-1.fc8.src.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: cannot create %sourcedir /usr/src/redhat/SOURCES
So,if anyone has any idea of how to solve this problem then do reply.It might not be a Qt issue but if anyone knows how to get around it,well,then I am eagerly waiting for your reply.Thanks for your time.:)
Re: "Error opening framebuffer device"
which processor is used for QT. also check for fb0 in /dev folder in rootfs.
Re: "Error opening framebuffer device"
Hi,
finally a reply,thank you.
Processor info--
[root@localhost /]# cat /proc/cpuinfo | more
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 1.80GHz
stepping : 7
cpu MHz : 1794.271
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss h
t tm pbe up pebs bts sync_rdtsc cid xtpr
bogomips : 3590.88
clflush size : 64
And, I can't see any 'fb0' in /dev though there's a couple of 'fd' and 'fd0..'hope this info will be of some use.
Re: "Error opening framebuffer device"
i think if there is no fb0 in /dev folder this may be the problem in your case.as it was the similar problem i have faced, but not the same problem then i switch to another machine where fb0 was previously there.
Re: "Error opening framebuffer device"
Hi,
Thanks for the advice.Got a bit of confusion though....does the 'fb0' folder/file pre exist in /dev.I thought it was created after we configured 'qvfb' or something like that.
error while configuring 'qvfb'
Hi,
I got rid of the error I mentioned in my previous posts(about not being able to find 'lXtst')...now it's showing me the errors copied below.
Code:
[root@localhost ~]# cd /root/Desktop/qt-x11/tools/qvfb
[root@localhost qvfb]# qmake qvfb.pro
[root@localhost qvfb]# make
g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.5.0-tp1/lib -o ../../bin/qvfb qvfb.o qvfbview.o qvfbratedlg.o main.o qanimationwriter.o qvfbprotocol.o qvfbshmem.o qvfbmmap.o qlock.o qwssignalhandler.o qvfbx11view.o x11keyfaker.o moc_qvfb.o moc_qvfbview.o moc_qvfbratedlg.o moc_gammaview.o moc_qvfbprotocol.o moc_qvfbshmem.o moc_qvfbmmap.o moc_qvfbx11view.o moc_x11keyfaker.o qrc_qvfb.o qrc_ClamshellPhone.o qrc_PDAPhone.o qrc_SmartPhone2.o qrc_SmartPhone.o qrc_SmartPhoneWithButtons.o qrc_TouchscreenPhone.o qrc_Trolltech-Keypad.o qrc_Trolltech-Touchscreen.o qrc_PortableMedia.o -L/usr/local/Trolltech/QtEmbedded-4.5.0-tp1/lib -lXtst -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.5.0-tp1/lib -lpng -lfreetype -lQtNetwork -lQtCore -lz -lm -lrt -ldl -lpthread
qvfb.o: In function `QVFb::setZoom(double)':
qvfb.cpp:(.text+0x4a6): undefined reference to `DeviceSkin::setTransform(QMatrix const&)'
qvfb.o: In function `QVFb::enableCursor(bool)':
qvfb.cpp:(.text+0x74b): undefined reference to `DeviceSkin::hasCursor() const'
qvfb.o: In function `QVFb::skinConfigChosen(int)':
qvfb.cpp:(.text+0x3fb2): undefined reference to `DeviceSkinParameters::read(QString const&, DeviceSkinParameters::ReadMode, QString*)'
qvfb.
o: In function `QVFb
::init(int,
int,
int,
int,
int,
QString const
&)':qvfb.cpp:(.text+0x6bbe): undefined reference to `DeviceSkinParameters::read(QString const&, DeviceSkinParameters::ReadMode, QString*)'
qvfb.
cpp:(.
text+0x6bea
): undefined reference to `DeviceSkin
::DeviceSkin(DeviceSkinParameters const
&,
QWidget*)'qvfb.cpp:(.text+0x6cf7): undefined reference to `DeviceSkin::setView(QWidget*)'
qvfb.cpp:(.text+0x70a1): undefined reference to `DeviceSkinParameters::hasSecondaryScreen() const'
qvfb.cpp:(.text+0x71ee): undefined reference to `DeviceSkinParameters::secondaryScreenSize() const'
qvfb.
cpp:(.
text+0x7267
): undefined reference to `DeviceSkin
::setSecondaryView(QWidget*)'qvfbx11view.o: In function `QVFbX11View::startXnest()':
qvfbx11view.
cpp:(.
text+0x1f96
): undefined reference to `
QX11Info::display()'qvfbx11view.cpp:(.text+0x1fa1): undefined reference to `QX11Info::appScreen()'
qvfbx11view.
cpp:(.
text+0x1fb6
): undefined reference to `
QX11Info::display()'qvfbx11view.cpp:(.text+0x1fc1): undefined reference to `QX11Info::appScreen()'
qvfbx11view.
cpp:(.
text+0x1fec
): undefined reference to `
QX11Info::display()'qvfbx11view.cpp:(.text+0x2037): undefined reference to `QX11Info::display()'
qvfbx11view.
cpp:(.
text+0x2055
): undefined reference to `
QX11Info::appVisual(int)'qvfbx11view.cpp:(.text+0x205c): undefined reference to `QX11Info::display()'
qvfbx11view.
cpp:(.
text+0x2067
): undefined reference to `
QX11Info::appScreen()'qvfbx11view.cpp:(.text+0x214a): undefined reference to `QX11Info::display()'
qvfbx11view.
cpp:(.
text+0x2155
): undefined reference to `
QX11Info::appScreen()'qvfbx11view.cpp:(.text+0x2276): undefined reference to `QX11Info::display()'
moc_qvfb.
o:(.
rodata._ZTV4QVFb
[vtable
for QVFb
]+0xb0
): undefined reference to `
QWidget::x11Event(_XEvent
*)'moc_qvfb.o:(.rodata._ZTV6Zoomer[vtable for Zoomer]+0xb0): undefined reference to `QWidget::x11Event(_XEvent*)'
moc_qvfbview.
o:(.
rodata._ZTV8QVFbView
[vtable
for QVFbView
]+0xb0
): undefined reference to `
QWidget::x11Event(_XEvent
*)'moc_qvfbview.o:(.rodata._ZTV16QVFbAbstractView[vtable for QVFbAbstractView]+0xb0): undefined reference to `QWidget::x11Event(_XEvent*)'
moc_qvfbratedlg.
o:(.
rodata._ZTV14QVFbRateDialog
[vtable
for QVFbRateDialog
]+0xb0
): undefined reference to `
QWidget::x11Event(_XEvent
*)'moc_gammaview.o:(.rodata._ZTV9GammaView[vtable for GammaView]+0xb0): more undefined references to `QWidget::x11Event(_XEvent*)' follow
collect2: ld returned 1 exit status
make: *** [../../bin/qvfb] Error 1
Can't figure out what to do about it.Please advice.
Thanks.