Blender on PowerPC

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Blender on PowerPC

Postby MisterKeeks » Fri Dec 28, 2012 12:02 am

I have many PowerPC Macs around. I see that the past 2 releases have dropped support for PowerPC. Is there something that prevents the new releases of Blender from running on PowerPC, or is it not worth the effort to keep creating builds for it?

Thanks!

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Postby MisterKeeks » Mon Jan 21, 2013 5:24 am

Anyone know?

stiv
Posts: 3646
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Postby stiv » Mon Jan 21, 2013 7:22 pm

I *think* the primary problem is none of the blender developers are using PPC anymore. As far a I know, it should be possible to build blender, although you may end up compiling all the dependencies yourself.

There may be some weird Apple ecosystem reasons, like drivers, why this may not work.

Have you checked on graphicall.org for PPC builds?

And are you offering to be the PPC platform maintainer?

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Postby MisterKeeks » Mon Jan 21, 2013 7:34 pm

stiv wrote:I *think* the primary problem is none of the blender developers are using PPC anymore. As far a I know, it should be possible to build blender, although you may end up compiling all the dependencies yourself.


OK- so if I build with the instructions here: http://wiki.blender.org/index.php/Dev:2 ... lender/Mac , it should build 2.65. I'll try that.

As for being PowerPC platform maintainer, it is possible, depending on how much it can be automated. Perhaps one of the current MacIntel maintainers could comment on how they build?

Thanks!

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Postby MisterKeeks » Tue Jan 22, 2013 2:43 am

I built following the instructions I linked to above. It was not successful, pulling this error:

Code: Select all

"/Users/user/blender-build/build/darwin/makesdna" /Users/user/blender-build/build/darwin/source/blender/makesdna/intern/dna.c
dyld: Library not loaded: /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
  Referenced from: /Users/user/blender-build/build/darwin/makesdna
  Reason: no suitable image found.  Did find:
   /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit: no matching architecture in universal wrapper
   /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit: no matching architecture in universal wrapper
source/blender/render/intern/source/convertblender.c:129: warning: unknown option after ‘#pragma GCC diagnostic’ kind
scons: *** [/Users/user/blender-build/build/darwin/source/blender/makesdna/intern/dna.c] Error -5
scons: building terminated because of errors.


It appears that it is an issue with architecture. Any ideas?

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Postby MisterKeeks » Tue Jan 22, 2013 3:23 am

It tried building for ppc instead of ppc64, though my computer is a G5 with 64 bit support. I think it went further, but still pulls errors.

Code: Select all

source/blender/modifiers/intern/MOD_meshcache_pc2.c: In function ‘meshcache_read_pc2_head’:
source/blender/modifiers/intern/MOD_meshcache_pc2.c:65: error: ‘PC2Head’ has no member named ‘huh’
scons: *** [/Users/user/blender-build/build/darwin/source/blender/modifiers/intern/MOD_meshcache_pc2.o] Error 1
source/blender/blenkernel/BKE_DerivedMesh.h:729: warning: ‘DM_origindex_mface_mpoly’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:42: warning: ‘_bmo_elem_flag_test’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:47: warning: ‘_bmo_elem_flag_test_bool’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:52: warning: ‘_bmo_elem_flag_enable’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:57: warning: ‘_bmo_elem_flag_disable’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:62: warning: ‘_bmo_elem_flag_set’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:68: warning: ‘_bmo_elem_flag_toggle’ defined but not used
source/blender/bmesh/intern/bmesh_iterators_inline.h:161: warning: ‘BM_iter_new’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:74: warning: ‘BMO_slot_map_int_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:81: warning: ‘BMO_slot_map_bool_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:89: warning: ‘BMO_slot_map_float_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:102: warning: ‘BMO_slot_map_ptr_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:109: warning: ‘BMO_slot_map_elem_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:118: warning: ‘BMO_slot_map_empty_insert’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:124: warning: ‘BMO_slot_map_contains’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:155: warning: ‘BMO_slot_map_float_get’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:166: warning: ‘BMO_slot_map_int_get’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:177: warning: ‘BMO_slot_map_bool_get’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:189: warning: ‘BMO_slot_map_ptr_get’ defined but not used
source/blender/bmesh/intern/bmesh_operator_api_inline.h:198: warning: ‘BMO_slot_map_elem_get’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:43: warning: ‘_bm_elem_flag_test’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:48: warning: ‘_bm_elem_flag_test_bool’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:63: warning: ‘_bm_elem_flag_set’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:69: warning: ‘_bm_elem_flag_toggle’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:74: warning: ‘_bm_elem_flag_merge’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:79: warning: ‘_bm_elem_flag_merge_into’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:118: warning: ‘_bm_elem_index_set’ defined but not used
source/blender/bmesh/intern/bmesh_inline.h:123: warning: ‘_bm_elem_index_get’ defined but not used
scons: building terminated because of errors.

