Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sway: symbol lookup error: sway: undefined symbol: wlc_set_pointer_motion_cb_v2 #1461

Closed
brandon-arnold opened this issue Nov 13, 2017 · 27 comments

Comments

@brandon-arnold
Copy link

I followed your Debian Installation Guide and the build went fine without error. That is, using #master repo from both wlc and sway. However, when I back out into TTY and attempt to run sway, I get the error in the title line. That is:

sway: symbol lookup error: sway: undefined symbol: wlc_set_pointer_motion_cb_v2

Since I did sudo make install on both sway and wlc as directed, chances are some dependency I installed via apt-get, or the #master versions of sway or wlc, do not match those at the time of the writing of Debian Installation Guide.

Debian GNU/Linux 9 (stretch)

@ddevault
Copy link
Contributor

Your wlc is outdated.

@brandon-arnold
Copy link
Author

How? It just came from the master branch.

@brandon-arnold
Copy link
Author

Unless it's picking up something from apt-get....let me see

@ddevault
Copy link
Contributor

You must have installed it incorrectly, maybe into /usr/local.

@brandon-arnold
Copy link
Author

brandon@goatboxter3:/etc$ which wlc
/usr/bin/wlc
brandon@goatboxter3:/etc$ which sway
/usr/local/bin/sway

@brandon-arnold
Copy link
Author

Here is the output after sudo make install of wlc:

-- Install configuration: "Release"
-- Up-to-date: /usr/local/lib/libwlc.so.0.0.10
-- Up-to-date: /usr/local/lib/libwlc.so.0
-- Up-to-date: /usr/local/lib/libwlc.so
-- Up-to-date: /usr/local/include/wlc
-- Up-to-date: /usr/local/include/wlc/defines.h
-- Up-to-date: /usr/local/include/wlc/wlc-wayland.h
-- Up-to-date: /usr/local/include/wlc/wlc-render.h
-- Up-to-date: /usr/local/include/wlc/wlc.h
-- Up-to-date: /usr/local/include/wlc/geometry.h
-- Up-to-date: /usr/local/lib/pkgconfig/wlc.pc

@ddevault
Copy link
Contributor

Does /usr/include/wlc/wlc.h exist?

@brandon-arnold
Copy link
Author

Yes, it does.

@ddevault
Copy link
Contributor

Well, there you have it.

@brandon-arnold
Copy link
Author

I think I get it. So some other thing installed an older version, probably aptitude. Well I will have to figure out where that's coming from.

@brandon-arnold
Copy link
Author

Wait. No! What's wrong with it installing to /usr/loca/wlc? The output of sudo make install clearly states that it installed it there!

@brandon-arnold
Copy link
Author

I mean. Not my problem, right? I'm just following directions.

@ddevault
Copy link
Contributor

/usr takes precedence. You already installed it there before. You need to remove the old version from /usr or install the new version to /usr.

@ddevault
Copy link
Contributor

If the instructions are wrong, fix them. It's a wiki. Sway on Debian is user-supported.

@brandon-arnold
Copy link
Author

Okay, thanks for the help.

@brandon-arnold
Copy link
Author

@SirCmpwn I just removed the following files--my only guess is that I've tried installing this some time ago and forgotten:

usr
    ├── include
    │   └── wlc
    │       ├── defines.h
    │       ├── geometry.h
    │       ├── wlc.h
    │       ├── wlc-render.h
    │       └── wlc-wayland.h
    └── lib
        └── x86_64-linux-gnu
            ├── libwlc.so -> libwlc.so.0
            ├── libwlc.so.0 -> libwlc.so.0.0.9
            ├── libwlc.so.0.0.9
            └── pkgconfig
                └── wlc.pc

I've also verified that wlc installed to the location as per the output of sudo make install, above.

Why then is sway unable to find libwlc.so, as below?

brandon@goatboxter3:~/wlc-temp$ sway
sway: error while loading shared libraries: libwlc.so.0: cannot open shared object file: No such file or directory

@ddevault
Copy link
Contributor

If you're not going to install to /usr you need to set some environment variables to load libraries from somewhere else. Ask your distro for help.

@brandon-arnold
Copy link
Author

Yep, I added a the *.so paths to my LD_LIBRARY_PATH in .bashrc and it seems to have picked them up. Now I'm getting the error as per #1162, as follows:

