#91 Bad Motif path embedded in Linux prebuilds

release
closed
Prebuilds (14)
5
2002-01-29
2001-11-15
Anonymous
No

Hi,

I just upgraded to 5.2 and the PageUp & PageDown keys
don't work anymore. Here is my setup:

RedHat Linux 6.2
XFree86 3.3.6-20
Lesstif 0.92.32-1

I have no xmbind program and no
/usr/X11R6/lib/X11/bindings directory. No xmbind.alias
file as well. My .motifbind file is:

! ~/.motifbind
! This is a comment

osfActivate : <Key>KP_Enter
osfAddMode : Shift<Key>F8
osfBackSpace : <Key>BackSpace
osfBeginLine : <Key>Home
osfCancel : <Key>Escape
osfClear : <Key>Clear
osfCopy : Ctrl<Key>Insert
osfCut : Shift<Key>Delete
osfDelete : <Key>Delete
osfEndLine : <Key>End
osfHelp : <Key>F1
osfInsert : <Key>Insert
osfLeft : <Key>Left
osfMenu : Shift<Key>F10
osfMenuBar : <Key>F10
osfPageDown : <Key>Next
osfPageLeft : Ctrl<Key>Prior
osfPageRight : Ctrl<Key>Next
osfPageUp : <Key>Prior
osfPaste : Shift<Key>Insert
osfPrimaryPaste : Meta Ctrl<Key>Insert
osfRight : <Key>Right
osfSelect : <Key>Select
osfUndo : <Key>Undo
osfUp : <Key>Up
osfDown : <Key>Down

! end of ~/.motifbind

This is what xev reports on those two keys:

-- PageUp --

KeyPress event, serial 25, synthetic NO, window 0x5000001,
root 0x26, subw 0x0, time 814766726, (134,150),
root:(1205,170),
state 0x0, keycode 99 (keysym 0xff55, Prior),
same_screen YES,
XLookupString gives 0 characters: ""

KeyRelease event, serial 25, synthetic NO, window
0x5000001,
root 0x26, subw 0x0, time 814766839, (134,150),
root:(1205,170),
state 0x0, keycode 99 (keysym 0xff55, Prior),
same_screen YES,
XLookupString gives 0 characters: ""

-- PageDown --

KeyPress event, serial 25, synthetic NO, window 0x5000001,
root 0x26, subw 0x0, time 814768401, (134,150),
root:(1205,170),
state 0x0, keycode 105 (keysym 0xff56, Next),
same_screen YES,
XLookupString gives 0 characters: ""

KeyRelease event, serial 25, synthetic NO, window
0x5000001,
root 0x26, subw 0x0, time 814768509, (134,150),
root:(1205,170),
state 0x0, keycode 105 (keysym 0xff56, Next),
same_screen YES,
XLookupString gives 0 characters: ""

Running "appres NEdit nedit" only returns color and
font related resources.

Please note that they used to work on 5.1.1 even
without the .motifbind file.

Thanks!
--
Mr. Andrea Cisternino
Software Engineer - STMicroelectronics

