Package Details: blender-2.7 2.79b-5

Git Clone URL: https://aur.archlinux.org/blender-2.7.git (read-only, click to copy)
Package Base: blender-2.7
Description: Keeping Blender 2.79b up-to-date with modern compiler and libs
Upstream URL: https://blender.org/
Licenses: GPL
Provides: blender-2.7
Submitter: bartus
Maintainer: bartus (CYBERDEViL)
Last Packager: CYBERDEViL
Votes: 7
Popularity: 0.000000
First Submitted: 2019-07-14 14:44 (UTC)
Last Updated: 2024-06-06 00:06 (UTC)

Pinned Comments

bartus commented on 2022-03-14 10:30 (UTC)

Sorry lads, I'm at the Polish Ukraine border helping allocate refugees. Expect no update until this hell is over, wish us luck. Have no time nor access to my rig and AUR keys to test/post updates. If you have a patch, ping me on email - I'll add you as co-maintainer. Posted with my old script - https://github.com/bartoszek/aur-post

bartus commented on 2019-07-17 07:07 (UTC) (edited on 2019-08-25 12:20 (UTC) by bartus)

Please report issues and patches to blender-2.7/github.com

<img alt="Build Status" src="https://travis-ci.org/bartoszek/AUR-blender-2.7.svg?branch=master" />

Use env vars to control build process:

  • DISABLE_CUDA=1 to skip cuda kernel build (cycles+compositor)
  • DISABLE_NINJA=1 to switch build system to make (default:ninja)

Usage cases:

  • export DISABLE_CUDA=1 before build
  • DISABLE_CUDA=1 ~your-aur-helper~
  • makepkg DISABLE_CUDA=1
  • yay -S blender-2.7 --mflags "DISABLE_CUDA=1"
Note for yay users:

Since yay relies solely on aur-rpc to solve dependencies instead of calling makepkg --sync it can't follow dependencies logic defined in PKGBUILD. That's why it's up to the user to provide dependencies to enable features.

tl;dr; If you want to prebuild cycles kernels, you have to install CUDA beforehand. If you don't have CUDA installed, PKGBUILD will silently skip cycles kernel build.

Latest Comments

1 2 3 Next › Last »

CYBERDEViL commented on 2024-06-06 00:10 (UTC)

@eigenwinter thanks for the report, just tried compiling and it indeed failed, and is due a mistake I made in 0011_ffmpeg.patch. It should be fixed now.

Also added a patch for Python 3.12 from a Blender upstream commit (252ae7029db3bc61a2740bb2cabeda8328b70f30), manually applied, copy pasta style.

Here it compiles again :-)

For those who are interested in helping keeping Blender 2.7 up-to-date with modern libs and compiler, I have a repo here. There is a branch for each patch, and no this is not a fork, just a repo to track and manage the patches.

eigenwinter commented on 2024-05-29 20:11 (UTC) (edited on 2024-05-29 20:53 (UTC) by eigenwinter)

I got this error when building. I discovered that it's related to 0011_ffmpeg.patch for the file blender-2.79b/source/blender/imbuf/intern/anim_movie.c

It also happened when using makepkg, and I used DISABLE_CUDA=1

/home/void/.cache/paru/clone/blender-2.7/src/blender-2.79b/source/blender/imbuf/intern/anim_movie.c: In function ‘ffmpeg_fetchibuf’:
/home/void/.cache/paru/clone/blender-2.7/src/blender-2.79b/source/blender/imbuf/intern/anim_movie.c:1116:41: error: passing argument 1 of ‘av_packet_unref’ from incompatible pointer type [-Wincompatible-pointer-types]
 1116 |                         av_packet_unref(&anim->next_packet);
      |                                         ^~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         AVPacket **
In file included from /usr/include/libavcodec/codec_par.h:33:
/usr/include/libavcodec/packet.h:777:32: note: expected ‘AVPacket *’ but argument is of type ‘AVPacket **’
  777 | void av_packet_unref(AVPacket *pkt);
      |                      ~~~~~~~~~~^~~

CYBERDEViL commented on 2024-04-28 23:17 (UTC)

@MarsSeed the missing backslash is definitely a syntax error, I don't know why I haven't got any errors from it, it was working fine here. But it's fixed now, thanks!

