Previous Thread  Next Thread

chat icon Autoconfiscated Blender from root to leaf

PhaethonH

Posted: Thu Oct 17, 2002 4:58 am
Joined: 15 Oct 2002
Posts: 10
http://www.linux.ucla.edu/~phaethon/blender/blender-autoconf.html

Borne of desperation[1], I present onto the world Blender autoconfiscated from root to leaf.

Well, at least the more important parts...

Compiling static version is optional (--enable-blenderstatic). Compiling in GameBlender is optional (disabled by default, give --with-gameblender to ./configure). Using OpenAL is optional (--enable-openal). Those are the biggies.

The pre-compiled binaries were made with gcc (and g++) 3.2, host OS is Debian GNU/Linux unstable (last OS update 2002.10.14). The dynamically-linked version requires the system libsmpeg.so to also be compiled with gcc 3.2, due to changes in the gcc C++ ABI or something.

Many thanks to the folks that helped me along the way: heli, Jama Poulsen, sgefant, SirDude, Mo42, noselasd, ztonzy, and a few more over in #blenderchat.

Share and Enjoy

[1] I was desperate to compile *some* part of Blender.
_________________
echo '70:68:61:65:74:68:6F:6E:40:6C:69:6E:75:78:2E:75:63:6C:61:2E:65:64:75:' |
perl -npe 's/([^:]+):/chr(hex($1))/ge'
Reply with quote


beergeek

Posted: Thu Oct 17, 2002 6:34 am
Joined: 16 Oct 2002
Posts: 14
First off. Thank you. Thank you. Thank you. I really hope this is the direction CVS Blender goes for the build system. Autoconf just makes things so much easier (pun definitely intended). I had a few minor problems making the latest tar ball. I just used a simple ./configure && make I am using an x86 Debian testing install.

1) when building source/gameengine/SoundSystem/dummy
It couldn't find SND_AudioDevice.h and SND_SoundObject.h (and a couple of others)

I added
-I$(top_srcdir)/source/gameengine/SoundSystem \
-I$(top_srcdir)/source/gameengine/SoundSystem/include
to the Makefile in dummy and it was all good.

2) I had the same problem when I built source/gameengine/SoundSystem/openal
I thought this was not suppose to be of by default.

3) It required openal header files to build. My guess is that is should not have been building this directory by default.

Thanks for all your hard work!
Reply with quote


B@rt

Posted: Thu Oct 17, 2002 7:08 am
Joined: 16 Oct 2002
Posts: 79
Hi PhaethonH,

first off, I think that this is a *very* cool accomplishment. To see this happen within a few days really strengthens my believe in the success of this project.

Second, I get a compile error Wink After the 'make' command, I get this output (RedHat 8.0/Kernel 2.4.18-14)

Code:

mv -f .libs/ACT_ActionStack.lo ACT_ActionStack.lo
/bin/sh ../../libtool --mode=link g++  -funsigned-char  -LNONE/ -o libblender_ACT.la  -static ACT_Action.lo ACT_ActionC-Api.lo ACT_ActionStack.lo  -lstdc++ -lvorbisfile -lvorbis -logg -lz -lutil -lm -lcrypto
-lpthread -lutil -ldl
../../libtool: line 1: cd: NONE/: No such file or directory
libtool: link: cannot determine absolute directory name of `NONE/'
make[3]: *** [libblender_ACT.la] Error 1
make[3]: Leaving directory `/home/bart/blender-autoconfiscate/intern/action'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/bart/blender-autoconfiscate/intern'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bart/blender-autoconfiscate'
make: *** [all] Error 2


Thanks!

B@rt[/code]
Reply with quote


PhaethonH

Posted: Thu Oct 17, 2002 8:16 am
Joined: 15 Oct 2002
Posts: 10
beergeek wrote:
First off. Thank you. Thank you. Thank you. I really hope this is the direction CVS Blender goes for the build system. Autoconf just makes things so much easier (pun definitely intended). I had a few minor problems making the latest tar ball. I just used a simple ./configure && make I am using an x86 Debian testing install.

1) when building source/gameengine/SoundSystem/dummy
It couldn't find SND_AudioDevice.h and SND_SoundObject.h (and a couple of others)

I added
-I$(top_srcdir)/source/gameengine/SoundSystem \
-I$(top_srcdir)/source/gameengine/SoundSystem/include
to the Makefile in dummy and it was all good.


Strange. It Worked For Me(TM). Thought I put in proper -I's as an add-on to INCLUDES. Hrm. I'm going to throw those dirs into the toplevel includes include-file in the next tarball.

Quote:

2) I had the same problem when I built source/gameengine/SoundSystem/openal
I thought this was not suppose to be of by default.

3) It required openal header files to build. My guess is that is should not have been building this directory by default.


Ah, yes, true... I didn't remove system OpenAL headers and recompile, since a compile cycle takes upwards of 20 minutes for me, so I didn't test openal-less setup. That and I was always compiling with openal enabled Laughing So I didn't catch that. Oops. But this is what OSS is all about, fielding bug reports from other people Smile

