bartoszek / AUR-blender-git

2 stars 2 forks source link

Building Fails With CMake Error #4

Closed NickAmes closed 3 years ago

NickAmes commented 3 years ago

I get the following error when installing with yay -S blender-git:

...
==> Starting build()...
==> python version detected: 3.9
loading initial cache file /tmp/makepkg/blender-git/src/blender/build_files/cmake/config/blender_release.cmake
CMake Error: The source directory "/tmp/makepkg/blender-git/src" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
==> ERROR: A failure occurred in build().
    Aborting...
error making: blender-git
bartoszek commented 3 years ago

Looks like some weird issue on your system, the source directory "/tmp/makepkg/blender-git/src" doesn't correspond to what PKGBUILD states in the cmake -S source_dir call here: https://github.com/bartoszek/AUR-blender-git/blob/0035848f664aca07d0d21780ebf8cf0e91afeafc/PKGBUILD#L110 Could you perhaps try cleaning your AUR/blender-git clone in ~/.cache/yay/blender-git by calling git -C ~/.cache/yay/blender-git reset --hard origin/master and run yay -S blender-git afterward. If still doesn't work, I would suggest removing the yay cache for the blender-git alltohether with rm -rf ~/.cache/yay/blender-git and trying one more time calling yay -S blender-git

NickAmes commented 3 years ago

Thanks! Running git -C ~/.cache/yay/blender-git reset --hard origin/master worked.

rhysday commented 3 years ago

The above fixes don't work for me. I also tried installing with Paru but I get the exact same error.

I have my cache folder in ~/.local/cache, could that be messing with the installer script?

LuddeStudent commented 3 years ago

I don't think this is just an yay issue, getting the same error when building directly from the PKGBUILD with makepkg.

Maybe the build system has changed upstream? Tried to poke around in the cmake config to see why the paths are bungled, but I'm useless with this stuff and couldn't find anything.

bartoszek commented 3 years ago

Can't tell what you are doing differently gays but it clearly works fine in a clean Arch environment Abracadabra╰( ͡° ͜ʖ ͡° )つ──☆*:・゚ asciicast ¯\_(ツ)_/¯ skip the download: jump to 11:00.

LuddeStudent commented 3 years ago

So a quick update:

So like bartoszek said this issue seams to be cmake's refusal to acknowledge the '-S source_dir' command on our system (for what reason we don't know). So i dug around and changed stuff randomly until i deleted "${_CMAKE_FLAGS[@]}" and a slash in PKGBUILD > build(). Then the cmake was like:

i got you fam

and starter to build blender as normal...

wat

bartoszek commented 3 years ago

Well, it's just getting weirder...

If i may suggest something, you could insert set -x before cmake call to make bash print each call and set +x afterward to make it stop.

On Sun, 19 Sep 2021, 13:39 LuddeStudent @.' via 33Mail, @.> wrote:

This email was sent to the alias @.' by ' @.', and 33Mail forwarded it to you. To block all further emails to this alias click here http://www.33mail.com/alias/unsub/9300b70b8d3487fb117ff9c189870492

So a quick update:

So like bartoszek said this issue seams to be cmake's refusal to acknowledge the '-S source_dir' command on our system (for what reason we don't know). So i dug around and changed stuff randomly until i deleted "${_CMAKE_FLAGS[@]}" and a slash in PKGBUILD > build(). Then the cmake was like:

i got you fam

and starter to build blender normal...

wat

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/bartoszek/AUR-blender-git/issues/4#issuecomment-922459525, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJIHJFF5257TQR6PKYVV2DUCXDVTANCNFSM5D2LFZQA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

This email was sent to the alias @.' by ' @.', and 33Mail forwarded it to you. To block all further emails to this alias click here http://www.33mail.com/alias/unsub/9300b70b8d3487fb117ff9c189870492

LuddeStudent commented 3 years ago

Here ya go: ==> Starting build()... ==> python version detected: 3.9 cmake -G Ninja -S /home/compe/Documents/Scripts/blengit/blender-git/src/blender -B build -C /home/compe/Documents/Scripts/blengit/blender-git/src/blender/build_files/cmake/config/blender_release.cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DWITH_INSTALL_PORTABLE=OFF -DWITH_SYSTEM_GLEW=OFF -DWITH_PYTHON_INSTALL=OFF -DXR_OPENXR_SDK_ROOT_DIR=/usr -DPYTHON_VERSION=3.9 -DWITH_CYCLES_NETWORK=OFF -DWITH_CYCLES_NETWORK=OFF -DWITH_CYCLES_CUDA_BINARIES=ON -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda '' -DWITH_OPENIMAGEDENOISE=ON loading initial cache file /home/compe/Documents/Scripts/blengit/blender-git/src/blender/build_files/cmake/config/blender_release.cmake CMake Error: The source directory "/home/compe/Documents/Scripts/blengit/blender-git/src" does not appear to contain CMakeLists.txt.

There is a mighty suspicious set of quotations marks where $_cuda_arch is supposed to be, maybe that's the culprit? My system doesn't seem to have the $CUDA_ARCH varible set to anything, have no idea why.

Edit/Update: I think that is it, i removed $_cuda_arch from the PKGBUILD and it builds! I don't know if that is the same problem that the others are having, but it may be worth while to add a check for unset $CUDA_ARCH env variable.

LuddeStudent commented 3 years ago

My workaround is to change the PKGBUILD CUDA check from this:

# determine whether we can precompile CUDA kernels
  _CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true
  if [ "$_CUDA_PKG" != "" ]; then
    _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON
                    -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda
                    "$_cuda_arch" )
  fi 

To this:

# determine whether we can precompile CUDA kernels
   _CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true
  if [ "$_CUDA_PKG" != "" ]; then
    if [-z "$_cuda_arch"]; then
        _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON
                    -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda
                    "$_cuda_arch")
    else
      msg "Could not find CUDA architecture, is the environmental variable \$CUDA_ARCH set?"
    fi
  fi

Now blender will build, but it will skip over CUDA support if it cant find the architecture version.

bartoszek commented 3 years ago

Shit (-_ლ) I see now, escaping the $_cuda_arch introduces an empty cmake switch, you can see it in your cmake call with this dangling two single questions marks in the middle of the call. Gave me a sec to fix this, just working my dogs now.

bartoszek commented 3 years ago

Should be fixed now, I've optimized out _cuda_arch variable all together 🧑‍🔬 Could you test it before I push it to AUR ? You can apply 590960e3f3a4bd157fe041b3c2fa6f8ace601890 commit onto you local clone of AUR repo with git am < <(curl https://github.com/bartoszek/AUR-blender-git/commit/590960e3f3a4bd157fe041b3c2fa6f8ace601890.patch) or clone from github and build from there with: git clone https://github.com/bartoszek/AUR-blender-git

LuddeStudent commented 3 years ago

Huston, we have build().

It builds fine now on my machine, update when it's finished.

Quick update: Git version built, packaged, and ran with no problems. I ran yay -Sc --aur and then I instald via yay, built fine there too. Hopefully this will fix for all.

bartoszek commented 3 years ago

Eagle has landed upstream ಥ‿ಥ thanks for your assistance.