I think the errors you got are from CUDA related code, that's the code that hasn't been touched for a while, I can't test it and only test builds with DISABLE_CUDA=1 makepkg. Patches for that are more then welcome tho.

The only error I've got with DISABLE_CUDA=1 makepkg is that the gold linker isn't supporting the pack-relative-relocs option from /etc/makepkg.conf (Arch default, see https://gitlab.archlinux.org/heftig/rfcs/-/commit/36bb0b8d5a6dd8b582ea1b992f32bed0a3fa8f28).

But that should be resolved by latest update.

MarsSeed commented on 2024-04-25 22:25 (UTC) (edited on 2024-04-25 22:26 (UTC) by MarsSeed)

If the syntax error in PKGBUILD line #122 is fixed by adding \ to the end of that line, the package fails to compile the source (build was executed in a clean chroot):

[ 10% | 311<2<2764 | 3.0bps ] Generating filter_sm_53.cubin
FAILED: intern/cycles/kernel/filter_sm_53.cubin /build/blender-2.7/src/build/intern/cycles/kernel/filter_sm_53.cubin 
cd /build/blender-2.7/src/build/intern/cycles/kernel && /opt/cuda/bin/nvcc -arch=sm_53 -m64 --cubin 
    /build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/kernels/cuda/filter.cu -o 
    /build/blender-2.7/src/build/intern/cycles/kernel/filter_sm_53.cubin --ptxas-options="-v" -D__KERNEL_CUDA_VERSION__=124 --use_fast_math 
    -I/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/.. -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC
/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../util/util_math_float3.h(315): error: identifier "saturate" is undefined
   return make_float3(saturate(a.x), saturate(a.y), saturate(a.z));
                      ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(120): error: texture is not a template
  typedef texture<float4, 1> texture_float4;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(121): error: texture is not a template
  typedef texture<float2, 1> texture_float2;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(122): error: texture is not a template
  typedef texture<float, 1> texture_float;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(123): error: texture is not a template
  typedef texture<uint, 1> texture_uint;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(124): error: texture is not a template
  typedef texture<int, 1> texture_int;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(125): error: texture is not a template
  typedef texture<uint4, 1> texture_uint4;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(126): error: texture is not a template
  typedef texture<uchar, 1> texture_uchar;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(127): error: texture is not a template
  typedef texture<uchar4, 1> texture_uchar4;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(128): error: texture is not a template
  typedef texture<float4, 2> texture_image_float4;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(129): error: texture is not a template
  typedef texture<float4, 3> texture_image3d_float4;
          ^

/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/../kernel/kernel_compat_cuda.h(130): error: texture is not a template
  typedef texture<uchar4, 2, cudaReadModeNormalizedFloat> texture_image_uchar4;
          ^

12 errors detected in the compilation of "/build/blender-2.7/src/blender-2.79b/intern/cycles/kernel/kernels/cuda/filter.cu".

Dendrocalamus64 commented on 2022-09-13 20:46 (UTC) (edited on 2022-09-18 20:10 (UTC) by Dendrocalamus64)

I got it to build. Now I have to dig through my notes and find all the changes I made.

Briefly, there are three packages that have moved on through rolling releases and broken compatibility: FFMpeg (4.4 -> 5.0), Python (3.9 -> 3.10) and OpenImageIO (still works but needs a couple of tweaks.)

FFmpeg has deprecated a number of functions for a long time, and in release 5.0 finally removed them, which caused projects to break all across the web. ffmpeg4.4 is in the repos (at least in Manjaro, which is what I'm on) and until there's a compatibility patch we need to get blender2.7 to use ffmpeg4.4 instead. For now, I used,
-DCMAKE_CXX_FLAGS="-I /usr/include/ffmpeg4.4/ -L /usr/lib/ffmpeg4.4/" \
in the cmake command line in the PKGBUILD, and
set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include/ffmpeg4.4)
in src/blender/build_files/cmake/platform/platform_unix.cmake (search for "# lame" to find where to put it.)

Simply patching all the #include lines in the blender source isn't good enough because the ffmpeg header files also include each other. We need to get /usr/include/ffmpeg4.4 ahead of the default search directories so we don't get a mishmash of 4.4 and 5.0 headers which causes compilation to fail. These don't really need to be applied to the whole project, they can just be patched into the CMakeLists.txt files for the source files that actually need them, and I'll do that later.

Python 3.10: Only two changes needed. https://github.com/bartoszek/AUR-blender-2.7/issues/4
From PKGBUILD directory, cd to src and run,
$ grep -rIlZ _PyUnicode_AsStringAndSize . | xargs -0 sed -i 's/_PyUnicode_AsStringAndSize/PyUnicode_AsUTF8AndSize/g'
$ sed -i '/s/_Py_HashDouble((double)/_Py_HashDouble(NULL, (double)/' ./blender/source/blender/python/mathutils/mathutils.c

OpenImageIO: Now needs minimum C++ version 14, and needs to link against OpenImageIO_Util in addition to OpenImageIO. In src/blender/intern/cycles/CMakeLists.txt and src/blender/source/blender/imbuf/intern/oiio/CMakeLists.txt we need to add set(CMAKE_CXX_STANDARD 14). I added it at the start of the # Build Flags section and in if(WITH_OPENIMAGEIO), respectively. In src/blender/build_files/cmake/Modules/FindOpenImageIO.cmake, we need to add a second FIND_LIBRARY block right below the first one.
FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY NAMES OpenImageIO_Util HINTS ${_openimageio_SEARCH_DIRS} PATH_SUFFIXES lib64 lib )

