compile latest svn

Hi,
in trying to compile current svn, I seem to get many B-Mesh related errors. Anyboby has a clue what it means and what I should to to resolve it?
Is it a problem or my side or not?

=====begin snippet=====

…/blender-svn/build/linux/lib/libbf_blenkernel.a(mesh.o): In function BKE_mesh_to_bmesh': mesh.c:(.text+0x10a3): undefined reference tobm_mesh_allocsize_default’
mesh.c:(.text+0x10ac): undefined reference to BM_mesh_create' mesh.c:(.text+0x10d4): undefined reference toBMO_op_callf’
…/blender-svn/build/linux/lib/libbf_blenkernel.a(bvhutils.o): In function bvhtree_from_mesh_faces': bvhutils.c:(.text+0x12b9): undefined reference tobmiter__vert_of_face_begin’
bvhutils.c:(.text+0x12c3): undefined reference to bmiter__vert_of_face_step' bvhutils.c:(.text+0x12cf): undefined reference tobmiter__vert_of_face_begin’
…/blender-svn/build/linux/lib/libbf_blenkernel.a(customdata.o): In function .L985': customdata.c:(.text+0x5060): undefined reference tobmiter__vert_of_mesh_begin’
customdata.c:(.text+0x5066): undefined reference to bmiter__vert_of_mesh_step' customdata.c:(.text+0x5090): undefined reference tobmiter__face_of_mesh_begin’
customdata.c:(.text+0x50ac): undefined reference to bmiter__face_of_mesh_step' customdata.c:(.text+0x50cd): undefined reference tobmiter__face_of_mesh_begin’

======end snippet=====

…etc there’s quite a bunch of these and compilation fails.

Did I miss something after the new B-mesh code was added to trunk?

thanx in advance

An ‘undefined reference’ could be a coding error, though it could also be unrelated. What is the last part of the error message? That is usually where the clues are.

Everything compiled fine in trunk until bmesh merge. I keep getting a lot of these compile errors in trunk (after BMesh merge), as late as today’s code, in Fedora 16 Linux:

/home/workspace/cpp/build/linux/lib/libbf_blenkernel.a(DerivedMesh.o): In function BM_iter_init': /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:67: undefined reference tobmiter__vert_of_mesh_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:68: undefined reference to bmiter__vert_of_mesh_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:71: undefined reference tobmiter__edge_of_mesh_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:72: undefined reference to bmiter__edge_of_mesh_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:75: undefined reference tobmiter__face_of_mesh_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:76: undefined reference to bmiter__face_of_mesh_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:82: undefined reference tobmiter__edge_of_vert_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:83: undefined reference to bmiter__edge_of_vert_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:90: undefined reference tobmiter__face_of_vert_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:91: undefined reference to bmiter__face_of_vert_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:98: undefined reference tobmiter__loop_of_vert_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:99: undefined reference to bmiter__loop_of_vert_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:106: undefined reference tobmiter__face_of_edge_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:107: undefined reference to bmiter__face_of_edge_step' /home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:114: undefined reference tobmiter__vert_of_face_begin’
/home/workspace/cpp/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c:115: undefined reference to `bmiter__vert_of_face_step’

All right, here’s the last part of the error message where it plainly sez that scons failed big time.

One other thing I noticed is that there are many errors compared to earlier compilations. I mean there are always errors related to undefined functions, deprecated functions etc but often these have no impact on building blender.

This problem occurred yesterday, it compiled without problems a couple of days ago.
I suspect that something changed after 2.62.

I updated to the latest svn and tried to build it again with scons but to no avail.

I’m on a 32bit Ubuntu system btw.

====begin====

                               Compiling ==> 'creator.c'

scons: path/blender-svn/build/linux/lib/libge_phys_bullet.a' is up to date. Compiling ==> 'buildinfo.c' Linking program ==> 'blenderplayer' Linking program ==> 'blender' Install file: "path/blender-svn/build/linux/bin/blenderplayer" as "path/blender-svn/install/linux/blenderplayer" Install file: "release/scripts/templates/operator_export.py" as "path/blender-svn/install/linux/2.62/scripts/templates/operator_export.py" Install file: "release/scripts/templates/operator_simple.py" as "path/blender-svn/install/linux/2.62/scripts/templates/operator_simple.py" Install file: "release/scripts/templates/driver_functions.py" as "path/blender-svn/install/linux/2.62/scripts/templates/driver_functions.py" Install file: "release/scripts/templates/background_job.py" as "path/blender-svn/install/linux/2.62/scripts/templates/background_job.py" Install file: "release/scripts/templates/operator_modal_timer.py" as "path/blender-svn/install/linux/2.62/scripts/templates/operator_modal_timer.py" Install file: "release/scripts/templates/batch_export.py" as "path/blender-svn/install/linux/2.62/scripts/templates/batch_export.py" Install file: "release/scripts/templates/ui_panel_simple.py" as "path/blender-svn/install/linux/2.62/scripts/templates/ui_panel_simple.py" Install file: "release/scripts/templates/gamelogic_basic.py" as "path/blender-svn/install/linux/2.62/scripts/templates/gamelogic_basic.py" Install file: "release/scripts/templates/builtin_keyingset.py" as "path/blender-svn/install/linux/2.62/scripts/templates/builtin_keyingset.py" Install file: "release/scripts/templates/operator_mesh_add.py" as "path/blender-svn/install/linux/2.62/scripts/templates/operator_mesh_add.py" Install file: "release/scripts/templates/gamelogic.py" as "path/blender-svn/install/linux/2.62/scripts/templates/gamelogic.py" Install file: "release/scripts/templates/operator_modal_view3d.py" as "path/blender-svn/install/linux/2.62/scripts/templates/operator_modal_view3d.py" path/blender-svn/build/linux/lib/libbf_python_mathutils.a(mathutils_Vector.o): In functionVector_to_tuple_ext.isra.1’:
mathutils_Vector.c:(.text+0x1449): undefined reference to `double_round’
Install file: “release/scripts/templates/operator_modal.py” as “path/blender-svn/install/linux/2.62/scripts/templates/operator_modal.py”
Install file: “release/scripts/templates/ui_menu_simple.py” as “path/blender-svn/install/linux/2.62/scripts/templates/ui_menu_simple.py”
Install file: “release/scripts/templates/gamelogic_module.py” as “path/blender-svn/install/linux/2.62/scripts/templates/gamelogic_module.py”
Install file: “release/scripts/templates/operator_uv.py” as “path/blender-svn/install/linux/2.62/scripts/templates/operator_uv.py”
Install file: “release/scripts/templates/ui_menu.py” as “path/blender-svn/install/linux/2.62/scripts/templates/ui_menu.py”
Install file: “release/scripts/templates/operator_modal_draw.py” as “path/blender-svn/install/linux/2.62/scripts/templates/operator_modal_draw.py”
Install file: “release/scripts/templates/addon_add_object.py” as “path/blender-svn/install/linux/2.62/scripts/templates/addon_add_object.py”
Install file: “release/scripts/presets/keyconfig/maya.py” as “path/blender-svn/install/linux/2.62/scripts/presets/keyconfig/maya.py”
collect2: ld returned exit status 1
scons: *** [path/blender-svn/build/linux/bin/blender] Error 1
Install file: “release/scripts/presets/cloth/leather.py” as “path/blender-svn/install/linux/2.62/scripts/presets/cloth/leather.py”
scons: building terminated because of errors.

