Here is just a short qtide installation summary for fellow source
builders.  Installation was a bit bumpy, perhaps someone else can
benefit from the following notes.

All this on our amd64 company server, running current "old-stable"
Debian squeeze (6.0.9).

Before, I built and ran jqt-801 fine with just three minor tweaks which
have all been taken care of in j802 -- I really appreciate this!



(A) In case you attempt to do what I did first, trying to upgrade "in place",
like it usually is possible when tracking and building qtide sources.

        jqt will immediately segfault when jqt & shared lib are put into
        the old j801 bin dir.

My gut feeling was perhaps only installing into a fresh j802 would be
supported, so I proceeded at (B).   It later turned out, however, that
turning your j801 into a j802 via 801-jconsole:

        require 'pacman'
        'update' jpkg ''
        'upgrade' jpkg ''

will do the job -- no more segfault and you are done.


The more complicated way:

(B) When you do a fresh clean install of j802 and drop the self-built
jqt & shared lib into its bin directory, you'll get an ijx window
but this fault during profile execution:

        |value error: wd
        |   r=.r,LF,'Qt IDE: ',    wd'version'

This actually appears to relate closely to the segfault in (A), see the
backtrace from (A) below.

Trying to update packages via the "Tools->Packages" menu entry fails
with:

        not found: /usr/local/j64-802/addons/ide/qt/pacman.ijs
        |file name error: script
        |       0!:0 y[4!:55<'y'
        |value error: runpacman_jpacman_
        |       runpacman_jpacman_ 0

Apparently there's some serious glue missing here which is currently
only provided by doing a binary installation of qtide.  This kind of
defeats the entire point of building & installing something from source,
but let's go this route for now and do the

        install 'qtide'

from the jconsole.  Voila, bin/{jqt,libjqt.so}   But that won't fly,
either:

        bin 216 > `pwd`/jqt
        "/usr/local/j64-802/bin/libjqt.so" 
        "could not resolve: state_run:

        Cannot load library /usr/local/j64-802/bin/libjqt.so: 
(libQtDeclarative.so.4: cannot open shared object file: No such file or 
directory)" 

This is an incompatibility of the distributed qtide with the debian-squeeze
Qt version.

Copying over the self-built jqt binary and libjqt.so again fixes that
and you'll end up with a running jqt.


Lastly, because it hasn't been made explicit elsewhere before:
The J core engine is still exactly the same:

        % md5sum j64*/bin/libj.so
        122ee5617043e47453eab5276f61301c  j64-602/bin/libj.so
        3874a536b6fdc16364ca1ce16357f238  j64-701/bin/libj.so
        3874a536b6fdc16364ca1ce16357f238  j64-801/bin/libj.so
        3874a536b6fdc16364ca1ce16357f238  j64-802/bin/libj.so


                                                        Martin

Appendix:  the backtrace.  I manually inserted the "-g" flags into the
(generated) Makefiles for getting the debug info.  How is this properly
done at the "qmake" level?


#0  0x00007ffff5fc4ed1 in memcpy () from /lib/libc.so.6
#1  0x00007ffff67e7580 in ?? () from /usr/lib/libstdc++.so.6
#2  0x00007ffff67e77ab in std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::basic_string(char const*, unsigned long, 
std::allocator<char> const&) () from /usr/lib/libstdc++.so.6
#3  0x00007ffff15b70e6 in Cmd::init (this=0x7ffff188fdc0,
    s=0xa74000 <Address 0xa74000 out of bounds>, slen=7358496) at wd/cmd.cpp:23
#4  0x00007ffff1611348 in wd (s=0x8f9b00 "version", slen=7899168,
    res=@0x8f9200, len=@0x5) at wd/wd.cpp:147