and after IF(OPENIMAGEIO_FOUND), change the next line to SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY})

EDIT 09.17: Updated to apply a python 3.9 -> 3.10 patch instead which removes about 2/3 of the hassle of my first approach, which was patching it to use python39. Improved OIIO patch.

dudu-martins commented on 2022-04-08 20:54 (UTC) (edited on 2022-04-08 22:18 (UTC) by dudu-martins)

Try to install and got the following error:

/home/dudu/.cache/yay/blender-2.7/src/blender/intern/audaspace/intern/AUD_C-API.cpp: In function ‘void AUD_initOnce()’: /home/dudu/.cache/yay/blender-2.7/src/blender/intern/audaspace/intern/AUD_C-API.cpp:113:9: error: ‘av_register_all’ was not declared in this scope 113 | av_register_all(); | ^~~~~~~~~~~~~~~ make[2]: *** [intern/audaspace/CMakeFiles/bf_intern_audaspace.dir/build.make:650: intern/audaspace/CMakeFiles/bf_intern_audaspace.dir/intern/AUD_C-API.cpp.o] Erro 1 make[2]: Saindo do diretório '/home/dudu/.cache/yay/blender-2.7/src/build'

make[1]: *** [CMakeFiles/Makefile2:3179: intern/audaspace/CMakeFiles/bf_intern_audaspace.dir/all] Erro 2 make[1]: Saindo do diretório '/home/dudu/.cache/yay/blender-2.7/src/build'

make: *** [Makefile:166: all] Erro 2 make: Saindo do diretório '/home/dudu/.cache/yay/blender-2.7/src/build'

==> ERRO: Uma falha ocorreu em build(). Abortando... -> erro ao construir: blender-2.7

I try to install using yay -S blender-2.7 --mflags "DISABLE_CUDA=1 DISABLE_NINJA=1"

MY sugestion for those who want install this especific version (because couldn't run newer versions) is install https://aur.archlinux.org/pkgbase/blender-2.7-bin. Works really good for me

bartus commented on 2022-03-14 10:30 (UTC)

Sorry lads, I'm at the Polish Ukraine border helping allocate refugees. Expect no update until this hell is over, wish us luck. Have no time nor access to my rig and AUR keys to test/post updates. If you have a patch, ping me on email - I'll add you as co-maintainer. Posted with my old script - https://github.com/bartoszek/aur-post

Flicker_i386 commented on 2022-01-27 08:46 (UTC)

Hello , Is It Still Actively Maintained ? , Because I Got Some Compile Error With Python 3.10 .

CYBERDEViL commented on 2021-01-06 14:31 (UTC)

@bartus: Cool thank you!

bartus commented on 2021-01-05 23:58 (UTC) (edited on 2021-01-06 00:38 (UTC) by bartus)

@CYBERDEViL: thanks for the patch, if you don't mind I've added you as co-maintainer. I rarely use blender-2.7 those days, and tend to forgot to update the PKGBUILD when Travis-CI build starts failing.