====end=====

I think this is fixed, now. Have you tried an SVN up an rebuild in the last twelve hours or so?

-rking

Well, I’ve just updated svn and it failed to build. Errors emerge right before the very last step where it creates symb links.
Looks like it’s a different error this time.
Any suggestions or should I just wait?

====snippet====

                              Compiling ==> 'creator.c'

scons: /path/blender-svn/build/linux/lib/libbf_intern_cycles.a' is up to date. Compiling ==> 'buildinfo.c' Linking program ==> 'blenderplayer' Linking program ==> 'blender' /path/blender-svn/build/linux/lib/libbf_python_mathutils.a(mathutils_Vector.o): In functionVector_to_tuple_ext.isra.1’:
mathutils_Vector.c:(.text+0x1449): undefined reference to `double_round’
collect2: ld returned exit status 1
scons: *** [/path/blender-svn/build/linux/bin/blender] Error 1
scons: building terminated because of errors.

====snipet====

I got the same error all day:


/home/san/sub/blender/trunk/build/linux/lib/libbf_python_mathutils.a(mathutils_Vector.o): In function `Vector_to_tuple_ext.clone.0':
mathutils_Vector.c:(.text+0x1d5c): undefined reference to `double_round'
collect2: ld returned 1 exit status
scons: *** [/home/san/sub/blender/trunk/build/linux/bin/blender] Error 1
scons: building terminated because of errors.

Lots of new files updated since this appeared, but nothing that fixed this… Hope someone has some insight! Thanks.

did you try to update the libraries and removing the “build” directory?

on my 64 bit linux based OS

cd blender
svn up

to update the trunk, to be sure to update all the libraries at once

cd lib/linux64 ( the path may vary depending on which libraries you use )
svn up

also

rm -r build

to remove the build directory and start a fresh new build with a “make -jX” in the “blender” folder.

offcourse i’m supposing that before doing everything you are located in the root folder of your blender checkout.

Try cleaning your source. Either

scons clean
or

scons -c
They don’t both do exactly the same thing, but the result is similar; it removes all unused source files and links. Then svn up and compile again.

Thanks blé & organic!

I already updated svn for blender + lib/linux64, and ran ‘scons clean’ (didn’t know about ‘scons -c’) but it still ended with errors.
What helped was deleting the build dir, so Blender runs again! :smiley:

Thanks again.

Trying to clean my source returned a “scons not installed” error! :wink:
Is that cool or what?

Anywayz, I also confirm that removing the build dir does the trick so the compilation finishes without problems.

Thanx everyone, will mark thread as solved.

My Linux Fedora 64 trunk with BMesh now compile fine.