Trolltech Home | Qt-jambi-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-jambi-interest Archive, August 2006
FreeBSD and Qt-Jambi


Message 1 in thread

Hello,

I have been waiting a long time for this release and it is wonderful.  I am 
very impressed (I've used it on Windows) however I have tried to run it on 
FreeBSD with little success, here is a record of my attempts:

My first attempt was with a natively build JDK.  This version of java works 
well however when running the demo ./qtjambi.sh the vm exits with the 
problem:
failed to load library: 'qtjambi'
Exception in thread "main" 
java.lang.UnsatisfiedLinkError: /usr/home/DragonSA/src/qtjambi-linux-preview/lib/libqtjambi.so.1.0.0: ./lib/libQtCore.so.4: 
Undefined symbol "stdout"
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
        at java.lang.Runtime.loadLibrary0(Runtime.java:822)
        at java.lang.System.loadLibrary(System.java:992)
        at 
com.trolltech.qt.QtJambiInternal.loadLibrary(QtJambiInternal.java:55)
        at 
com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryInitializer.java:19)
        at com.trolltech.qt.QtObject.<clinit>(QtObject.java:28)

I have tried copying libraries around and forcing the loading of libc from the 
linux version (ABI) but doing so breaks every program on FreeBSD, the two 
libc are not compatible and I am unable to get the Qt*.so.4 libraries to 
exclusively use the linux version and at the same time let FreeBSD programs 
(java) use the FreeBSD version.  

My second attempt was greeted with a little more success.  I got the libraries 
to load and the first screen of the demo.  For this I used the linux version 
of the JDK, however there was a conflict with the libgcc_s not being new 
enough (3.0 instead of 3.3), that was easily solved with a rpm from 
FedoraCore 3: gcc3.4.4.  After that the vm crashed just after loading (no 
display) so I appended "-XstartOnFirstThread" to the end of the command and 
the screen loads.  But!!! there is limited use but crashes randomly and 
without any warning, here is the crash log (hs_err_pid27490.log):

##############################hs_err_pid27490.log#############################
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  Internal Error (4E4D4554484F440E4350500525), pid=27490, tid=32771
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode)

---------------  T H R E A D  ---------------

Current thread (0x080bb950):  JavaThread "Reference Handler" daemon 
[_thread_in_Java, id=27494]

Stack: [0xbf001000,0xbf200000),  sp=0xbf1ff1c0,  free space=2040k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
code)
V  [libjvm.so+0x31f0d3]
V  [libjvm.so+0x12383c]
V  [libjvm.so+0x27660e]
V  [libjvm.so+0x2bd3d0]
V  [libjvm.so+0x2880c4]
V  [libjvm.so+0x2852d4]
C  [libpthread.so.0+0xca98]
C  0xbfbfffdb
v  ~OSRAdapter
v  ~StubRoutines::call_stub
V  [libjvm.so+0x17900c]
V  [libjvm.so+0x286278]
V  [libjvm.so+0x178865]
V  [libjvm.so+0x1788fe]
V  [libjvm.so+0x1eff25]
V  [libjvm.so+0x2ee653]
V  [libjvm.so+0x286e88]
C  [libpthread.so.0+0x6aea]


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x08198540 JavaThread "Thread-0" daemon [_thread_blocked, id=27500]
  0x080c8af0 JavaThread "Low Memory Detector" daemon [_thread_blocked, 
id=27498]
  0x080c75c0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=27497]
  0x080c6780 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=27496]
  0x080bd720 JavaThread "Finalizer" daemon [_thread_blocked, id=27495]
=>0x080bb950 JavaThread "Reference Handler" daemon [_thread_in_Java, id=27494]
  0x0805d8c8 JavaThread "main" [_thread_in_vm, id=27490]

Other Threads:
  0x080b6d40 VMThread [id=27493]
  0x080ca038 WatcherThread [id=27499]

VM state:synchronizing (normal execution)

VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0x0805cce0/0x0805cd08] Safepoint_lock - owner thread: 0x080b6d40
[0x0805cd60/0x0805cd88] Threads_lock - owner thread: 0x080b6d40
[0x0805d1b0/0x0805d1c8] Heap_lock - owner thread: 0x0805d8c8

