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