Resurrection of the 2.49b branch

Yep, something to report, I’m going to need to do some basic research to find out why the python version was different on mac and Unix. it’s likely an availability thing or even a python ability thing (as in necessary components may have been deprecated or removed in later versions)

here’s what I’m looking at where it mentions different versions:

For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:

On Unix:

cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G “Unix Makefiles” …/blender

On Macs:

cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -D PYTHON_BINARY=/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 -G Xcode …/blender

When changing any of this remember to update the notes in doc/blender-cmake.txt

I’d like to include python 2.7 for every operating system, so yes Linux, Unix, Mac and Windows would be included, and other operating systems can install it via compiling the source code with the right python version.

However from that little code snippet there, it looks like 2.49b used several different python versions based on the OS that installed it. Windows and Linux used python 2.6.2, Mac used python 2.5, and Unix used python 2.3.

now I must go research why. to do this research will be simple. for Unix and Mac I know they have a habit of creating their own standard version of things and only allowing those to be installed. so it may very well be likely that at the time 2.49b was made Unix and Mac did not have an official python 2.6.2 so an older version had to be used. If that was the case, then the question now is simply, is python 2.7 available for them now? and that’s a simple look up online.

This is just the tip of the iceberg though.

Nope! looks like the Windows and Linux Python versions are actually set to 2.5 in the source-code! no wonder blender has trouble finding python without a system environment variable PYTHONPATH being set.

they even #commented python 2.6 in one of the source .py files, now things get confusing! “Why?! and does this apply to python 2.7 as well?”

python-dev-guide.txt seems to have some reference. seems there are “previous” and “current” python versions being given references in the source.

Ok, the reason is that python 2.4 is the version of python necessary for the compiler! also the blender/python scripts are written in 2.4. this likely wont need changing.

In the process of finding this out I realized that the source archive is missing the libs dirs SVNROOT/lib/ and bf-blender/lib/

also libraries such as .jpg, .png, and zlib are not included, however it gives links(probably expired) to go get them. these libraries should be able to be found one way or another.

Another issue:
https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows
this link is dead. I was able to find an archived copy of the page but that’s from 2013 and references blender 2.5+ so is not applicable to this project. Finding the svn and bf-blender libs for 249b will likely be something I’ll have to ask for here.

I really need help here. just figuring out how to build this is becoming a task that’s probably less confusing than it looks but… The more people scouring this source the better.

Hi. So I’m attempting to merely build blender 2.49b from it’s source code.

I was reading through the file called “INSTALL” and it says there should be two lib folders in the source archive

SVNROOT/lib/

and

bf-blender/lib/

these folders are not in the archive. the document tells you to go find them at https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows

but this link is dead. I was able to find an archived version from 2013, but that’s only valid for blender 2.5+

The question here is what should be in these lib folders? are they created/filled during the make process? If I need to have these contents to build blender 249b where can I get these contents? what are the contents?

Moderation notice: one topic on a 14 year old version is more than enough, i merged the 2 threads.

um… ok… I just felt it was a topic best asked in /blenderdev/buildingblender/ as it was about building rather than modifying. But fair enough.

The links may be dead today, but given you can go back in time with SVN i’d check out older revisions from around the time 2.49b got released

I tried the waybackmachine on archive.org but it only had https://web.archive.org/web/20130512034534/https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows/ which is from 2013, am I looking in the wrong place? is there another site best suited to this (Sorry about knowing next to nothing about it).

You have a list of features that have been removed? I’m curious why you’d go about it from this direction instead of adding whatever you are missing to main

am I looking in the wrong place?

You are, svn has the history of all changes ever done to that folder, use your svn client, something like

svn co https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows@24278

should get you close, but i’m unsure if rev 24278 is the exact version 2.49b shipped with, it’s in the neighborhood at least, once checked out use svn log to see what other commits you can check out

“use an svn client” facepalms at self thankyou. and thanks for the link close to it.

if we are talking about the source archive;

I’m not sure they were removed to be honest, only that they are not supplied. It’s likely they were not included on purpose due to licensing issues (they were already licensed under something other than GPL).

I basically will be downloading them and inserting them in my source archive because that’s the only way I know how to include them. to be honest other than some old stuff on linux this will be my first time compiling something from sourcecode on windows and I don’t know what I’m doing. Once I can successfully compile it as is, then I’ll know all is well and I can proceed with whatever mods I want to do.