ldo
Posts: 544
Joined: Sun Nov 07, 2010 11:30 pm
Location: Hamilton, New Zealand

Postby ldo » Sat Feb 23, 2013 9:47 am

Looks like the big-endian support in that source file is incomplete. If I were to take a guess, the missing code is to do endian switching of all the fields in that PC2Head structure after the “header” array.

MisterKeeks
Posts: 6
Joined: Thu Dec 27, 2012 11:59 pm

Postby MisterKeeks » Sun Feb 24, 2013 1:33 am

ldo wrote:Looks like the big-endian support in that source file is incomplete. If I were to take a guess, the missing code is to do endian switching of all the fields in that PC2Head structure after the “header” array.


I figured out why ppc64 wouldn't work. If you choose ppc64, it will build with QTKit, which was causing the problem.

As for little/big endian, what can be done about this?

zeldin
Posts: 3
Joined: Sat Mar 16, 2013 4:10 pm
Location: Linköping

Postby zeldin » Sat Mar 16, 2013 4:19 pm

MisterKeeks wrote:As for little/big endian, what can be done about this?

It seems like the "huh" should actually be "file_version" (the first field after the "header" field).

The code still seems unportable though, since it uses "int" for 32-bit integers, which won't fly on e.g. ILP64 archs... Better to use the specific size types defined by the C standard (int32_t et al).

farbw3rk
Posts: 49
Joined: Tue Sep 18, 2012 7:03 am

Postby farbw3rk » Sat Apr 06, 2013 3:45 pm

i tried compiling round about end of last year, started a topic about ppc-blender here.
it doesn't work out of the box.

anyway - i tried a few afternoons and after that quit trying because i thought my build-environment was broken.

which xcode do you use?

zeldin
Posts: 3
Joined: Sat Mar 16, 2013 4:10 pm
Location: Linköping

Postby zeldin » Sat Apr 06, 2013 3:50 pm

farbw3rk wrote:which xcode do you use?

I don't use xcode, I'm on Linux (Gentoo).

For me, Blender builds if I fix the "huh" thing, but on startup it just shows a blank window. I can close the window to make it quit normally though, so it doesn't seem completely hung...

farbw3rk
Posts: 49
Joined: Tue Sep 18, 2012 7:03 am

Postby farbw3rk » Sat Apr 06, 2013 4:33 pm

[quote="zeldin"][quote="farbw3rk"]which xcode do you use?[/quote]
I don't use xcode, I'm on Linux (Gentoo).

[/quote]

sorry, i meant keeks with the xcode-question. anyway - interesting to hear linux won't build out of the box in 2.6x, too. never tried building 2.6x under linux.

zeldin
Posts: 3
Joined: Sat Mar 16, 2013 4:10 pm
Location: Linköping

Postby zeldin » Sat Apr 06, 2013 4:39 pm

Ah, sorry. :-)
farbw3rk wrote:anyway - interesting to hear linux won't build out of the box in 2.6x, too. never tried building 2.6x under linux.

Yes, this was media-gfx/blender-2.66 from the main Gentoo portage tree. Without patching MOD_meshcache_pc2.c it's FTBFS on PPC.

farbw3rk
Posts: 49
Joined: Tue Sep 18, 2012 7:03 am

Postby farbw3rk » Sat Apr 06, 2013 11:30 pm

hmmm...i just plugged in my G5 again and try a fresh 10.5 install (was about time anyway...my poor old knight in shiny armor...).
can't get latest ppc xcode3.1.4, developer.apple.com mac dev-center is down. :(

while waiting for the 10.5 install to finish i tried crosscompile on my intel-mac to ppc with the latest blender-svn and an old xcode3.2 version.
if you like red give it a go! it is still running but i doubt the finished build will be usable. ^^

farbw3rk
Posts: 49
Joined: Tue Sep 18, 2012 7:03 am

Postby farbw3rk » Sat Apr 06, 2013 11:47 pm

update: ok, it failed. but mostly my fault - something wrong with python here. so there may be hope! :)


Return to “Coding Blender”

Who is online

Users browsing this forum: No registered users and 0 guests