Quote:

Thanks for all your hard work!


Thanks for the support!
Reply with quote


beergeek

Posted: Thu Oct 17, 2002 9:20 am
Joined: 16 Oct 2002
Posts: 14
Quote:

Strange. It Worked For Me(TM). Thought I put in proper -I's as an add-on to INCLUDES. Hrm. I'm going to throw those dirs into the toplevel includes include-file in the next tarball.


It looks like it is in the
Code:
@BlenderGAME_TRUE@gameblenderincludes = \
@BlenderGAME_TRUE@ -I$(top_srcdir)/source/gameengine/BlenderRoutines
section but since @BlenderGAME_TRUE@ -> # those are being commented out. They are not in the INCLUDES variable (which is the one I had to add it to)
Reply with quote


jochym

Posted: Thu Oct 17, 2002 10:50 am
Joined: 15 Oct 2002
Posts: 14
Well done!

I'm almost ashamed of my mekefile I've posted. I think that this is the way to go for the final build system. Any chances of getting other targets (player, publisher, plug-in) to build?

I've builded a binary from your tree with wheel zoom patch and posted it on http://rozeta.com.pl/blender/bin/ but I cannot build a working static binary.
It just bus-errors in glxInitialization function. Do you have the same problem?
Maybe it would be better to build semi-static binary, without GL stuff linked in.
I think that they did it that way with NAN static builds.

P.
Reply with quote


rveety

Posted: Thu Oct 17, 2002 3:58 pm
Joined: 17 Oct 2002
Posts: 1
I built the autoconfiscated blender yesterday in Slackware and everything went very smoothly. Nice job! Mr. Green I now have a working blender creator 2.25b with 3d acceleration.
Reply with quote


calli

Posted: Thu Oct 17, 2002 5:57 pm
Joined: 16 Oct 2002
Posts: 63
I can only agree to Bart! You enabled so many people to firstly compile a Blender theirselves.

Thanks!

Carsten.

PS: However, I could not make it so far Wink

Always the python, how do I tell the configure where it is?

gcc -g -O2 -o blendermodule main.o -L/usr/X11R6/lib/ -L/usr/lib/python2.2/config -lpython2.2 -lstdc++ /usr/lib/libGLU.so /usr/lib/libGL.so -L/usr/X11R6/lib -lSM -lICE -lXmu -lXext -lXi -lX11 -logg /usr/lib/libesd.so -L/usr/lib -laudiofile -lz -lpng -lm /usr/lib/libjpeg.so -lcrypto -lpthread -lutil -ldl
/usr/bin/ld: cannot find -lpython2.2
collect2: ld returned 1 exit status
make[5]: *** [blendermodule] Fehler 1
Reply with quote


voidptr

Posted: Fri Oct 18, 2002 12:53 am
Joined: 14 Oct 2002
Posts: 21
Hey just to let everyone know. On my RedHat 7.3 box I had both versions of python installed (old/new). I had to change to $(DEV)/intern/python/freeze/Makefile to use the /usr/bin/python2.2

PhaethonH thanks for your hard work. I never was forced to learn autoconf Smile

voidptr
Reply with quote


PhaethonH

Posted: Fri Oct 18, 2002 4:46 am
Joined: 15 Oct 2002
Posts: 10
This time two tarballs. One is the "dist"-style tarball, the normal "untar; ./configure; make install" type tarball; the other is a tarball snapshot of my working directory. Precompiles not updated due to imminent release of NaN's 225.

Updates in a nutshell:

  • "dist" target produces something meaningful.
  • Saving image to PNG works.
  • That "NONE/" thing B@rt was suffering ought to be stepped around now (but I'm not going to uninstall all of X11 just to test that...)
  • beergeek's scroll_zoom patch (untested; I still have my windowmanager intercepting mouse events).
  • More vicious guarding of OpenAL code on --disable-openal
  • Explicity invokes python with the version number in blendermodules (python version still autodetected)
  • Binary is named "blendercreator-ph" (trailing "-static" for static version).


P.S. url recap: http://www.linux.ucla.edu/~phaethon/blender/blender-autoconf.html
Reply with quote


jochym

Posted: Fri Oct 18, 2002 2:29 pm
Joined: 15 Oct 2002
Posts: 14
See this message for info on debian packages based on this excelent work.

Smile
Reply with quote


AlanGordie

Posted: Fri Oct 18, 2002 4:25 pm
Joined: 18 Oct 2002
Posts: 2
Great work Phaethon!

+1 vote for getting this fine contribution submitted into the CVS source tree...
Reply with quote


SirDude

Posted: Sat Oct 19, 2002 1:31 pm
Joined: 13 Oct 2002
Posts: 939
Just incase others haven't heard yet if you
setenv PYTHONHOME /soft/python-2.2
Or wherever you have it installed it works wonders.
Reply with quote


 
Jump to:  
Powered by phpBB © 2001, 2005 phpBB Group