!! DANGER !! Sway does not have CAP_SYS_PTRACE and cannot enforce security rules for processes running as other users.

@ddevault
Copy link
Contributor

The error tells you what to do.

@brandon-arnold
Copy link
Author

I did it. Now I'm getting the damn missing .so file again. Sheesh!

@ddevault
Copy link
Contributor

For security reasons, sway clears your LD_LIBRARY_PATH from the environment during startup. You have to hard code it when you compile sway with cmake -DLD_LIBRARY_PATH=...

@brandon-arnold
Copy link
Author

Alll right now we are cooking with grease. Let me try it.

@brandon-arnold
Copy link
Author

brandon-arnold commented Nov 13, 2017

Passing in a -D switch to CMake did not do it, but I was able to load it in system-wide via adding it to /etc/ld.so.conf. I feel like I am close but it is still not starting; here's the output after sway -d:

I: 11/12/17 22:58:35 - [main.c:250] Linux goatboxter3 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux
I: 11/12/17 22:58:35 - [main.c:222] Contents of /etc/os-release:
I: 11/12/17 22:58:35 - [main.c:229] PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
I: 11/12/17 22:58:35 - [main.c:229] NAME="Debian GNU/Linux"
I: 11/12/17 22:58:35 - [main.c:229] VERSION_ID="9"
I: 11/12/17 22:58:35 - [main.c:229] VERSION="9 (stretch)"
I: 11/12/17 22:58:35 - [main.c:229] ID=debian
I: 11/12/17 22:58:35 - [main.c:229] HOME_URL="https://www.debian.org/"
I: 11/12/17 22:58:35 - [main.c:229] SUPPORT_URL="https://www.debian.org/support"
I: 11/12/17 22:58:35 - [main.c:229] BUG_REPORT_URL="https://bugs.debian.org/"
I: 11/12/17 22:58:35 - [main.c:222] Contents of /etc/debian_version:
I: 11/12/17 22:58:35 - [main.c:229] 9.1
I: 11/12/17 22:58:35 - [main.c:207] PATH=/home/brandon/bin:/home/brandon/.dvm/bin/docker/1.11.2/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/brandon/bin:/home/brandon/opt/node-v8.1.2-linux-x64/bin:/usr/local/go/bin:/home/brandon/go/bin
I: 11/12/17 22:58:35 - [main.c:207] LD_LOAD_PATH=(null)
I: 11/12/17 22:58:35 - [main.c:207] LD_PRELOAD_PATH=(null)
I: 11/12/17 22:58:35 - [main.c:207] LD_LIBRARY_PATH=/usr/local/lib/
I: 11/12/17 22:58:35 - [main.c:207] SWAY_CURSOR_THEME=(null)
I: 11/12/17 22:58:35 - [main.c:207] SWAY_CURSOR_SIZE=(null)
I: 11/12/17 22:58:35 - [main.c:207] SWAYSOCK=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_DRM_DEVICE=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_SHM=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_OUTPUTS=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_XWAYLAND=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_LIBINPUT=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_REPEAT_DELAY=(null)
I: 11/12/17 22:58:35 - [main.c:207] WLC_REPEAT_RATE=(null)
I: 11/12/17 22:58:35 - [main.c:207] XKB_DEFAULT_RULES=(null)
I: 11/12/17 22:58:35 - [main.c:207] XKB_DEFAULT_MODEL=(null)
I: 11/12/17 22:58:35 - [main.c:207] XKB_DEFAULT_LAYOUT=(null)
I: 11/12/17 22:58:35 - [main.c:207] XKB_DEFAULT_VARIANT=(null)
I: 11/12/17 22:58:35 - [main.c:207] XKB_DEFAULT_OPTIONS=(null)
D: 11/12/17 22:58:35 - [main.c:52] [wlc] logind: session control granted
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Running on vt 2 (fd 0)
I: 11/12/17 22:58:35 - [main.c:50] [wlc] Failed to open X11 display
I: 11/12/17 22:58:35 - [main.c:466] Starting sway version 0.15-rc1-48-g7c3b0ff (2017-11-13, branch "master")