#5  0x00007fffeb9c5aa2 in docall () from /usr/local/j64-801/bin/libj.so
#6  0x00007fffeb9c7899 in jtcdexec1 () from /usr/local/j64-801/bin/libj.so
#7  0x00007fffeb9c81f4 in jtcd () from /usr/local/j64-801/bin/libj.so
#8  0x00007fffeb9beb00 in secf2 () from /usr/local/j64-801/bin/libj.so
#9  0x00007fffeb842323 in withl () from /usr/local/j64-801/bin/libj.so
#10 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#11 0x00007fffeb890bca in jtunquote () from /usr/local/j64-801/bin/libj.so
#12 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#13 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#14 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#15 0x00007fffeb870e3e in jtparsex () from /usr/local/j64-801/bin/libj.so
#16 0x00007fffeb86c750 in jtxdefn () from /usr/local/j64-801/bin/libj.so
#17 0x00007fffeb862186 in rank1 () from /usr/local/j64-801/bin/libj.so
#18 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#19 0x00007fffeb890bca in jtunquote () from /usr/local/j64-801/bin/libj.so
#20 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#21 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#22 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#23 0x00007fffeb870e3e in jtparsex () from /usr/local/j64-801/bin/libj.so
#24 0x00007fffeb86c750 in jtxdefn () from /usr/local/j64-801/bin/libj.so
#25 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#26 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#27 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#28 0x00007fffeb883829 in jtparse () from /usr/local/j64-801/bin/libj.so
#29 0x00007fffeb886697 in jtimmex () from /usr/local/j64-801/bin/libj.so
#30 0x00007fffeb9d4842 in jtline () from /usr/local/j64-801/bin/libj.so
#31 0x00007fffeb9d4b1e in jtlinf () from /usr/local/j64-801/bin/libj.so
#32 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#33 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#34 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#35 0x00007fffeb883829 in jtparse () from /usr/local/j64-801/bin/libj.so
#36 0x00007fffeb886697 in jtimmex () from /usr/local/j64-801/bin/libj.so
#37 0x00007fffeb9d4842 in jtline () from /usr/local/j64-801/bin/libj.so
#38 0x00007fffeb9d4b1e in jtlinf () from /usr/local/j64-801/bin/libj.so
#39 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#40 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#41 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#42 0x00007fffeb870e3e in jtparsex () from /usr/local/j64-801/bin/libj.so
#43 0x00007fffeb86c750 in jtxdefn () from /usr/local/j64-801/bin/libj.so
#44 0x00007fffeb83fded in jtdfs1 () from /usr/local/j64-801/bin/libj.so
#45 0x00007fffeb883b64 in jtmonad () from /usr/local/j64-801/bin/libj.so
#46 0x00007fffeb883669 in jtparsea () from /usr/local/j64-801/bin/libj.so
#47 0x00007fffeb883829 in jtparse () from /usr/local/j64-801/bin/libj.so
#48 0x00007fffeb886697 in jtimmex () from /usr/local/j64-801/bin/libj.so
#49 0x00007fffeb87babb in jdo () from /usr/local/j64-801/bin/libj.so
#50 0x00007fffeb87bb6c in JDo () from /usr/local/j64-801/bin/libj.so
#51 0x00007ffff155ad68 in jefirst (type=<value optimized out>,
    arg=<value optimized out>) at base/jsvr.cpp:471
#52 0x00007ffff159cfa1 in Jcon::init (this=<value optimized out>, argc=1,
    argv=0x7fffffffe5f8) at base/svr.cpp:120
#53 0x00007ffff159d9e1 in svr_init (argc=1, argv=0x7fffffffe5f8)
    at base/svr.cpp:225
#54 0x00007ffff1593812 in state_init (argc=1, argv=0x7fffffffe5f8)
    at base/state.cpp:388
#55 0x00007ffff15938d3 in state_run (argc=1, argv=0x7fffffffe5f8,
    lib=<value optimized out>, fhs=<value optimized out>) at base/state.cpp:456
#56 0x0000000000401428 in main (argc=1, argv=0x7fffffffe5f8) at main.cpp:60


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to