Giter VIP home page Giter VIP logo

Comments (16)

jordansissel avatar jordansissel commented on July 20, 2024 1

@kenorb thanks for the poke! I reviewed and merged it. <3

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

I don't know what "debian sid" means :(

However, based on the error message you get, I would suspect you're using an unsupported version of libxkbcommon?

What does dpkg -l | grep xkb output?

from xdotool.

AlexDaniel avatar AlexDaniel commented on July 20, 2024

sid=unstable

dpkg -l | grep xkb

ii  libxcb-xkb-dev:i386                        1.10-3                             i386         X C Binding, XKEYBOARD extension, development files
ii  libxcb-xkb1:i386                           1.10-3                             i386         X C Binding, XKEYBOARD extension
ii  libxkbcommon-dev                           0.4.1-2                            i386         library interface to the XKB compiler - development files
ii  libxkbcommon-x11-0:i386                    0.4.1-2                            i386         library to create keymaps with the XKB X11 protocol
ii  libxkbcommon-x11-dev                       0.4.1-2                            i386         library to create keymaps with the XKB X11 protocol - development files
ii  libxkbcommon0:i386                         0.4.1-2                            i386         library interface to the XKB compiler - shared library
ii  libxkbfile1:i386                           1:1.0.8-1                          i386         X11 keyboard file manipulation library
ii  x11-xkb-utils                              7.7+1                              i386         X11 XKB utilities
ii  xkb-data                                   2.12-1                             all          X Keyboard Extension (XKB) configuration data

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

I don't know much about debian's 32/64bit support, but I see what appears to be libxkbcommon 0.4.1 for i386, not 64bit.

Is your system 64bit? Perhaps install the 64bit libraries?

What is the output of uname -a ?

from xdotool.

AlexDaniel avatar AlexDaniel commented on July 20, 2024

No, my system is 32bit.

Linux Margo 3.14-2-486 #1 Debian 3.14.15-2 (2014-08-09) i686 GNU/Linux

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

Can you put the output of this command on gist.github.com and link it here?
readelf -s $(dpkg -L libxkbcommon0 | grep libxkbcommon.so.0 | head -1)

from xdotool.

AlexDaniel avatar AlexDaniel commented on July 20, 2024

Sure:
https://gist.github.com/AlexDaniel/103ac74c97d56d8c5f12

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

Alrighty, so the functions' sthere, probably a linker problem. I'll try to reproduce! Thanks for all the details :)

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

On Ubuntu 14.04, I can't reproduce this.

  • libxdo is linked correctly against libxkbcommon:
% ldd ./libxdo.so | grep xkb
        libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f8412075000)

Thinking outloud - The error you get doesn't even make sense to me. The linker error with ./libxdo.so comes when compiling xdotool. There is no reason for the linker to attempt to resolve a xdotool's dependency on libxdo through to any nested dependencies. I am super confused!

In the xdotool directory where you are building things. Is there a libxdo.so file? If so, can you attach the output of ldd libxdo.so ?

from xdotool.

AlexDaniel avatar AlexDaniel commented on July 20, 2024

Ah, there you go:
ldd libxdo.so

    linux-gate.so.1 (0xb7789000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb762b000)
    libXtst.so.6 => /usr/lib/i386-linux-gnu/libXtst.so.6 (0xb7624000)
    libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb761f000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74ad000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb748b000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7486000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb7474000)
    libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb7461000)
    /lib/ld-linux.so.2 (0xb778a000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb745d000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb7457000)

from xdotool.

kenorb avatar kenorb commented on July 20, 2024

I've the same problem on Ubuntu 15.04 (vivid). Above readelf shows xkb_keysym_to_utf32 present and ldd something similar:

$ ldd libxdo.so
linux-vdso.so.1 =>  (0x00007ffd99fec000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe70d05f000)
libXtst.so.6 => /usr/lib/x86_64-linux-gnu/libXtst.so.6 (0x00007fe70ce59000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fe70cc56000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe70c88c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe70c66d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe70c469000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fe70c257000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe70d5a4000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe70c053000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fe70be4d000)

from xdotool.

kenorb avatar kenorb commented on July 20, 2024

Simple steps to reproduce in VM:

  1. Install vagrant.

  2. Create the following Vagrantfile file in empty folder:

    Vagrant.configure(2) do |config|
      config.vm.box = "ubuntu/vivid64"
      config.vm.box_version = "20150722.0.0"
      config.vm.network "private_network", ip: "192.168.22.22"
    end
    
  3. Run: vagrant up && vagrant ssh.

  4. Once you're in VM, install dependencies:

    sudo apt-get install libx11-dev libxtst-dev libxinerama-dev libxkbcommon-dev
    
  5. Clone and make the sources:

    git clone https://github.com/jordansissel/xdotool && make -C xdotool

    cc -o xdotool xdotool.o cmd_click.o cmd_mousemove.o cmd_mousemove_relative.o cmd_mousedown.o cmd_mouseup.o cmd_getmouselocation.o cmd_type.o cmd_key.o cmd_windowmove.o cmd_windowactivate.o cmd_windowfocus.o cmd_windowraise.o cmd_windowsize.o cmd_set_window.o cmd_search.o cmd_getwindowfocus.o cmd_getwindowpid.o cmd_getactivewindow.o cmd_windowmap.o cmd_windowunmap.o cmd_windowreparent.o cmd_set_num_desktops.o cmd_get_num_desktops.o cmd_set_desktop.o cmd_get_desktop.o cmd_set_desktop_for_window.o cmd_get_desktop_for_window.o cmd_get_desktop_viewport.o cmd_set_desktop_viewport.o cmd_windowkill.o cmd_behave.o cmd_window_select.o cmd_getwindowname.o cmd_behave_screen_edge.o cmd_windowminimize.o cmd_exec.o cmd_getwindowgeometry.o cmd_windowclose.o cmd_sleep.o cmd_get_display_geometry.o -L. -lxdo -Xlinker -rpath=/usr/local/lib -lm -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lrt
    ./libxdo.so: undefined reference to `xkb_keysym_to_utf32'

from xdotool.

jordansissel avatar jordansissel commented on July 20, 2024

That does the output of pkg-config --libs xkbcommon say?

from xdotool.

kenorb avatar kenorb commented on July 20, 2024

It's:

$ pkg-config --libs xkbcommon
-lxkbcommon 

from xdotool.

kenorb avatar kenorb commented on July 20, 2024

Posted bounty of $10.

from xdotool.

kenorb avatar kenorb commented on July 20, 2024

PR: #81, please review.

from xdotool.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.