Package Details: weylus 0.11.4-2

Git Clone URL: https://aur.archlinux.org/weylus.git (read-only, click to copy)
Package Base: weylus
Description: Use your tablet as graphic tablet/touch screen on your computer.
Upstream URL: https://github.com/H-M-H/Weylus
Licenses: AGPL3
Conflicts: weylus-bin
Submitter: HMH_13
Maintainer: HMH_13
Last Packager: HMH_13
Votes: 5
Popularity: 0.036586
First Submitted: 2021-03-10 11:33 (UTC)
Last Updated: 2022-05-20 15:18 (UTC)

Latest Comments

Hammer commented on 2022-05-20 15:58 (UTC)

Great, now it works!

HMH_13 commented on 2022-05-20 15:30 (UTC)

Ok, please try again. I think the problem was the linking order of some libraries which I have changed now.

Hammer commented on 2022-05-17 02:48 (UTC)

When I change my rust toolchain from nightly to stable, this error disappear. I guess it will be an interesting bug :P. Thank you!

HMH_13 commented on 2022-05-16 22:01 (UTC)

That's weird, I can not reproduce this error on my system and also not within a docker container running archlinux:latest, in both cases Weylus builds just fine.

Hammer commented on 2022-05-16 19:19 (UTC)

Hey, this package now fails to build. I did nothing but running yay -S weylus, and following got output:

...
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcz4lmGe/symbols.o" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/deps/weylus-4e284414ea5993ff.weylus.063a12e8-cgu.15.rcgu.o" "-Wl,--as-needed" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/deps" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out" "-L" "/usr/lib" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/build" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/build/Release" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/lib" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/lib64" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/lib/Release" "-L" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/fltk-sys-ff0f81669037f07a/out/lib64/Release" "-L" "/home/huzf/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-lerror" "-llog" "-lvideo" "-Wl,-Bdynamic" "-lavcodec" "-lavdevice" "-lavfilter" "-lavformat" "-lavutil" "-lpostproc" "-lswresample" "-lswscale" "-lx264" "-Wl,-Bstatic" "-llinux" "-Wl,-Bdynamic" "-lX11" "-lXext" "-lXrandr" "-lXfixes" "-lXcomposite" "-lXi" "-lva" "-lva-drm" "-lva-glx" "-lva-x11" "-ldrm" "-Wl,-Bstatic" "/tmp/rustcz4lmGe/libfltk_sys-b37e1daadd0a7aaa.rlib" "-Wl,--start-group" "-Wl,--end-group" "/home/huzf/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-16d69221f10b0282.rlib" "-Wl,-Bdynamic" "-lgstvideo-1.0" "-lgstbase-1.0" "-lgstreamer-1.0" "-lgobject-2.0" "-lglib-2.0" "-lX11" "-lXtst" "-lpng" "-lpthread" "-lX11" "-lXext" "-lXinerama" "-lXcursor" "-lXrender" "-lXfixes" "-lXft" "-lfontconfig" "-lgstapp-1.0" "-lgstbase-1.0" "-lgstreamer-1.0" "-lgobject-2.0" "-lglib-2.0" "-lgstbase-1.0" "-lgstreamer-1.0" "-lgobject-2.0" "-lglib-2.0" "-lgstreamer-1.0" "-lgobject-2.0" "-lglib-2.0" "-lgobject-2.0" "-lglib-2.0" "-ldbus-1" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/huzf/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/deps/weylus-4e284414ea5993ff" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `log_callback':
          encode_video.c:(.text.log_callback+0x137): undefined reference to `log_trace'
          /usr/bin/ld: encode_video.c:(.text.log_callback+0x16d): undefined reference to `log_error'
          /usr/bin/ld: encode_video.c:(.text.log_callback+0x181): undefined reference to `log_warn'
          /usr/bin/ld: encode_video.c:(.text.log_callback+0x195): undefined reference to `log_info'
          /usr/bin/ld: encode_video.c:(.text.log_callback+0x1a9): undefined reference to `log_debug'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `set_hwframe_ctx':
          encode_video.c:(.text.set_hwframe_ctx+0x10f): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.set_hwframe_ctx+0x12b): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.set_hwframe_ctx+0x14b): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `open_video':
          encode_video.c:(.text.open_video+0x2d2): undefined reference to `log_info'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x33b): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x47c): undefined reference to `log_debug'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x57a): undefined reference to `log_debug'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x5dd): undefined reference to `log_debug'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x67b): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x6ab): undefined reference to `log_warn'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x6c3): undefined reference to `log_debug'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x71e): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.open_video+0x7ab): undefined reference to `log_debug'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `encode_video_frame':
          encode_video.c:(.text.encode_video_frame+0xbb): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `alloc_frame_buffer':
          encode_video.c:(.text.alloc_frame_buffer+0x98): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `alloc_frame_buffer_hw':
          encode_video.c:(.text.alloc_frame_buffer_hw+0xb0): undefined reference to `fill_error'
          /usr/bin/ld: encode_video.c:(.text.alloc_frame_buffer_hw+0xe9): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o): in function `fill_bgra':
          encode_video.c:(.text.fill_bgra+0x17b): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/libvideo.a(encode_video.o):encode_video.c:(.text.fill_rgb+0x133): more undefined references to `fill_error' follow
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/liblinux.a(xhelper.o): in function `x11_error_handler':
          xhelper.c:(.text.x11_error_handler+0xa8): undefined reference to `log_debug'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/liblinux.a(xhelper.o): in function `get_property':
          xhelper.c:(.text.get_property+0x126): undefined reference to `fill_error'
          /usr/bin/ld: xhelper.c:(.text.get_property+0x156): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/liblinux.a(xhelper.o): in function `get_window_title':
          xhelper.c:(.text.get_window_title+0x10e): undefined reference to `fill_error'
          /usr/bin/ld: xhelper.c:(.text.get_window_title+0x148): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/liblinux.a(xhelper.o): in function `get_client_list':
          xhelper.c:(.text.get_client_list+0xee): undefined reference to `fill_error'
          /usr/bin/ld: /home/huzf/.cache/yay/weylus/src/Weylus-0.11.4/target/release/build/weylus-a89b375390a43123/out/liblinux.a(xhelper.o):xhelper.c:(.text.create_capturables+0x84): more undefined references to `fill_error' follow
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