Heap
 def new generation   total 576K, used 516K [0x2da20000, 0x2dac0000, 
0x2df00000)
  eden space 512K, 100% used [0x2da20000, 0x2daa0000, 0x2daa0000)
  from space 64K,   6% used [0x2dab0000, 0x2dab1008, 0x2dac0000)
  to   space 64K,   0% used [0x2daa0000, 0x2daa0000, 0x2dab0000)
 tenured generation   total 1536K, used 1442K [0x2df00000, 0x2e080000, 
0x31a20000)
   the space 1536K,  93% used [0x2df00000, 0x2e0689c8, 0x2e068a00, 0x2e080000)
 compacting perm gen  total 8192K, used 4943K [0x31a20000, 0x32220000, 
0x35a20000)
   the space 8192K,  60% used [0x31a20000, 0x31ef3d30, 0x31ef3e00, 0x32220000)
No shared spaces configured.

Dynamic libraries:
Can not get library information for pid = 27494

VM Arguments:
java_command: com.trolltech.launcher.Launcher -XstartOnFirstThread
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/usr/local/linux-sun-jdk1.5.0/jre/
PATH=./bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/DragonSA/bin
LD_LIBRARY_PATH=/usr/local/linux-sun-jdk1.5.0/jre/lib/i386/client:/usr/local/linux-sun-jdk1.5.0/jre/lib/i386:/usr/local/linux-sun-jdk1.5.0/jre/../lib/i386:./lib:
SHELL=/usr/local/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x31fae0], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x31fae0], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x2852b0], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x2852b0], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x2852b0], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x43807efb, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x287700], sa_mask[0]=0x80000000, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x287130], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x287130], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x287130], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x287130], sa_mask[0]=0xdffb7eff, sa_flags=0x10000004


---------------  S Y S T E M  ---------------

OS:Red Hat Linux release 8.0 (Psyche)

uname:Linux 2.4.2 FreeBSD 6.0-RELEASE #13: Sat Mar 18 02:02:27 SAST 2006 i686
libc:glibc 2.3.2 linuxthreads-0.10 (fixed stack)
rlimit: STACK 2044k, CORE infinity, NPROC 5547, NOFILE 11095, AS 10k
load average:0.00 
4701099795014399489389371966364966604103084524931260758624169931369341508829845165398119923901913548704374568764363022330506064087116971168727978016953887481258844521567076680204288.00 
0.00

CPU:total 1 family 6, cmov, cx8, fxsr, mmx, sse

Memory: 4k page, physical 1035684k(881316k free), swap 2071368k(2071368k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_07-b03) for linux-x86, built on May  
3 2006 01:46:28 by java_re with gcc 3.2.1-7a (J2SE release)


###############################  End File  ###################################

Any help would be greatly appreciated.  Idealy I would like a solution to use 
the FreeBSD vm of java or to increase the reliability on linux ABI.  I am 
willing to compile such a verison for FreeBSD and I do have Qt4.1.2 
installed.  

My system:
FreeBSD 6.0
jdk-1.5.0p3_2
linux-sun-jdk-1.5.0.07,2

Many thanks
David


Message 2 in thread

David Naylor wrote:
> Hello,
> 
> I have been waiting a long time for this release and it is wonderful.  I am 
> very impressed (I've used it on Windows) however I have tried to run it on 
> FreeBSD with little success, here is a record of my attempts:

Hi David,

I must say I'm impressed with your effort to make this work on FreeBSD ;-)

We should have stated more clarly in which platforms are tested and 
supported. We intended the binary package to be working for standard 
linux distros, and did not consider FreeBSD in this group, so this was 
never tested.

The final version of Jambi will of course be available on all relevant 
platforms. Hopefully then as a prebuilt binary for the Java crowd.

> Any help would be greatly appreciated.  Idealy I would like a solution to use 
> the FreeBSD vm of java or to increase the reliability on linux ABI.

Any virtual machine that supports Java 1.5 and JNI could theoretically 
be used when we build from sources.

 > I am
> willing to compile such a verison for FreeBSD and I do have Qt4.1.2 
> installed. 

I'm afraid I'm going to have to ask you to wait until a later preview or 
the final version for FreeBSD to work ;-)

Jambi also requires Qt 4.1.3, because of the way we layered QThread on 
top of Java native threads. We require some adoption inside the Qt core 
to make this work.

-
Gunnar