Blender 3D is missing the blenderplayer file, making it impossible to compile a game to runtime. It’s possible to make it partially functional by copying blenderplayer from blender.org to /usr/lib/blender/, but there will be some Python problems (some modules fail to import).
I know most people think of Blender as being mainly a modeling/animation tool, but recently it has also evolved into a complete platform for creating 3D games. Even more, the Blender Engine is currently used in a few commercial games. It would be a pity to not have this great tool working 100% under openSUSE.
Look up the packager in the rpm info and politely email them. Perhaps they have a reason for leaving it out, but either way you’ll get a better response.
Or better still work out the differences in the src.rpm spec and email the patch.
At the end of the day it is all a community and we are part of it.
We all help the best we can, but if we all help a little then a lot will get helped.
Some can patch, some help, some bug report, some just email packager maintainers, etc…
Wasn’t specifically talking patches though in my experience I find building rpm’s painful, so your not alone. Neither can I but developers and package maintainers love patches. Many times they are involved in multiple projects and many probably suffer with a lack of man hours.
I suggested a patch as you seemed to be close, by copying it. I suspect it is just a distro specific path to python and needs a compile flag. i.e expecting /opt but is in /usr.
Can you tell me how I set a path during the compilation? Blender is not recognizing that I have the python.h library installed, and so it quits during the compile.
ok…things were going well until I received these error messages.
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(dct.o): In function `x264_dct_init':
dct.c:(.text+0xee2): undefined reference to `x264_add16x16_idct8_altivec'
dct.c:(.text+0xee6): undefined reference to `x264_sub16x16_dct8_altivec'
dct.c:(.text+0xeea): undefined reference to `x264_add16x16_idct8_altivec'
dct.c:(.text+0xeee): undefined reference to `x264_sub16x16_dct8_altivec'
dct.c:(.text+0xefa): undefined reference to `x264_add8x8_idct8_altivec'
dct.c:(.text+0xefe): undefined reference to `x264_sub8x8_dct8_altivec'
dct.c:(.text+0xf02): undefined reference to `x264_add8x8_idct8_altivec'
dct.c:(.text+0xf06): undefined reference to `x264_sub8x8_dct8_altivec'
dct.c:(.text+0xf12): undefined reference to `x264_sub4x4_dct_altivec'
dct.c:(.text+0xf16): undefined reference to `x264_add4x4_idct_altivec'
dct.c:(.text+0xf1a): undefined reference to `x264_sub4x4_dct_altivec'
dct.c:(.text+0xf1e): undefined reference to `x264_add4x4_idct_altivec'
dct.c:(.text+0xf2a): undefined reference to `x264_sub8x8_dct_altivec'
dct.c:(.text+0xf2e): undefined reference to `x264_add8x8_idct_altivec'
dct.c:(.text+0xf32): undefined reference to `x264_sub8x8_dct_altivec'
dct.c:(.text+0xf36): undefined reference to `x264_add8x8_idct_altivec'
dct.c:(.text+0xf42): undefined reference to `x264_sub16x16_dct_altivec'
dct.c:(.text+0xf46): undefined reference to `x264_add16x16_idct_altivec'
dct.c:(.text+0xf4a): undefined reference to `x264_sub16x16_dct_altivec'
dct.c:(.text+0xf4e): undefined reference to `x264_add16x16_idct_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(dct.o): In function `x264_zigzag_init':
dct.c:(.text+0x2142): undefined reference to `x264_zigzag_scan_4x4_field_altivec'
dct.c:(.text+0x2146): undefined reference to `x264_zigzag_scan_4x4_field_altivec'
dct.c:(.text+0x219a): undefined reference to `x264_zigzag_scan_4x4_frame_altivec'
dct.c:(.text+0x219e): undefined reference to `x264_zigzag_scan_4x4_frame_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(mc.o): In function `x264_mc_init':
mc.c:(.text+0x1340): undefined reference to `x264_mc_altivec_init'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(pixel.o): In function `x264_pixel_init':
pixel.c:(.text+0x457c): undefined reference to `x264_pixel_altivec_init'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(quant.o): In function `x264_quant_init':
quant.c:(.text+0x1282): undefined reference to `x264_quant_2x2_dc_altivec'
quant.c:(.text+0x1286): undefined reference to `x264_quant_4x4_dc_altivec'
quant.c:(.text+0x128a): undefined reference to `x264_quant_2x2_dc_altivec'
quant.c:(.text+0x128e): undefined reference to `x264_quant_4x4_dc_altivec'
quant.c:(.text+0x129a): undefined reference to `x264_quant_4x4_altivec'
quant.c:(.text+0x129e): undefined reference to `x264_quant_8x8_altivec'
quant.c:(.text+0x12a2): undefined reference to `x264_quant_4x4_altivec'
quant.c:(.text+0x12a6): undefined reference to `x264_quant_8x8_altivec'
quant.c:(.text+0x12b2): undefined reference to `x264_dequant_4x4_altivec'
quant.c:(.text+0x12b6): undefined reference to `x264_dequant_8x8_altivec'
quant.c:(.text+0x12ba): undefined reference to `x264_dequant_4x4_altivec'
quant.c:(.text+0x12be): undefined reference to `x264_dequant_8x8_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(predict.o): In function `x264_predict_8x8c_init':
predict.c:(.text+0x2c9c): undefined reference to `x264_predict_8x8c_init_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(predict.o): In function `x264_predict_16x16_init':
predict.c:(.text+0x2d1c): undefined reference to `x264_predict_16x16_init_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(frame.o): In function `x264_deblock_init':
frame.c:(.text+0x96a): undefined reference to `x264_deblock_h_luma_altivec'
frame.c:(.text+0x96e): undefined reference to `x264_deblock_v_luma_altivec'
frame.c:(.text+0x972): undefined reference to `x264_deblock_h_luma_altivec'
frame.c:(.text+0x976): undefined reference to `x264_deblock_v_luma_altivec'
collect2: ld returned 1 exit status
scons: *** [/home/aaron/blender-svn/build/linux2/bin/blender] Error 1
scons: building terminated because of errors.
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(dct.o): In function `x264_dct_init':
dct.c:(.text+0xee2): undefined reference to `x264_add16x16_idct8_altivec'
dct.c:(.text+0xee6): undefined reference to `x264_sub16x16_dct8_altivec'
dct.c:(.text+0xeea): undefined reference to `x264_add16x16_idct8_altivec'
dct.c:(.text+0xeee): undefined reference to `x264_sub16x16_dct8_altivec'
dct.c:(.text+0xefa): undefined reference to `x264_add8x8_idct8_altivec'
dct.c:(.text+0xefe): undefined reference to `x264_sub8x8_dct8_altivec'
dct.c:(.text+0xf02): undefined reference to `x264_add8x8_idct8_altivec'
dct.c:(.text+0xf06): undefined reference to `x264_sub8x8_dct8_altivec'
dct.c:(.text+0xf12): undefined reference to `x264_sub4x4_dct_altivec'
dct.c:(.text+0xf16): undefined reference to `x264_add4x4_idct_altivec'
dct.c:(.text+0xf1a): undefined reference to `x264_sub4x4_dct_altivec'
dct.c:(.text+0xf1e): undefined reference to `x264_add4x4_idct_altivec'
dct.c:(.text+0xf2a): undefined reference to `x264_sub8x8_dct_altivec'
dct.c:(.text+0xf2e): undefined reference to `x264_add8x8_idct_altivec'
dct.c:(.text+0xf32): undefined reference to `x264_sub8x8_dct_altivec'
dct.c:(.text+0xf36): undefined reference to `x264_add8x8_idct_altivec'
dct.c:(.text+0xf42): undefined reference to `x264_sub16x16_dct_altivec'
dct.c:(.text+0xf46): undefined reference to `x264_add16x16_idct_altivec'
dct.c:(.text+0xf4a): undefined reference to `x264_sub16x16_dct_altivec'
dct.c:(.text+0xf4e): undefined reference to `x264_add16x16_idct_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(dct.o): In function `x264_zigzag_init':
dct.c:(.text+0x2142): undefined reference to `x264_zigzag_scan_4x4_field_altivec'
dct.c:(.text+0x2146): undefined reference to `x264_zigzag_scan_4x4_field_altivec'
dct.c:(.text+0x219a): undefined reference to `x264_zigzag_scan_4x4_frame_altivec'
dct.c:(.text+0x219e): undefined reference to `x264_zigzag_scan_4x4_frame_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(mc.o): In function `x264_mc_init':
mc.c:(.text+0x1340): undefined reference to `x264_mc_altivec_init'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(pixel.o): In function `x264_pixel_init':
pixel.c:(.text+0x457c): undefined reference to `x264_pixel_altivec_init'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(quant.o): In function `x264_quant_init':
quant.c:(.text+0x1282): undefined reference to `x264_quant_2x2_dc_altivec'
quant.c:(.text+0x1286): undefined reference to `x264_quant_4x4_dc_altivec'
quant.c:(.text+0x128a): undefined reference to `x264_quant_2x2_dc_altivec'
quant.c:(.text+0x128e): undefined reference to `x264_quant_4x4_dc_altivec'
quant.c:(.text+0x129a): undefined reference to `x264_quant_4x4_altivec'
quant.c:(.text+0x129e): undefined reference to `x264_quant_8x8_altivec'
quant.c:(.text+0x12a2): undefined reference to `x264_quant_4x4_altivec'
quant.c:(.text+0x12a6): undefined reference to `x264_quant_8x8_altivec'
quant.c:(.text+0x12b2): undefined reference to `x264_dequant_4x4_altivec'
quant.c:(.text+0x12b6): undefined reference to `x264_dequant_8x8_altivec'
quant.c:(.text+0x12ba): undefined reference to `x264_dequant_4x4_altivec'
quant.c:(.text+0x12be): undefined reference to `x264_dequant_8x8_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(predict.o): In function `x264_predict_8x8c_init':
predict.c:(.text+0x2c9c): undefined reference to `x264_predict_8x8c_init_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(predict.o): In function `x264_predict_16x16_init':
predict.c:(.text+0x2d1c): undefined reference to `x264_predict_16x16_init_altivec'
/home/aaron/blender-svn/build/linux2/lib/libextern_x264.a(frame.o): In function `x264_deblock_init':
frame.c:(.text+0x96a): undefined reference to `x264_deblock_h_luma_altivec'
frame.c:(.text+0x96e): undefined reference to `x264_deblock_v_luma_altivec'
frame.c:(.text+0x972): undefined reference to `x264_deblock_h_luma_altivec'
frame.c:(.text+0x976): undefined reference to `x264_deblock_v_luma_altivec'
collect2: ld returned 1 exit status
scons: *** [/home/aaron/blender-svn/build/linux2/bin/blender] Error 1
scons: building terminated because of errors.
(2) Follow the official instructions, starting with section “Downloading and Building”, but stop before running the final compile command python scons/scons.py
(3) Open user-config.py and complete it with these lines:
These were all obtained through Packman, and installed using YaST, so when I added them to the zypper install command, the last time through they reported “already installed”.
Early in the compiling process I get alot of warnings concerning ffmpeg/libavcodec, but both of these are installed.
Is Blender looking in the wrong place for these files…or conversely, are they installed in the wrong place?
libx264-67 and libx264-devel are enough for me to finish the build. You could try fiddling with their versions, I remember that’s how I fixed a problem with another application. If you have Packman and VideoLan repos enabled, you should see 4 versions for each.
Another thing, I noticed it complains about not finding the git command when configuring libx264, so install that too.
Also, the svn repository was updated over this weekend to 248.3, it would be a good idea to make an update or a new download.
Aaron, you’re welcomed! I’m pretty sure openSUSE’s packagers will have a working build soon. Also, since I never asked your original problem, I’ll like to point out that while the repo_oss version has the GE disabled completely, the one in repo_3 is missing only blenderplayer. Just in case…
Zebulon, I see your build it’s optimized for AMD. Wouldn’t this make it unstable on other processors?