warning: `weylus` (bin "weylus") generated 1 warning
error: could not compile `weylus` due to previous error; 1 warning emitted
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: weylus

tinywrkb commented on 2021-10-28 23:15 (UTC)

@HMH_13 thanks for replying! Facepalm, I missed the features flag.

HMH_13 commented on 2021-10-28 23:03 (UTC)

@tinywrkb that's what happens by default, but Weylus can be built using the system ffmpeg and libva libraries by passing --features="ffmpeg-system" to cargo. This avoids downloading ffmpeg during the build as this is rather bad practice for packaging things. The reason why ffmpeg is downloaded, built and statically linked by default is to make sure Weylus runs with hardware acceleration even on older systems. However, this is not a problem on Arch Linux and that's why I am using the system ffmpeg library here.

Also thanks for packaging Weylus for Flatpak!

tinywrkb commented on 2021-10-28 22:46 (UTC) (edited on 2021-10-28 22:47 (UTC) by tinywrkb)

@HMH_13 I hope I'm not wrong here, as I don't have any experience with Rust, but the ffmpeg dependency is most likely wrong, considering the buildsystem downloads and compiles static ffmpeg libs, and link against them.

Same issue with libva, and I wouldn't be surprised if a library mismatch with the system one would mean no video HW acceleration (encode/decode?), as the drivers are built against the system libva.

Even though I'm an Arch Linux user, I'm actually packaging this as a Flatpak, and just came here to check the AUR package, and was surprise to see these depedencies.

By including ffmpeg as a dependency, are you trying to avoid adding ffmpeg's dependencies to the depends array? If so, then it's not correct.

Also, you are the developer, right? Would it be possible for you to add support for allowing to link against shared ffmpeg and liba libraries?

dron1885 commented on 2021-07-09 09:49 (UTC) (edited on 2021-07-09 09:49 (UTC) by dron1885)

Weylus on Wayland requires the gst-plugin-pipewire package to work.