Windows XP Pro SP3
Earier I reported that building with mingw / gcc 4.4.1 in windows does not work anymore since approx. svn 29210
Question from Campbell was were do you get mingw with gcc 4.4.1?
Its here - a simple installer from TDM-GCC (tdragon):
http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe/download
I did successful and stable builds on Graphicall.org (Zebulon) for quite a while using gcc 4.1.2 and gcc 4.4.1 from TDM-GCC.
There is also a new 4.5 available. But it would be nice to get gcc 4.4.1 going under windows like it works in most recent
Linux distributions.
GCC 4.4.1 is also included in Code:Blocks 10.05!
Same there: if you try to build with cmake and Code:Blocks (using
Codeblocks mingw setup in cmake) it doesn't build - and here
gives a ljpeg linking error (last try approx. 2 weeks ago)
I try to upload error log when building with gcc 4.4.1 soon
Kind regards,
Ralf Luhrmann
Description
Event Timeline
See attachments:
- user-config.py (from the build directory)
- logfile.log (a log from building with scons + mingw/gcc 4.4.1)
- codeblocks-mingw (log from codebocks 10.05 / gcc 4.4.1 = building with cmake 2.8.1 codeblocks mingw files)
Windows XP Pro SP3, Blender 2.5 Trunk SVN 30332
Kind regards,
Ralf
See attachments:
- user-config.py (from the build directory)
- logfile.log (a log from building with scons + mingw/gcc 4.4.1)
- codeblocks-mingw (log from codebocks 10.05 / gcc 4.4.1 = building with cmake 2.8.1 codeblocks mingw files)
Windows XP Pro SP3, Blender 2.5 Trunk SVN 30332
Kind regards,
Ralf
Resolved these errors with cmake.
c:\mingw32\bin\../lib/gcc/mingw32/4.4.1/include/mmintrin.h:49: error: '__builtin_ia32_emms' was not declared in this scope
Could you try build again with CMake?
I tried again using cmake 2.8.1 + codeblocks 10.05 (cmake codeblocks mingw option)
This is what I get now:
C:\TEMP\svn\trunk\blender\source\blender\blenlib\intern\storage.c: In function 'BLI_exist':
C:\TEMP\svn\trunk\blender\source\blender\blenlib\intern\storage.c:436: error: storage size of 'st' isn't known
mingw32-make.exe[2]: *** [source/blender/blenlib/CMakeFiles/bf_blenlib.dir/intern/storage.c.obj] Error 1
mingw32-make.exe[1]: *** [source/blender/blenlib/CMakeFiles/bf_blenlib.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Process terminated with status 2 (5 minutes, 23 seconds)
1 errors, 26 warnings
Ralf
Fixed this error... See how far you get next.
error: storage size of 'st' isn't known
Hello Campbell
Thanks for your efforts..
Now I get this (svn 30388):
Cmake (Codeblocks mingw make files) + codeblocks 10.05 (gcc 4.4.1)
==>
Building C object source/blender/blenlib/CMakeFiles/bf_blenlib.dir/intern/scanfill.c.obj
[ 65%]
Building C object source/blender/blenlib/CMakeFiles/bf_blenlib.dir/intern/storage.c.obj
C:\TEMP\svn\trunk\blender\source\blender\blenlib\intern\storage.c: In function 'BLI_exist':
C:\TEMP\svn\trunk\blender\source\blender\blenlib\intern\storage.c:441: error: storage size of 'st' isn't known
mingw32-make.exe[2]: *** [source/blender/blenlib/CMakeFiles/bf_blenlib.dir/intern/storage.c.obj] Error 1
mingw32-make.exe[1]: *** [source/blender/blenlib/CMakeFiles/bf_blenlib.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Process terminated with status 2 (4 minutes, 57 seconds)
1 errors, 26 warnings
===========================================
And I get this when building with scons + TDM-GCC (mingw/gcc 4.4.1):
==>
Compiling ==> 'winstuff.c'
Compiling ==> 'readblenentry.c'
source\blender\blenlib\intern\storage.c: In function 'BLI_exist':
source\blender\blenlib\intern\storage.c:441: error: storage size of 'st' isn't known
source\blender\blenlib\intern\storage.c:441: warning: unused variable 'st'
scons: *** [C:\temp\svn\trunk\build\win32-mingw\source\blender\blenlib\intern\storage.o] Error 1
source\blender\blenlib\intern\winstuff.c: In function 'RegisterBlendExtension':
source\blender\blenlib\intern\winstuff.c:72: warning: pointer targets in passing argument 5 of 'RegSetValueExA' differ in signedness
c:\mingw32\bin\../lib/gcc/mingw32/4.4.1/../../../../include/winreg.h:108: note: expected 'const BYTE *' but argument is of type 'char *'
source\blender\blenlib\intern\winstuff.c:81: warning: pointer targets in passing argument 5 of 'RegSetValueExA' differ in signedness
c:\mingw32\bin\../lib/gcc/mingw32/4.4.1/../../../../include/winreg.h:108: note: expected 'const BYTE *' but argument is of type 'char *'
source\blender\blenlib\intern\winstuff.c:90: warning: pointer targets in passing argument 5 of 'RegSetValueExA' differ in signedness
c:\mingw32\bin\../lib/gcc/mingw32/4.4.1/../../../../include/winreg.h:108: note: expected 'const BYTE *' but argument is of type 'char *'
scons: building terminated because of errors.
================================================
Ralf
"error: storage size of 'st' isn't known" problem is described here:
https://projects.blender.org/tracker/index.php?func=detail&aid=22861&group_id=9&atid=498
it is caused by outdated runtime libraries in MinGW distribution. manual upgrading to mingwrt-3.18 partially solves problem with _stat64i32 but leads to linking error
Brecht,
That patch can't make compilation with collada successful. It's because collada compiled by sjlj version of gcc, but gcc-4.4.1 isn't sjlj. So there are still issues. Try to look at this soon.
My latest test with SVN 30500
scons and mingw (gcc 4.4.1 with updated mingw-rt to 3.18):
Linking error:
================
Linking program ==> 'blender.exe'
Install file: "release\scripts\addons\add_mesh_extras.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_extras.py"
Install file: "release\scripts\addons\add_mesh_gears.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_gears.py"
Install file: "release\scripts\addons\add_mesh_gemstones.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_gemstones.py"
Install file: "release\scripts\addons\add_mesh_pipe_joint.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_pipe_joint.py"
Install file: "release\scripts\addons\add_mesh_solid.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_solid.py"
Install file: "release\scripts\addons\add_mesh_twisted_torus.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\add_mesh_twisted_torus.py"
Install file: "release\scripts\addons\curve_simplify.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\curve_simplify.py"
Install file: "release\scripts\addons\io_anim_camera.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_anim_camera.py"
Install file: "release\scripts\addons\io_export_directx_x.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_export_directx_x.py"
Install file: "release\scripts\addons\io_export_unreal_psk_psa.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_export_unreal_psk_psa.py"
Install file: "release\scripts\addons\io_import_images_as_planes.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_import_images_as_planes.py"
Install file: "release\scripts\addons\io_import_scene_mhx.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_import_scene_mhx.py"
Install file: "release\scripts\addons\io_import_scene_unreal_psk.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\io_import_scene_unreal_psk.py"
Install file: "release\scripts\addons\mesh_relax.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\mesh_relax.py"
collect2: ld returned 1 exit status
Install file: "release\scripts\addons\mesh_surface_sketch.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\mesh_surface_sketch.py"
Install file: "release\scripts\addons\object_add_chain.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\object_add_chain.py"
scons: *** [C:\TEMP\svn\trunk\build\win32-mingw\bin\blender.exe] Error 1
Install file: "release\scripts\addons\object_cloud_gen.py" as "C:\TEMP\svn\trunk\install\win32-mingw\2.52\scripts\addons\object_cloud_gen.py"
scons: building terminated because of errors.
================
Test with cmake 2.8.1 and codeblocks 10.05 mingw files (gcc 4.4.1 with update mingw-rt):
result linking error:
===========================
C:\MinGW32\bin\g++.exe -msse -msse2 CMakeFiles\blender.dir\creator.c.obj CMakeFiles\blender.dir\buildinfo.c.obj -o ..\..\bin\blender.exe -Wl,--out-implib,..\..\bin\libblender.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LC:\TEMP\svn\trunk\blender\..\lib\windows\jpeg\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\png\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\zlib\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\gcc\freetype\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\samplerate\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\python\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\iconv\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\gcc\gettext\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\sdl\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\ffmpeg\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\gcc\openexr\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\gcc\tiff\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\openal\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\sndfile\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\gcc\fftw3\lib -LC:\TEMP\svn\trunk\blender\..\lib\windows\pthreads\lib ..\..\lib\libbf_windowmanager.a ..\..\lib\libbf_editor_space_api.a ..\..\lib\libbf_editor_space_action.a ..\..\lib\libbf_editor_space_buttons.a ..\..\lib\libbf_editor_space_console.a ..\..\lib\libbf_editor_space_file.a ..\..\lib\libbf_editor_space_graph.a ..\..\lib\libbf_editor_space_image.a ..\..\lib\libbf_editor_space_info.a ..\..\lib\libbf_editor_space_logic.a ..\..\lib\libbf_editor_space_nla.a ..\..\lib\libbf_editor_space_node.a ..\..\lib\libbf_editor_space_outliner.a ..\..\lib\libbf_editor_space_script.a ..\..\lib\libbf_editor_space_sequencer.a ..\..\lib\libbf_editor_space_sound.a ..\..\lib\libbf_editor_space_time.a ..\..\lib\libbf_editor_space_userpref.a ..\..\lib\libbf_editor_space_view3d.a ..\..\lib\libbf_editor_text.a ..\..\lib\libbf_editor_transform.a ..\..\lib\libbf_editor_util.a ..\..\lib\libbf_editor_uvedit.a ..\..\lib\libbf_editor_curve.a ..\..\lib\libbf_editor_armature.a ..\..\lib\libbf_editor_gpencil.a ..\..\lib\libbf_editor_interface.a ..\..\lib\libbf_editor_mesh.a ..\..\lib\libbf_editor_metaball.a ..\..\lib\libbf_editor_object.a ..\..\lib\libbf_editor_physics.a ..\..\lib\libbf_editor_render.a ..\..\lib\libbf_editor_screen.a ..\..\lib\libbf_editor_sculpt_paint.a ..\..\lib\libbf_editor_sound.a ..\..\lib\libbf_editor_animation.a ..\..\lib\libbf_editor_datafiles.a ..\..\lib\libblender_BSP.a ..\..\lib\libblender_render.a ..\..\lib\libblender_ONL.a ..\..\lib\libbf_python.a ..\..\lib\libbf_gen_python.a ..\..\lib\libbf_ikplugin.a ..\..\lib\libbf_modifiers.a ..\..\lib\libbf_blenkernel.a ..\..\lib\libbf_nodes.a ..\..\lib\libbf_gpu.a ..\..\lib\libbf_blenloader.a ..\..\lib\libbf_blenlib.a ..\..\lib\libbf_ghost.a ..\..\lib\libbf_string.a ..\..\lib\libbf_blenpluginapi.a ..\..\lib\libbf_imbuf.a ..\..\lib\libbf_avi.a ..\..\lib\libbf_cineon.a ..\..\lib\libbf_openexr.a ..\..\lib\libbf_dds.a ..\..\lib\libbf_readblenfile.a ..\..\lib\libblender_BSP.a ..\..\lib\libblender_bop.a ..\..\lib\libbf_kernel.a ..\..\lib\libbf_decimation.a ..\..\lib\libbf_elbeem.a ..\..\lib\libbf_IK.a ..\..\lib\libbf_memutil.a ..\..\lib\libbf_guardedalloc.a ..\..\lib\libblender_CTR.a ..\..\lib\libbf_moto.a ..\..\lib\libbf_windowmanager.a ..\..\lib\libbf_blroutines.a ..\..\lib\libbf_converter.a ..\..\lib\libbf_dummy.a ..\..\lib\libbf_bullet.a ..\..\lib\libbf_smoke.a ..\..\lib\libbf_minilzo.a ..\..\lib\libbf_lzma.a ..\..\lib\libbf_common.a ..\..\lib\libbf_ketsji.a ..\..\lib\libbf_logic.a ..\..\lib\libbf_rasterizer.a ..\..\lib\libbf_oglrasterizer.a ..\..\lib\libbf_expressions.a ..\..\lib\libbf_scenegraph.a ..\..\lib\libbf_moto.a ..\..\lib\libbf_blroutines.a ..\..\lib\libkx_network.a ..\..\lib\libbf_kernel.a ..\..\lib\libbf_ngnetwork.a ..\..\lib\libextern_bullet.a ..\..\lib\libbf_loopbacknetwork.a ..\..\lib\libbf_ITASC.a ..\..\lib\libbf_common.a ..\..\lib\libbf_moto.a ..\..\lib\libbf_python.a ..\..\lib\libbf_gen_python.a ..\..\lib\libextern_glew.a ..\..\lib\libextern_libopenjpeg.a ..\..\lib\libbf_videotex.a ..\..\lib\libbf_rna.a ..\..\lib\libbf_dna.a ..\..\lib\libbf_blenfont.a ..\..\lib\libbf_audaspace.a ..\..\lib\libbf_decimation.a -lopengl32 -lglu32 -llibjpeg -lpng -lz -lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lpython31 -lglu32 -lfreetype -llibsamplerate -lintl -liconv -lwrap_oal -lfftw3 -llibsndfile-1 -lSDL -ltiff -lHalf -lIlmImf -lImath -lIlmThread -lavcodec-52 -lavformat-52 -lavdevice-52 -lavutil-50 -lswscale-0 -lpthreadGC2 -llibjpeg -lpng -lz -lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lpython31 -lfreetype -llibsamplerate -lintl -liconv -lwrap_oal -lfftw3 -llibsndfile-1 -lSDL -ltiff -lHalf -lIlmImf -lImath -lIlmThread -lavcodec-52 -lavformat-52 -lavdevice-52 -lavutil-50 -lswscale-0 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
collect2: ld returned 1 exit status
mingw32-make.exe[2]: *** [bin/blender.exe] Error 1
mingw32-make.exe[1]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Process terminated with status 2 (8 minutes, 42 seconds)
0 errors, 734 warnings
===========================
Ralf L. (Zebulon)
PS:
TDM-GCC 4.5 includes mingw-rt 3.18
It does build blender complete but Blender doesn't run.
Ralf L.
The latest error messages are a bit strange, they don't give any specific error message, just that it fails linking, but not why.
Brecht,
yep, i know. This happens on older versions of mingw-binutils. At least, u need latests versions of mingw-runtime and mingw-binutils. In this case u'll se the whole linking errors.
This errors because of differences between gcc-3.4-sljl (which was used for collada compilation and maybe for some other libs) and latest gcc-4.4.
I think it'll be better to assign bug to me due to i'm installing mingw + gcc-4.4 + other_needed_software on virtual machine now and will test if we could just rebuild needed libraries with gcc-4.4 to solve linking errors to sjlj exceptions.
This should help for native mingw compilation, but could break cross-compilation - that's the issue i'm going to investigate.
For what it is worth:
Today I build again svn 30586
I updated TDM-GCC version 4.4.1 with mingwrt-3.18-mingw32-dev, mingwrt-3.18-mingw32-dll, w32api-3.14-mingw32-dev.
I build with scons and mingw TDM-GCC 4.4.1 (updated):
Now it did build blender. The default scene does render.
I wanted to open another .blend file, by clicking on File|Open Blender than crashed.
Ralf
Yep, got the same bug with gcc-4.4.0 from mingw package at sf.net. Looking into this problem..
Looks like the source of segfolt headache is definition of __MSVCRT_VERSION__ in the top of storage.c.
This definition makes _stat structure be 64bit, but for other modules (filelist.c, i.e) it's still 32bit. Removing this definition makes things ok, but not sure it's correct way of fixing segfolt.
Will discuss this with Campbell.
Fix for crash moved to trunk (rev30753). TDM's gcc works fine, official mingw gcc 4.4.0 needs openexr and opencollada libraries compiled with dwarf2 libraries.
I think this report could be closed. Thanks for it.