That's an interesting question.

I took a look at my windows installation of j64-801 and did not find any
reference to libreadline. I think it was used in older jconsoles.

So I went to a linux box and installed j64-801 (using the j801_amd64.deb).
As root:

apt-get install libqtcore4 libqtgui4 libqt4-opengl libqtwebkit4
dpkg -i j801_amd64.deb
ijconsole
   install 'qtide'

But that did not actually work. When I run jqt, it gives me:
"libjqt.so"
"could not resolve: state_run:

Cannot load library libjqt.so: (libjqt.so: cannot open shared object file:
No such file or directory)"

(As an aside, note that j801_amd64.deb installs package named jlang so
technically the file should be named jlang_801_amd64.deb.)

Still, I do not see any evidence that jqt has libreadline statically linked:

$ ldd `which jqt`
        linux-vdso.so.1 =>  (0x00007fffef3fe000)
        libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4
(0x00007f25448e8000)
        libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4
(0x00007f2544407000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f25441e9000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f2543ee5000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2543be1000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f25439ca000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2543602000)
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1
(0x00007f25433c6000)
        libaudio.so.2 => /usr/lib/x86_64-linux-gnu/libaudio.so.2
(0x00007f25431ad000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0
(0x00007f2542eac000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
(0x00007f2542c86000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2542a6c000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6
(0x00007f25427ca000)
        libgobject-2.0.so.0 =>
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f2542579000)
        libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6
(0x00007f2542370000)
        libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6
(0x00007f2542154000)
        libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6
(0x00007f2541f44000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1
(0x00007f2541d39000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
(0x00007f2541b27000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
(0x00007f25417f2000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f25415ed000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f25413e5000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f25455a5000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
(0x00007f25411ba000)
        libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6
(0x00007f2540f54000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
(0x00007f2540d50000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3
(0x00007f2540b10000)
        libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6
(0x00007f2540908000)
        libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1
(0x00007f2540703000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
(0x00007f25404e4000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
(0x00007f25402de000)

Nor do I see any evidence that it is dynamically linked. Here's plausible
candidates for dynamic linking:

$ strings /usr/bin/ijconsole | grep lib | fgrep .so | sort -u
/lib64/ld-linux-x86-64.so.2
libc.so.6
libdl.so.2
libj.so
$ strings /usr/bin/jqt | grep lib | fgrep .so | sort -u
/lib64/ld-linux-x86-64.so.2
libc.so.6
libgcc_s.so.1
libjqt.so
libm.so.6
libpthread.so.0
libQtCore.so.4
libQtGui.so.4
libstdc++.so.6
$

Also, here's what mapped files look like for ijconsole when it's running:

/proc/9980# ls -l map_files/
total 0
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 400000-406000 ->
/usr/bin/ijconsole-8.0.1
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 606000-607000 ->
/usr/bin/ijconsole-8.0.1
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5891000-7f27e5994000 ->
/lib/x86_64-linux-gnu/libm-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5994000-7f27e5b93000 ->
/lib/x86_64-linux-gnu/libm-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5b93000-7f27e5b94000 ->
/lib/x86_64-linux-gnu/libm-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5b94000-7f27e5b95000 ->
/lib/x86_64-linux-gnu/libm-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5b95000-7f27e5d89000 ->
/usr/lib/x86_64-linux-gnu/libj.so.8.0.1
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5d89000-7f27e5e89000 ->
/usr/lib/x86_64-linux-gnu/libj.so.8.0.1
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5e89000-7f27e5ea8000 ->
/usr/lib/x86_64-linux-gnu/libj.so.8.0.1
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e5eac000-7f27e6069000 ->
/lib/x86_64-linux-gnu/libc-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6069000-7f27e6269000 ->
/lib/x86_64-linux-gnu/libc-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6269000-7f27e626d000 ->
/lib/x86_64-linux-gnu/libc-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e626d000-7f27e626f000 ->
/lib/x86_64-linux-gnu/libc-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6274000-7f27e6277000 ->
/lib/x86_64-linux-gnu/libdl-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6277000-7f27e6476000 ->
/lib/x86_64-linux-gnu/libdl-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6476000-7f27e6477000 ->
/lib/x86_64-linux-gnu/libdl-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6477000-7f27e6478000 ->
/lib/x86_64-linux-gnu/libdl-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6478000-7f27e649b000 ->
/lib/x86_64-linux-gnu/ld-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6503000-7f27e668c000 ->
/usr/lib/locale/locale-archive
lrw------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6690000-7f27e6691000 ->
/home/ubuntu/j64-801-user/break/9980.default
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e6691000-7f27e6698000 ->
/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e669a000-7f27e669b000 ->
/lib/x86_64-linux-gnu/ld-2.17.so
lr-------- 1 ubuntu ubuntu 64 May 17 02:01 7f27e669b000-7f27e669d000 ->
/lib/x86_64-linux-gnu/ld-2.17.so

I'd poke around further, but I should probably wait for
http://www.jsoftware.com/jwiki/Guides/Qt%20IDE/Install to be updated? I'll
note that the instructions for the base j801 system do not actually mention
/usr/bin/ijconsole and instead mention ~/j801/bin/jconsole (which of course
is not installed).

Perhaps I should have installed something different?

Thanks,

-- 
Raul



On Fri, May 16, 2014 at 8:22 PM, bill lam <[email protected]> wrote:

> I suspect J engine does not know the image address of libreadline that
> jconsole had loaded without some hacking.  Whether 15!:0 will load the
> shared object into a different address or use the same image address, I
> don't know.
>
> Or was libreadline static linked?
>
> On 17.05.2014, at 1:00, Raul Miller <[email protected]> wrote:
>
> > It might also be possible to do using 15!: and libreadline c api?
> >
> > I am not sure, I've not tried that so do not know what obstacles you
> would
> > encounter?
> >
> > Thanks,
> >
> > --
> > Raul
> >
> >
> > On Fri, May 16, 2014 at 10:26 AM, bill lam <[email protected]> wrote:
> >
> >> Almost all sm cmd had been removed because qtide is now written in c++.
> >> Hotkey binding are also hardcoded using c++ IIRC.  Therefore I suspect
> name
> >> completion is doable but it needs to be done by working on qtide c++
> >> source.
> >> On May 16, 2014 9:29 PM, "Andrew Nikitin" <[email protected]> wrote:
> >>
> >>> In J602 wd environment I use name completion a lot (
> >>> http://www.jsoftware.com/jwiki/AndrewNikitin/namecomplete ) and got
> used
> >>> to it quite a bit.
> >>>
> >>> It uses sm* family of verbs to extract partial name to the left of the
> >>> cursor, look up matching names in current and path locales and complete
> >> it.
> >>> This all is bound to hotkey.
> >>>
> >>> As I am trying to transition myself to newer version, I wonder if
> similar
> >>> trick is possible in J8* console?
> >>> Is there a hotkey bounding?
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to