LINUX.ORG.RU

Gentoo: Как понять почему я не могу использовать USE флаг?

 , ,


0

1

Привет

Пытаюсь выставить CUDA флаг для opencv, но оно не даёт: флаг в скобках. Как выяснить почему, и таки включить этот флаг?

$ USE="cuda" emerge -pv --nodeps opencv

These are the packages that would be merged, in order:

[ebuild   R    ] media-libs/opencv-4.10.0:0/4.10.0::gentoo  USE="contrib contribdnn eigen features2d ffmpeg jpeg opencl* opengl openmp png qt6 tiff truetype webp -atlas -avif (-contribcvv) -contribfreetype (-contribhdf) (-contribovis) (-contribsfm) (-contribxfeatures2d) (-cuda) (-cudnn) -debug -dnnsamples -doc -examples -gdal (-gflags) (-glog) -gphoto2 -gstreamer -gtk3 -ieee1394 -jasper -java -jpeg2k -lapack (-mkl) -non-free -opencvapps -openexr -python -quirc -tbb (-tesseract) -test -testprograms -v4l -vaapi (-vtk) -xine" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="avx avx2 f16c fma3 popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 -avx512_4fmaps -avx512_4vnniw -avx512_bitalg -avx512_vbmi2 -avx512_vnni -avx512_vpopcntdq -avx512bw -avx512cd -avx512dq -avx512er -avx512f -avx512ifma -avx512pf -avx512vbmi -avx512vl" PYTHON_TARGETS="python3_12 -python3_10 -python3_11 -python3_13" VIDEO_CARDS="-intel" 0 KiB

Сама CUDA работает:

$ nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.135                Driver Version: 550.135        CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Aug_14_10:10:22_PDT_2024
Cuda compilation tools, release 12.6, V12.6.68
Build cuda_12.6.r12.6/compiler.34714021_0

$ python3 -c "import torch; print(torch.cuda.is_available())"
True

★★★★★

Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от anonymous

замаскирован в профиле

Нет

$ grep cuda /var/db/repos/gentoo/profiles/arch/amd64/use.mask
-cuda

не разрешена non-free лицензия

Лицензия на что, на флаг?

И в Gentoo оно бы так и написало.

И потом, сама CUDA работает.

Kroz ★★★★★
() автор топика
Ответ на: комментарий от Kroz

Все версии stable amd64

$ equery meta --keywords media-libs/opencv
 * media-libs/opencv [gentoo]
4.9.0-r2:0/4.9.0: amd64 arm64 x86 ~arm ~loong ~ppc ~ppc64 ~riscv
4.10.0:0/4.10.0: amd64 x86 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv
$ grep cuda /var/db/repos/gentoo/profiles/arch/amd64/use.stable.mask 
cuda
anonymous
()
Ответ на: комментарий от anonymous

Ага, я на stable.

Вроде заработало. Благодарствую.

$ grep cuda /var/db/repos/gentoo/profiles/*/*/use*mask
/var/db/repos/gentoo/profiles/arch/amd64/use.mask:-cuda
/var/db/repos/gentoo/profiles/arch/amd64/use.stable.mask:cuda
/var/db/repos/gentoo/profiles/arch/base/use.mask:# cuda/NVENC only works on amd64/arm64
/var/db/repos/gentoo/profiles/arch/base/use.mask:cuda
/var/db/repos/gentoo/profiles/features/musl/use.mask:cuda

$ cat /etc/portage/profile/use.mask
-cuda

$ USE="cuda" emerge -pv --nodeps opencv

These are the packages that would be merged, in order:

[ebuild   R    ] media-libs/opencv-4.10.0:0/4.10.0::gentoo  USE="contrib contribdnn cuda* eigen features2d ffmpeg jpeg opencl opengl openmp png qt6 tiff truetype webp -atlas -avif (-contribcvv) -contribfreetype (-contribhdf) (-contribovis) (-contribsfm) (-contribxfeatures2d) (-cudnn) -debug -dnnsamples -doc -examples -gdal (-gflags) (-glog) -gphoto2 -gstreamer -gtk3 -ieee1394 -jasper -java -jpeg2k -lapack (-mkl) -non-free -opencvapps -openexr -python -quirc -tbb (-tesseract) -test -testprograms -v4l -vaapi (-vtk) -xine" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="avx avx2 f16c fma3 popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 -avx512_4fmaps -avx512_4vnniw -avx512_bitalg -avx512_vbmi2 -avx512_vnni -avx512_vpopcntdq -avx512bw -avx512cd -avx512dq -avx512er -avx512f -avx512ifma -avx512pf -avx512vbmi -avx512vl" PYTHON_TARGETS="python3_12 -python3_10 -python3_11 -python3_13" VIDEO_CARDS="-intel" 9 KiB

Kroz ★★★★★
() автор топика