I can also happily report that the newest commits fixed the failure to build on latest version of Manjaro xfce. Good job guys
I can now build but I seem to have come across an error when trying to run blender:
Error: GLEW version 2.0 and above is required.
I have attempted to build with WITH_SYSTEM_GLEW set to ON and OFF in the CMakeCache.txt file but that doesnât seem to work. I have both glew 2.10 and glew-devel 2.10 on my system? I think it might be just a small issue on my part.
This probably happens when Blender was compiled with WITH_SYSTEM_GLEW
set to ON
at some point (maybe a lite build?). Then even if you change it to OFF
, the GLEW library may still be configured to use one from the system that is outdated.
For this you can make a completely new build (removing the build folder) which will default to WITH_SYSTEM_GLEW
OFF
, or remove GLEW_LIBRARY
from the CMakeCache.txt
thank you and all Blender developers to fix this, now i can newly make my full static compiled Blender from Centos7 running on OpenSUSE
Just to see if I understood correctly. If we want to share our builds with other users, is it best to build with WITH_SYSTEM_GLEW=OFF?
Another question. When you do:
cmake . -C '/PATH_TO/blender/build_files/buildbot/config/blender_linux.cmake'
This does not yet enable âWITH_STATIC_LIBSâ. Is it necessary to set âWITH_STATIC_LIBS=ONâ if we want to share our builds with others? Or if we have CentOS âlibâ folder it will create a build with static libraries anyway?
All WITH_SYSTEM_*
options should be OFF
for static builds.
WITH_STATIC_LIBS
should be ON
, this is done automatically if you use the centos7 lib folder.
Hello, me again.
When you run âinstall_deps.shâ, when finished it indicates a long string of instructions to build Blender. I use that long command to build with my own system dependencies and the dependencies that install_deps.sh script build in â/optâ. But if you have âlibâ folder with precompiled libraries and you try to build Blender with instruction that install_deps.sh script shows at the end, then you get an error when build is finished and it tries to link libraries.
Since I am assuming that when you try to build with instructions that install_deps.sh shows at the end, you want to compile with system libraries and those in /opt folder, would it be possible to add to instructions that install_deps.sh scriprt shows at the end some instruction that avoids the lib folder with precompiled library if they are present?
Dear all.
Today (2020-05-10), I have tried to build Blender from scratch. I use this documentation and use pre-compiled libraries. All files were downloaded today. The built directory is not in the home directory but in some other location of the hard disk. OS: Lubuntu 18.04 64Bit.
Note that I had a built before in the home directory but I deleted it at the very beginning (before new Blender built) due to not enough disk space in home.
Anyway, everything works well despite the linking: during linking I get a similar error message as shown in the first message of this thread, see below. I attach the CMakeCache.txt file, which I did not modify.
Any ideas?
[100%] Linking CXX executable ../../bin/blender
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exrinput.cpp.o):exrinput.cpp:function OpenImageIO_v1_8::OpenEXRInput::PartInfo::parse_header(OpenImageIO_v1_8::OpenEXRInput*, Imf_2_4::Header const*): Fehler: undefined reference to 'Imf_2_4::Header::type() const'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exrinput.cpp.o):exrinput.cpp:function OpenImageIO_v1_8::OpenEXRInput::PartInfo::parse_header(OpenImageIO_v1_8::OpenEXRInput*, Imf_2_4::Header const*): Fehler: undefined reference to 'Imf_2_4::Header::type() const'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exrinput.cpp.o):exrinput.cpp:function OpenImageIO_v1_8::OpenEXRInput::PartInfo::parse_header(OpenImageIO_v1_8::OpenEXRInput*, Imf_2_4::Header const*): Fehler: undefined reference to 'Imf_2_4::Header::name() const'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:function OpenImageIO_v1_8::OpenEXROutput::open(std::string const&, int, OpenImageIO_v1_8::ImageSpec const*): Fehler: undefined reference to 'Imf_2_4::Header::setType(std::string const&)'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:function Imf_2_4::TypedAttribute<std::string>::typeName() const: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::string>::staticTypeName()'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:function Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::typeName() const: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::staticTypeName()'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::string>: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::string>::writeValueTo(Imf_2_4::OStream&, int) const'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::string>: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::string>::readValueFrom(Imf_2_4::IStream&, int, int)'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::writeValueTo(Imf_2_4::OStream&, int) const'
/media/cle/Daten/Programs/Blender/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >: Fehler: undefined reference to 'Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::readValueFrom(Imf_2_4::IStream&, int, int)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exr_add_channel: Fehler: undefined reference to 'Imf_2_4::insertViewName(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, int)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exr_channel_rect: Fehler: undefined reference to 'Imf_2_4::insertViewName(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, int)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exrtile_write_channels: Fehler: undefined reference to 'Imf_2_4::FrameBuffer::insert(std::string const&, Imf_2_4::Slice const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exr_read_channels: Fehler: undefined reference to 'Imf_2_4::FrameBuffer::insert(std::string const&, Imf_2_4::Slice const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function imb_exr_get_views: Fehler: undefined reference to 'Imf_2_4::Header::view() const'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function imb_exr_get_views: Fehler: undefined reference to 'Imf_2_4::multiView(Imf_2_4::Header const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exrtile_begin_write: Fehler: undefined reference to 'Imf_2_4::Header::setType(std::string const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exrtile_begin_write: Fehler: undefined reference to 'Imf_2_4::Header::setView(std::string const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exrtile_begin_write: Fehler: undefined reference to 'Imf_2_4::Header::setName(std::string const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exrtile_begin_write: Fehler: undefined reference to 'Imf_2_4::ChannelList::insert(std::string const&, Imf_2_4::Channel const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exr_begin_write: Fehler: undefined reference to 'Imf_2_4::ChannelList::layers(std::set<std::string, std::less<std::string>, std::allocator<std::string> >&) const'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function IMB_exr_begin_write: Fehler: undefined reference to 'Imf_2_4::addMultiView(Imf_2_4::Header&, std::vector<std::string, std::allocator<std::string> > const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function imb_exr_is_multi: Fehler: undefined reference to 'Imf_2_4::ChannelList::layers(std::set<std::string, std::less<std::string>, std::allocator<std::string> >&) const'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function void Imf_2_4::GetChannelsInMultiPartFile<std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> > >(Imf_2_4::MultiPartInputFile const&, std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> >&): Fehler: undefined reference to 'Imf_2_4::Header::view() const'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function void Imf_2_4::GetChannelsInMultiPartFile<std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> > >(Imf_2_4::MultiPartInputFile const&, std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> >&): Fehler: undefined reference to 'Imf_2_4::viewFromChannelName(std::string const&, std::vector<std::string, std::allocator<std::string> > const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function void Imf_2_4::GetChannelsInMultiPartFile<std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> > >(Imf_2_4::MultiPartInputFile const&, std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> >&): Fehler: undefined reference to 'Imf_2_4::removeViewName(std::string const&, std::string const&)'
../../lib/libbf_imbuf_openexr.a(openexr_api.cpp.o):openexr_api.cpp:function void Imf_2_4::GetChannelsInMultiPartFile<std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> > >(Imf_2_4::MultiPartInputFile const&, std::vector<Imf_2_4::MultiViewChannelName, std::allocator<Imf_2_4::MultiViewChannelName> >&): Fehler: undefined reference to 'Imf_2_4::multiView(Imf_2_4::Header const&)'
collect2: error: ld returned 1 exit status
source/creator/CMakeFiles/blender.dir/build.make:513: recipe for target 'bin/blender' failed
make[3]: *** [bin/blender] Error 1
CMakeFiles/Makefile2:8117: recipe for target 'source/creator/CMakeFiles/blender.dir/all' failed
make[2]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make[1]: *** [all] Error 2
GNUmakefile:299: recipe for target 'all' failed
make: *** [all] Error 2
Output.txt (8.3 KB)
CMakeCache.txt (124.9 KB)
EDIT
In CMakeCache.txt I find:
- WITH_STATIC_LIBS:BOOL=OFF
- WITH_SYSTEM_GLES:BOOL=ON
- All other WITH_SYSTEM_* are off
This may be fixed by:
https://developer.blender.org/rB80953aed333051f7d2b319e3e087add7a2800956
Youâd need to remove CMakeCache.txt
and build again for this fix to work and find the correct libraries.
What would also help is to remove /opt/lib/openexr
, those are libraries from install_deps
which are being picked up when they shouldnât be used together with precompiled libraries.
Dear brecht,
thanks a lot!
This helped indeed! I still had this /opt/lib/openexr
link and related directory from an older install. I entirely removed it. Then, I removed CMakeCache.txt
and started make
. It worked at once!
Hi, the update fix most problem for me, too.
What I`ve done so far:
Delete build directory
Install missing package libxxf86vm (still missing openMP)
Make
[100%] Linking CXX executable ../../bin/blender
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: warning: libtbb.so.2, needed by /home/pepo/blender-git/lib/linux_centos7_x86_64/open
imagedenoise/lib/libOpenImageDenoise.a, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: warning: libtbbmalloc.so.2, needed by /home/pepo/blender-git/lib/linux_centos7_x86_6
4/openimagedenoise/lib/libOpenImageDenoise.a, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: ../../bin/blender: local symbol `_ZNK3tbb8internal32allocate_root_with_context_proxy
4freeERNS_4taskE' in /home/pepo/blender-git/lib/linux_centos7_x86_64/tbb/lib/libtbb.a(task.cpp.o) is referenced by DSO
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: final link failed: bad value
collect2: Fehler: ld gab 1 als Ende-Status zurĂźck
make[3]: *** [source/creator/CMakeFiles/blender.dir/build.make:488: bin/blender] Fehler 1
make[2]: *** [CMakeFiles/Makefile2:6889: source/creator/CMakeFiles/blender.dir/all] Fehler 2
make[1]: *** [Makefile:183: all] Fehler 2
make: *** [GNUmakefile:304: all] Fehler 2
CMakeCache.txt (109.7 KB)
No /opt/lib
Cross post Unable to build blender 2.90 on Linux Mint - #9 by Blendphys
Thank you
Iâm having almost the same errors too (on Fedora 32, Xfce spin).
Scanning dependencies of target bf_intern_locale
[ 4%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_md5.cpp.o
[ 4%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_murmurhash.cpp.o
[ 4%] Building CXX object intern/locale/CMakeFiles/bf_intern_locale.dir/boost_locale_wrapper.cpp.o
[ 4%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_path.cpp.o
[ 5%] Linking CXX static library ../../lib/libbf_intern_locale.a
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[3]: *** [intern/libmv/CMakeFiles/bf_intern_libmv.dir/build.make:499: intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/simple_pipeline/intersect.cc.o] Error 1
make[3]: *** Deleting file 'intern/libmv/CMakeFiles/bf_intern_libmv.dir/libmv/simple_pipeline/intersect.cc.o'
make[3]: *** Waiting for unfinished jobs....
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_profiling.cpp.o
make[2]: *** [CMakeFiles/Makefile2:3241: intern/libmv/CMakeFiles/bf_intern_libmv.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_string.cpp.o
Scanning dependencies of target bf_intern_rigidbody
[ 5%] Building CXX object intern/rigidbody/CMakeFiles/bf_intern_rigidbody.dir/rb_bullet_api.cpp.o
[ 5%] Built target bf_intern_locale
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_simd.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_system.cpp.o
[ 5%] Linking CXX static library ../../lib/libbf_intern_rigidbody.a
[ 5%] Built target bf_intern_rigidbody
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_task.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_thread.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_time.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_transform.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_windows.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_guarded_allocator.cpp.o
[ 5%] Building CXX object intern/cycles/util/CMakeFiles/cycles_util.dir/util_sky_model.cpp.o
[ 5%] Linking CXX static library ../../../lib/libcycles_util.a
[ 5%] Built target cycles_util
make[1]: *** [Makefile:183: all] Error 2
make: *** [GNUmakefile:304: all] Error 2
This is my CMakeCache.txt, if it helps somehow.
CMakeCache.txt (116.1 KB)
Iâm really sorry if Iâm copy-pasting irrelevant stuff, Iâve never compiled software from sources before.