TheGreatMcPain / TheGreatMcPain-overlay

My Personal Gentoo Overlay (mirror)
https://gitlab.com/TheGreatMcPain/TheGreatMcPain-overlay
GNU General Public License v2.0
8 stars 4 forks source link

media-libs/alvr - build issue #22

Open 0k00l opened 4 months ago

0k00l commented 4 months ago

Hi, cannot build alvr. My emerge output is as follows:

/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0 /var/tmp/portage/media-libs/alvr-20.2.0/work
    Updating git repository `https://github.com/zarik5/settings-schema-rs`
    Updating git repository `https://github.com/rust-mobile/ndk`
    Updating git repository `https://github.com/zarik5/openxrs`
error: failed to get `openxr` as a dependency of package `alvr_client_openxr v20.2.0 (/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0/alvr/client_openxr)`

Caused by:
  failed to load source for dependency `openxr`

Caused by:
  Unable to update https://github.com/zarik5/openxrs#2fe331ec

Caused by:
  object not found - no match for id (2fe331ec5f97f709e8126061503f8922b434bc09); class=Odb (9); code=NotFound (-3)
/var/tmp/portage/media-libs/alvr-20.2.0/work
>>> Source unpacked in /var/tmp/portage/media-libs/alvr-20.2.0/work
>>> Preparing source in /var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0 ...
 * Applying alvr-20.1.0-Disable_rpath_in_dependencies.rs.patch ...                                                          [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0 ...
 * Configured with: -p alvr_vrcompositor_wrapper -p alvr_server -p alvr_dashboard -p alvr_vulkan_layer
>>> Source configured.
>>> Compiling source in /var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0 ...
error: failed to get `openxr` as a dependency of package `alvr_client_openxr v20.2.0 (/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0/alvr/client_openxr)`

Caused by:
  failed to load source for dependency `openxr`

Caused by:
  Unable to update https://github.com/zarik5/openxrs#2fe331ec

Caused by:
  can't checkout from 'https://github.com/zarik5/openxrs': you are in the offline mode (--offline)
 * cargo build --release -p alvr_vrcompositor_wrapper -p alvr_server -p alvr_dashboard -p alvr_vulkan_layer
error: failed to get `openxr` as a dependency of package `alvr_client_openxr v20.2.0 (/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0/alvr/client_openxr)`

Caused by:
  failed to load source for dependency `openxr`

Caused by:
  Unable to update https://github.com/zarik5/openxrs#2fe331ec

Caused by:
  can't checkout from 'https://github.com/zarik5/openxrs': you are in the offline mode (--offline)
 * ERROR: media-libs/alvr-20.2.0::thegreatmcpain failed (compile phase):
 *   cargo build failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 2295:  Called cargo_src_compile
 *   environment, line  921:  Called die
 * The specific snippet of code:
 *       "${@}" || die "cargo build failed"
 * 
 * If you need support, post the output of `emerge --info '=media-libs/alvr-20.2.0::thegreatmcpain'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/alvr-20.2.0::thegreatmcpain'`.
 * The complete build log is located at '/var/tmp/portage/media-libs/alvr-20.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/alvr-20.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0'
 * S: '/var/tmp/portage/media-libs/alvr-20.2.0/work/ALVR-20.2.0'

>>> Failed to emerge media-libs/alvr-20.2.0, Log file:

>>>  '/var/tmp/portage/media-libs/alvr-20.2.0/temp/build.log'

Btw. Is there a chance to update version of alvr in you overlay?

TheGreatMcPain commented 4 months ago

Looks like the specific commit hash for openxrs doesn't exist anymore. I'll have to update to a newer version.

TheGreatMcPain commented 4 months ago

Okay, I've updated the ebuild to 20.7.0.

Could you verify that it's working for you? I know it installs, but I'm currently not in a position to test it with my Quest 2.

fpemud commented 3 weeks ago

I have just tested alvr-20.7.0 in your overlay and encounters another build failure. I can provide other info if needed.

Compiling rand v0.8.5 Runningrustc --crate-name rand --edition=2018 /var/tmp/portage/media-libs/alvr-20.7.0/work/cargo_home/gentoo/rand-0.8.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=1 --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="getrandom"' --cfg 'feature="libc"' --cfg 'feature="rand_chacha"' --cfg 'feature="std"' --cfg 'feature="std_rng"' -C metadata=ea14108989b50256 -C extra-filename=-ea14108989b50256 --out-dir /var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/deps -L dependency=/var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/deps --extern libc=/var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/deps/liblibc-512eae33f62bfb86.rmeta --extern rand_chacha=/var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/deps/librand_chacha-c2f240b080e1b3f5.rmeta --extern rand_core=/var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/deps/librand_core-2f42b3eed6418234.rmeta --cap-lints allow error: failed to run custom build command forjack-sys v0.5.1`

Caused by: process didn't exit successfully: /var/tmp/portage/media-libs/alvr-20.7.0/work/ALVR-20.7.0/target/release/build/jack-sys-b6867f86cc36bd7a/build-script-build (exit status: 101) --- stdout cargo:rerun-if-env-changed=JACK_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=JACK_STATIC cargo:rerun-if-env-changed=JACK_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

--- stderr thread 'main' panicked at /var/tmp/portage/media-libs/alvr-20.7.0/work/cargo_home/gentoo/jack-sys-0.5.1/build.rs:13:23: called Result::unwrap() on an Err value: "\npkg-config exited with status code 1\n> PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 x86_64-pc-linux-gnu-pkg-config --libs --cflags jack\n\nThe system library jack required by crate jack-sys was not found.\nThe file jack.pc needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.\nThe PKG_CONFIG_PATH environment variable is not set.\n\nHINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing jack.pc.\n" note: run with RUST_BACKTRACE=1 environment variable to display a backtrace warning: build failed, waiting for other jobs to finish...

TheGreatMcPain commented 2 weeks ago

I probably just need to update it to the newest version.

I haven't done much VR lately which is why I haven't touched this ebuild for a while.

TheGreatMcPain commented 2 weeks ago

I just added 20.9.1. Could you test it?

Also I gave it the nvidia useflag, so set that accordingly. Uses VIDEO_CARDS="nvidia".

TheGreatMcPain commented 2 weeks ago

Don't re-sync just yet. Turns out I forgot to makes sure the thing installs. lol

TheGreatMcPain commented 2 weeks ago

Okay, It should be working now.

fpemud commented 2 weeks ago

Fails again on my side. I don't have jack (I use pipewire), could there be an USE flag to disable jack dependency?

   Compiling httparse v1.8.0
     Running `rustc --crate-name build_script_build --edition=2018 /var/tmp/portage/media-libs/alvr-20.9.1/work/cargo_home/gentoo/httparse-1.8.0/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=1 -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=b45f695254eb16c3 -C extra-filename=-b45f695254eb16c3 --out-dir /var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1/target/release/build/httparse-b45f695254eb16c3 -L dependency=/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1/target/release/deps --cap-lints allow`
     Running `/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1/target/release/build/jack-sys-d516bab0e92244db/build-script-build`
     Running `/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1/target/release/build/x11-dl-f1ed477615cb2892/build-script-build`
error: failed to run custom build command for `jack-sys v0.5.1`

Caused by:
  process didn't exit successfully: `/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1/target/release/build/jack-sys-d516bab0e92244db/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=JACK_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=JACK_STATIC
  cargo:rerun-if-env-changed=JACK_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at /var/tmp/portage/media-libs/alvr-20.9.1/work/cargo_home/gentoo/jack-sys-0.5.1/build.rs:13:23:
  called `Result::unwrap()` on an `Err` value: "\npkg-config exited with status code 1\n> PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 x86_64-pc-linux-gnu-pkg-config --libs --cflags jack\n\nThe system library `jack` required by crate `jack-sys` was not found.\nThe file `jack.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.\nThe PKG_CONFIG_PATH environment variable is not set.\n\nHINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `jack.pc`.\n"
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
 * ERROR: media-libs/alvr-20.9.1::thegreatmcpain failed (compile phase):
 *   cargo build failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 3105:  Called cargo_src_compile
 *   environment, line 1178:  Called die
 * The specific snippet of code:
 *       cargo_env "${@}" || die "cargo build failed"
 * 
 * If you need support, post the output of `emerge --info '=media-libs/alvr-20.9.1::thegreatmcpain'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/alvr-20.9.1::thegreatmcpain'`.
 * The complete build log is located at '/var/tmp/portage/media-libs/alvr-20.9.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/alvr-20.9.1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1'
 * S: '/var/tmp/portage/media-libs/alvr-20.9.1/work/alvr-20.9.1'
TheGreatMcPain commented 1 week ago

Could you re-sync and try again?

I forgot ALVR now requires jack to be installed.

fpemud commented 1 week ago

I have successfully built it, thank you very much! I will test ALVR further. AFAIK, It is the only buildable and usable VR-related application in Gentoo. Will you add this package in guru overlay? The existing media-libs/alvr-16.0.0 in that overlay is outdated and broken.

TheGreatMcPain commented 6 days ago

I don't really plan to add it to guru.

My hope is that someone else will start maintaining one on guru (probably use mine as a starting point), so that I don't have to deal with mine.

I rarely use ALVR on Linux anymore, due to how my setup is. It's easier to use my Windows VM for gaming and VR instead of logging out and forcing Hyprland to use my second GPU.