Discussion

  • Logged In: NO

    Please send output of "xprop -root | grep BINDINGS". Also,
    it appears you built your own version with LessTif; do you
    see the same problem with the binary from the website? What
    other Motif apps are you running (Netscape?).

     
  • Logged In: NO

    The output of "xprop -root | grep BINDINGS" is:

    _MOTIF_BINDINGS(STRING) = "\nosfActivate :
    <Key>KP_Enter\nosfAddMode : Shift<Key>F8\nosfBackSpace
    : <Key>BackSpace\nosfBeginLine :
    <Key>Home\nosfCancel :
    <Key>Escape\nosfClear : <Key>Clear\nosfCopy
    : Ctrl<Key>Insert\nosfCut
    : Shift<Key>Delete\nosfDelete :
    <Key>Delete\nosfEndLine : <Key>End\nosfHelp :
    <Key>F1\nosfInsert : <Key>Insert\nosfLeft :
    <Key>Left\nosfMenu : Shift<Key>F10\nosfMenuBar
    : <Key>F10\nosfPageDown : <Key>Next\nosfPageLeft
    : Ctrl<Key>Prior\nosfPageRight :
    Ctrl<Key>Next\nosfPageUp : <Key>Prior\nosfPaste
    : Shift<Key>Insert\nosfPrimaryPaste : Meta
    Ctrl<Key>Insert\nosfRight : <Key>Right\nosfSelect
    : <Key>Select\nosfUndo : <Key>Undo\nosfUp
    : <Key>Up\nosfDown : <Key>Down\n\n"

    I didn't compile my own version. I'm using the RPM package
    from the website. Here is more info:

    ~$ rpm -qi nedit-5.2-1
    Name : nedit Relocations: (not
    relocateable)
    Version : 5.2 Vendor: (none)
    Release : 1 Build Date: Thu
    25 Oct 2001 05:31:04 PM BST
    Install date: Wed 07 Nov 2001 11:32:35 AM GMT Build
    Host: penguin.imec.be
    Group : Applications/Editors Source RPM:
    nedit-5.2-1.src.rpm
    Size : 2098208 License: GPL
    URL : http://www.nedit.org
    Summary : A GUI text editor for systems with X and Motif.
    Description :
    NEdit is a GUI text editor for the X Window System and
    Motif. NEdit
    is very easy to use, especially if you're familiar with the
    Macintosh(TM) or Microsoft(TM) Windows(TM) style of interface.

    ~$ rpm -qR nedit-5.2-1
    ld-linux.so.2
    libICE.so.6
    libSM.so.6
    libX11.so.6
    libXext.so.6
    libXp.so.6
    libXt.so.6
    libc.so.6
    libm.so.6

    The motif libraries are simply provided by the lesstif package.

     
  • Logged In: NO

    Ah! The rpm has a different binary than the .Z that I built.
    It apparently uses LessTif instead of Motif. I'll download
    that and try it. It may very well be a problem with
    LessTif.

    In the meantime, I suggest you try the non-rpm version,
    which is the one I've tested extensively with all the RedHat
    systems I have.

    Does anyone know why the Linux RPM binary isn't the same as
    the non-RPM?

     
  • Logged In: NO

    I'm stumped. I've run the exact same binary on RedHat 6.2
    with GNOME and don't see this. The only difference is that
    I don't have LessTif installed. What desktop environment
    and window manager are you using?

    Your binary doesn't seem use LessTif as you indicated,
    though (there's no libXm in the dependency list). If you go
    to "Help>Version" you should see "OSF Motif", not "LessTif".

     
  • Eddy De Greef
    Eddy De Greef
    2001-11-15

    Logged In: YES
    user_id=73597

    Just to avoid any misunderstandings: the rpm that I've built
    contains exactly the same binary as the .tar.Z one.

     
  • Logged In: YES
    user_id=149933

    Update:

    I just reinstalled the RPM and also tried the binary archive
    both from www.nedit.org. Both versions show the same
    problem: PageUp and PageDown work like Home and End
    respectively. The motif bindings are unchanged with respect
    to my previous messages.

    I'm using KDE 2.1.1 with its window manager.

    This is what I get from Help->Version:

    NEdit Version 5.2
    October 2001

    Built on: Linux, x86, GNU C
    Built at: Oct 25 2001, 10:08:38
    With Motif: 2001 [@(#)Motif Version 2.1.30]
    Running Motif: 2001
    Server: The XFree86 Project, Inc 3360

    The two binaries (RPM and tar.Z) are different:

    ~$ md5sum /usr/X11R6/bin/nedit ./nedit-5.2/nedit

    6592382b31afb95d62002ec29cbc0ac3 /usr/X11R6/bin/nedit
    d5c10222d0ec103ac99bf3416386832d ./nedit-5.2/nedit
    These are the archives:

    911425 nedit-5.2-1.i386.rpm
    1268195 nedit-5.2-linux-x86.tar.Z
    3a603074fedcbce3b250464bfe13103d nedit-5.2-1.i386.rpm
    33e90308156205b5d6ef20a532ebbeb8 nedit-5.2-linux-x86.tar.Z
    This is what I get from ldd:

    ~$ ldd ./nedit-5.2/nedit /usr/X11R6/bin/nedit
    ./nedit-5.2/nedit:
    /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1
    (0x40015000)
    libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x40021000)
    libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40029000)
    libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40035000)
    libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40080000)
    libm.so.6 => /lib/libm.so.6 (0x40124000)
    libc.so.6 => /lib/libc.so.6 (0x40141000)
    libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40236000)
    libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40240000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    /usr/X11R6/bin/nedit:
    /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1
    (0x40015000)
    libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x40021000)
    libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40029000)
    libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40035000)
    libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40080000)
    libm.so.6 => /lib/libm.so.6 (0x40124000)
    libc.so.6 => /lib/libc.so.6 (0x40141000)
    libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40236000)
    libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40240000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    Hope this helps!
    --
    Mr. Andrea Cisternino
    Software Engineer - STMicroelectronics

     
  • Eddy De Greef
    Eddy De Greef
    2001-11-16

    Logged In: YES
    user_id=73597

    The nedit binaries are still essentially the same (there
    are no meaningful difference, even the build dates match to
    the second).
    My guess is that the rpm packager does something to
    binaries that slightly alters their size (resulting in a
    different checksum).

    BTW, did you see this posting at the develop list:

    Len Philpot wrote:

    > I make no guarantees for you (as I'm no expert), but I
    > experienced this problem in the past and based on a
    > suggestion by someone here on the list, I now run nedit
    > with the following command line (wrapped in a script):
    >
    > xrdb ~/.Xdefaults; xprop -root -remove \ > MOTIF_DEFAULT_BINDINGS;
    > /usr/X11R6/bin/Nedit $1 $2 $3 $4 $5 $6 $7 $8 $9 &
    >
    > I've not had the problem since.

     
  • Logged In: NO

    Sorry about that Eddy. I saw the stuff about LessTif and
    thought he meant the binary was compiled with it!

     
  • Eddy De Greef
    Eddy De Greef
    2001-11-16

    Logged In: YES
    user_id=73597

    Oops, I introduced a typo when reformatting the quoted
    mail. It should read:

    xrdb ~/.Xdefaults; xprop -root -remove \ _MOTIF_DEFAULT_BINDINGS;

    (The leading underscore was missing.)

    Scott, no problem.

     
  • Logged In: YES
    user_id=149933

    Some more info :-)

    The property I find in the root window after running nedit
    the first time with a .motifbind file in my home directory
    is _MOTIF_BINDINGS and not _MOTIF_DEFAULT_BINDINGS. I have
    no other Motif applications (I use Mozilla).

    The reason why I need a .motifbind is that if I don't have
    it the editor just hangs during startup before opening a
    windows. Strace shows that the nedit tries to open

    /home/tv/x11/i386-linux-motif-only/lib/bindings/xmbind.alias

    after $HOME/.motifbind and $HOME/xmbind.alias. The problem
    is that /home is not a real partition on my machine: it is
    automounted from /export/home and the automounter is giving
    me some problems: any program that wants to read a file
    specifying an absolute pathname beginning with "/home" just
    hangs waiting for the automounter to mount the directory.
    This happens with "rpm" as well (it tries "/home/ftp").

    As I said this behavior was not present in 5.1.1 on the same
    environment and without the .motifbind file.

    Cheers.
    Andrea.

     
  • Logged In: NO

    Nice detective work. This is a bug in the Linux prebuilds.
    Motif somehow embeds a local path into the executable, which
    is bad news. I'll have to work on a better Linux build.

     
  • Logged In: YES
    user_id=149933

    Last data for today :-)

    I just rebuilt from sources with a simple "make linux": it
    works perfectly with or without the .motifbind file.

    Some notes: libXm is now linked dynamically and provided by
    lesstif 0.92.32-1. After running nedit the
    _MOTIF_DEFAULT_BINDINGS property is registered in the root
    window with the following value:

    _MOTIF_DEFAULT_BINDINGS(STRING) = "osfActivate :
    <Key>KP_Enter \nosfAddMode : Shift<Key>F8
    \nosfBackSpace : <Key>BackSpace \nosfBeginLine : <Key>Home
    \nosfCancel
    : <Key>Escape \nosfClear : <Key>Clear \nosfCopy
    : Ctrl<Key>Insert\nosfCut :
    Shift<Key>Delete\nosfDelete : <Key>Delete
    \nosfEndLine : <Key>End
    \nosfHelp : <Key>F1 \nosfInsert :
    <Key>Insert \nosfLeft : <Key>Left \nosfMenu
    : Shift<Key>F10 \nosfMenuBar : <Key>F10
    \nosfPageDown : <Key>Next \nosfPageLeft :
    Ctrl<Key>Prior \nosfPageRight : Ctrl<Key>Next \nosfPageUp
    : <Key>Prior \nosfPaste :
    Shift<Key>Insert\nosfPrimaryPaste:Meta
    Ctrl<Key>Insert\nosfRight : <Key>Right \nosfSelect
    : <Key>Select \nosfUndo
    : <Key>Undo \nosfUp : <Key>Up
    \nosfDown : <Key>Down "

    ldd output:

    ~/nedit-5.2/source$ ldd ./nedit
    libXm.so.2 => /usr/X11R6/lib/libXm.so.2 (0x4001f000)
    libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x4016f000)
    libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4017d000)
    libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40189000)
    libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x401d4000)
    libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x401de000)
    libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401f5000)
    libm.so.6 => /lib/libm.so.6 (0x40299000)
    libc.so.6 => /lib/libc.so.6 (0x402b6000)
    libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x403ab000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    Cheers!
    Andrea.

     
  • Alexander Mai
    Alexander Mai
    2001-11-22

    Logged In: YES
    user_id=15180

    Ok, can someone finally tell whether this is now obsolete,
    should be closed or was there a remaining bug!?

     
  • Scott Tringali
    Scott Tringali
    2001-11-30

    • labels: 355502 --> Prebuilds
    • assigned_to: nobody --> tringali
    • summary: PageUp/PageDown don't work on Linux --> Bad Motif path embedded in Linux prebuilds
     
  • Scott Tringali
    Scott Tringali
    2001-11-30

    Logged In: YES
    user_id=11321

    I've remade the Linux binaries not to check /home.

     
  • Scott Tringali
    Scott Tringali
    2002-01-29

    • status: open --> closed