I mean in general, like what is it about 2.49? I didn’t use blender for much other than some uv mapping stuff before 2.8 and I don’t remember what version it was.

List of features, please.

Why? @Joshex shouldn’t have to justify what he wants to work on in his spare time. He thinks it’s a neat project and that’s all that matters really, the blender license certainly encourages people doing stuff like this, let him code!

I wont have a full list off the top of my head, but some key features I really can’t do without that were removed are:
0: support for older hardware/operating systems I.E. Windows 7 (Critical)
1: the game engine. (critical)
2: the straightforwards uniform hotkeys in every window (critical)
3: the straightforwards buttons in the buttons window
3.1: multifractal, fractal buttons in the editing buttons
4: python 2.7 or earlier so my scripts work(some of the syntax is wildly different, or completely removed in later versions.).
4.1: in example the python svg image writing/reading module to couple with the video texture module for dynamic in game image modification
5: backwards compatibility for Meshes, Materials, Rigging and UV face layouts, for ease of importing old models.
6: the WebBrowser add-on! (I’ve meant to delve into that for a while, blender games in-page on websites?! What?!)

These are just some off the top of my head.

I’m not asking for any justification, I am genuinely curious. If I see something I like, I might do something for myself and share it for anybody interested.

There’s a lot of arguments and combative stuff around blender in general I find, I don’t get it. It leads to this sort of misunderstanding

2 Likes

Update, I read through a lot of code and documents in earnest today!, I’ve started a shortlist doc of places where the python version is listed. tbh this source archive appears to be from multiple versions. for example blender 249b installs with ‘python26.dll’ however the archive I have here for 249b’s source is attempting to name the file ‘python22.dll’ however some documents look for 2.6 and others specify 2.5 or 2.4 or 2.3.

the info docs are very helpful even if a bit neglected, some specify that this archive is blender 2.25 albeit that’s just a comment in a readme.

regardless I’m starting to understand where all the python version arguments are, and how to change them for example it says explicitly ‘you should never change operatingsystem-config.py’ (otherwise you have to change it in a bunch of other places in the source) instead make a file called ‘user-config.py’ and put it in the top most directory with arguments to use instead and then run Scons with an argument to check for it and it should modify the rest of the documents on it’s own as it goes through them.
I’m wondering if that applies to the source of python22.dll.

oh well with my short list, if it comes to that, I can change it manually. best part so far is changing the python version really does seem to be no more than changing a few numbers.

as I read through the source I eyed through the source for things like meshes, windows, buttons and menus, the game engine physics, etc. to my surprise most of it is in python. lol. so I can readily understand it if I pay close attention.

Edit 30th of november 23:

taking a brief pause from game dev in blender, time to spend an evening looking through this source code.

found a bunch more locations where the python version is listed, found the locations where 2.6 is specified.
the python version is all over the place. from 1.5 and 2.0 to 2.2, 2.3, 2.4, 2.5 and 2.6

I now have to fix the makefile lists, and find out what calls for the project_vc9/ folder as this is where the python 2.6 listings are. from there I will have to observe why a separat folder was used for project, project_vc7 and vc9 to determine if a new folder and sub folders and documents will be necessary to include python 2.7.

2 Likes

I’m going through old blender source-code (2.49b) in ‘doc/’ folder theres a “python-dev-guide.txt” file it says;

III - Directories

The previous Blender Python API's are spread in blender/intern/python
and the C part of the current one, bpython, is at
blender/source/blender/bpython/, specially in intern/.  The current
solution is a Python wrapper on top of this bpython one, at
blender/intern/python/modules/Blender/

there is no such folder “blender/intern/python/” there is intern/ but no folder in intern called python.

there is no folder called “bpython” in blender/source/blender/ only a folder called “python” without the “b”

because there is no blender/intern/python/ there are no sub folders either.

at this point I’m just trying to make sure everything is in order to build it as is. the referenced doc seems to say that everything is not in order. help would be appreciated.

update: the doc I’m referencing is outdated, it’s for 2.25 not 2.49. must not have been updated for 2.49. but just to be sure, is anyone (who doesn’t have 2.49b already) able to try to build it to verify it’s correct? I don’t want to accidentally replace my working install with a possibly broken one.

1 Like

Hey @Joshex hows it going? Was thinking as a side project maybe you could port 2.49b to arm64 linux? Lol. Just throwing it out there :grin:. It would rule