Skip to main content

The basis.DemoFrame in PBP(Personal Basis Profile) is not executed!!!

2 replies [Last post]
choichanwoo
Offline
Joined: 2007-08-07
Points: 0

II want to execute basis.DemoFrame(is included to PBP) in the linux.

*Development Environment
- Linux : Fedora 3 (Kernel version : 2.6.22.6)
- QT/X11 : qt-2.3.2
- QT/Embedded : qt-embedded-2.3.2
- GCC/G++ : ver 3.2.3

After compiling CVM, I did execute following command("ldd libqtawt_g.so").

[root@cwchoi-linux lib]# ldd libqtawt_g.so
linux-gate.so.1 => (0xffffe000)
libqt.so.2 => /usr/local/qt-2.3.2/lib/libqt.so.2 (0xb79c8000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb78f3000)
libc.so.6 => /lib/libc.so.6 (0xb77c0000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb77b0000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb76b1000)
libXft.so.2 => /usr/lib/libXft.so.2 (0xb769d000)
libm.so.6 => /lib/libm.so.6 (0xb7678000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb766c000)
/lib/ld-linux.so.2 (0x80000000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7669000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7663000)
libdl.so.2 => /lib/libdl.so.2 (0xb765e000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7621000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb75b3000)
libz.so.1 => /usr/lib/libz.so.1 (0xb75a0000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7597000)
libexpat.so.0 => /lib/libexpat.so.0 (0xb7575000)

But I don't execute basis.DemoFrame with following exception.

java.lang.UnsatisfiedLinkError: /home/cwchoi00/phoneme-advanced-mr1/build/linux-x86-generic/lib/libqtawt_g.so
at java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;)V(Native Method)
at java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/lang/String;ZZ)Ljava/lang/Object;(ClassLoader.java:1694)
at java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;Z)Ljava/lang/Object;(ClassLoader.java:1732)
at java.lang.ClassLoader.loadLibraryInternal(Ljava/lang/Class;Ljava/lang/String;ZZ)Ljava/lang/Object;(ClassLoader.java:1592)
at java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V(ClassLoader.java:1498)
at java.lang.Runtime.loadLibrary0(Ljava/lang/Class;Ljava/lang/String;)V(Runtime.java:873)
at java.lang.System.loadLibrary(Ljava/lang/String;)V(System.java:885)
at sun.security.action.LoadLibraryAction.run()Ljava/lang/Object;(LoadLibraryAction.java:65)
at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;(AccessController.java:294)
at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AccessController.java:268)
at java.awt.QtGraphicsEnvironment.()V(QtGraphicsEnvironment.java:59)
at java.awt.QtToolkit.()V(QtToolkit.java:39)
at java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object;(Constructor.java:280)
at java.lang.Class.newInstance()Ljava/lang/Object;(Class.java:284)
at java.awt.Toolkit$1.run()Ljava/lang/Object;(Toolkit.java:188)
at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;(AccessController.java:294)
at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AccessController.java:268)
at java.awt.Toolkit.getDefaultToolkit()Ljava/awt/Toolkit;(Toolkit.java:177)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()Ljava/awt/GraphicsEnvironment;(GraphicsEnvironment.java:70)
at java.awt.Window.(Ljava/awt/GraphicsConfiguration;)V(Window.java:209)
at java.awt.Frame.(Ljava/lang/String;Ljava/awt/GraphicsConfiguration;)V(Frame.java:291)
at java.awt.Frame.()V(Frame.java:241)
at basis.DemoFrame.(Ljava/util/ArrayList;Ljava/awt/Dimension;)V(DemoFrame.java:150)
at basis.DemoFrame.main([Ljava/lang/String;)V(DemoFrame.java:84)
at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Method.java:316)
at sun.misc.CVM.runMain()V(CVM.java:478)

I try to solve this problem.

Solution 1.

QTDIR=/usr/local/qt-2.3.2
LD_LIBRARY_PATH=$QTDIR/lib:/home/cwchoi00/phoneme-advanced-mr1/build/linux-x86-generic/lib:$LD_LIBRARY_PATH

export QTDIR LD_LIBRARY_PATH

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
cjplummer
Offline
Joined: 2006-10-16
Points: 0

When you get an UnsatisfiedLinkError of the form you are seeing (where the full path to the library is included), this means that cvm found the library, but the call to dlopen failed to load it. I see you are using a debug version of cvm (which is good in this case). cvm should have printed an error message which includes the perror result after calling dlopen. This should tell you why the dlopen call failed. Perhaps you just omitted it from your output. If you go to the following URL, the first two examples show you types of perror output you might see:

http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedCVMNative...

I'm somewhat suspicous of the following line in the ldd output, but perhaps it is normal. I'm not sure what linux-gate.so.1 is.

linux-gate.so.1 => (0xffffe000)

Chris

choichanwoo
Offline
Joined: 2007-08-07
Points: 0

First of all, thank you for your reply.

I do find a cause of problem.

Because I did compile CVM with unsuitable QT, I did have a problem.

The compiling method of QT is explained in the following url.

http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatforms...

Good luck to you~*^^*