D: 11/12/17 22:58:35 - [config.c:450] Set XDG_CONFIG_HOME to /home/brandon/.config
I: 11/12/17 22:58:35 - [config.c:475] Loading config from /etc/sway/security.d/00-defaults
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'permit * fullscreen keyboard mouse'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(permit) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '*'
D: 11/12/17 22:58:35 - [permit.c:71] Permissions granted to * for features 112
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'permit /usr/local/bin/swaylock lock'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(permit) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaylock'
D: 11/12/17 22:58:35 - [permit.c:71] Permissions granted to /usr/local/bin/swaylock for features 113
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'permit /usr/local/bin/swaybg background'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(permit) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaybg'
D: 11/12/17 22:58:35 - [permit.c:71] Permissions granted to /usr/local/bin/swaybg for features 116
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'permit /usr/local/bin/swaygrab screenshot'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(permit) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaygrab'
D: 11/12/17 22:58:35 - [permit.c:71] Permissions granted to /usr/local/bin/swaygrab for features 120
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'permit /usr/local/bin/swaybar panel'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(permit) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaybar'
D: 11/12/17 22:58:35 - [permit.c:71] Permissions granted to /usr/local/bin/swaybar for features 114
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'ipc /usr/local/bin/swaymsg {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(ipc) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaymsg'
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '* enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(*) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC * feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'events {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(events) 0
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '* disabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(*) 0
D: 11/12/17 22:58:35 - [ipc.c:158] Disabled IPC * event
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:822] End of IPC events block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:817] End of IPC block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'ipc /usr/local/bin/swaybar {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(ipc) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaybar'
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'bar-config enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(bar-config) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC bar-config feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'outputs enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(outputs) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC outputs feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'workspaces enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(workspaces) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC workspaces feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'command enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(command) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC command feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'events {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(events) 0
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'workspace enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(workspace) 0
D: 11/12/17 22:58:35 - [ipc.c:155] Enabled IPC workspace event
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'mode enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(mode) 0
D: 11/12/17 22:58:35 - [ipc.c:155] Enabled IPC mode event
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:822] End of IPC events block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:817] End of IPC block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'ipc /usr/local/bin/swaygrab {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(ipc) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaygrab'
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'outputs enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(outputs) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC outputs feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'tree enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(tree) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC tree feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:817] End of IPC block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'ipc /usr/local/bin/swaylock {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(ipc) 0
D: 11/12/17 22:58:35 - [security.c:14] Validating IPC target '/usr/local/bin/swaylock'
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'outputs enabled'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(outputs) 0
D: 11/12/17 22:58:35 - [ipc.c:106] Enabled IPC outputs feature
I: 11/12/17 22:58:35 - [commands.c:519] handling config command '}'
D: 11/12/17 22:58:35 - [config.c:817] End of IPC block
I: 11/12/17 22:58:35 - [commands.c:519] handling config command 'commands {'
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(commands) 0
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(*) 0
I: 11/12/17 22:58:35 - [commands.c:623] Set command policy for * to -1
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(fullscreen) 0
I: 11/12/17 22:58:35 - [commands.c:623] Set command policy for fullscreen to 10
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(bindsym) 0
I: 11/12/17 22:58:35 - [commands.c:623] Set command policy for bindsym to 1
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(exit) 0
I: 11/12/17 22:58:35 - [commands.c:623] Set command policy for exit to 2
D: 11/12/17 22:58:35 - [commands.c:344] find_handler(kill) 0
I: 11/12/17 22:58:35 - [commands.c:623] Set command policy for kill to 2
D: 11/12/17 22:58:35 - [config.c:812] End of commands block
I: 11/12/17 22:58:35 - [config.c:475] Loading config from /home/brandon/.config/sway/config
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Terminating wlc...
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Terminating compositor...
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Compositor terminated...
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Parent exit (3364)
D: 11/12/17 22:58:35 - [main.c:52] [wlc] Restoring vt 2 (0x4) (fd 0)

@brandon-arnold
Copy link
Author

Maybe the config it copied over isn't working. I will fiddle with that.

@brandon-arnold
Copy link
Author

Nope. Not sure! That I: 11/12/17 22:58:35 - [main.c:50] [wlc] Failed to open X11 display line must have something to do with it.

@ddevault
Copy link
Contributor

No, that doesn't have anything to do with it. I don't know what's wrong.

@brandon-arnold
Copy link
Author

@SirCmpwn It turns out the problem is in trying to load the file in ~/.config/sway. Having removed the whole ~/.config/sway, the PPA as well as the AUR package for Arch are working. When I have time I will look over Sway/source/doc to see how the experience may be improved for idiots such as myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants