Unable to compile (FindPythonLibsUnix problem or '_pow_finite' problem with precompiled libraries)

For a few weeks I have been unable to compile Blender locally. After using the install_deps.sh script with the ‘with-all’ flag active, I get this error when trying to make:

Configuring Blender in "/home/workingdodo/blender-git/build_linux_full" ...
loading initial cache file /home/workingdodo/blender-git/blender/build_files/cmake/config/blender_full.cmake
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find PythonLibsUnix (missing: PYTHON_LIBRARY PYTHON_LIBPATH
PYTHON_INCLUDE_DIR PYTHON_INCLUDE_CONFIG_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
build_files/cmake/Modules/FindPythonLibsUnix.cmake:180 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
build_files/cmake/platform/platform_unix.cmake:103 (find_package)
CMakeLists.txt:801 (include)

If I use the precompiled CentOS libraries I get this error when attempting linking the executable after running ‘make’:

/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openjpeg/lib/libopenjp2.a(tcd.c.o):tcd.c:function opj_tcd_init_decode_tile: error: undefined reference to '__pow_finite'
/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openjpeg/lib/libopenjp2.a(tcd.c.o):tcd.c:function opj_tcd_rateallocate: error: undefined reference to '__pow_finite'
/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openjpeg/lib/libopenjp2.a(tcd.c.o):tcd.c:function opj_tcd_rateallocate: error: undefined reference to '__pow_finite'
/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openjpeg/lib/libopenjp2.a(tcd.c.o):tcd.c:function opj_tcd_init_encode_tile: error: undefined reference to '__pow_finite'
/home/workingdodo/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*): error: undefined reference to 'Imf_2_4::Header::type() const'
/home/workingdodo/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*): error: undefined reference to 'Imf_2_4::Header::type() const'
/home/workingdodo/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*): error: undefined reference to 'Imf_2_4::Header::name() const'
/home/workingdodo/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*): error: undefined reference to 'Imf_2_4::Header::setType(std::string const&)'
/home/workingdodo/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: error:     undefined reference to 'Imf_2_4::TypedAttribute<std::string>::staticTypeName()'
/home/workingdodo/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: error: undefined reference to 'Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::staticTypeName()'
/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::string>: error: undefined     reference to 'Imf_2_4::TypedAttribute<std::string>::writeValueTo(Imf_2_4::OStream&, int) const'
/home/workingdodo/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a(exroutput.cpp.o):exroutput.cpp:vtable for Imf_2_4::TypedAttribute<std::string>: error: undefined     reference to 'Imf_2_4::TypedAttribute<std::string>::readValueFrom(Imf_2_4::IStream&, int, int)'
/home/workingdodo/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> > >: error: undefined reference to 'Imf_2_4::TypedAttribute<std::vector<std::string, std::allocator<std::string> > >::writeValueTo(Imf_2_4::OStream&, int) const'
/home/workingdodo/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> > >: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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: error: 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> >&): error:     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> >&): error:     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> >&): error:     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> >&): error:     undefined reference to 'Imf_2_4::multiView(Imf_2_4::Header const&)'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__log_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__log_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__exp_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__exp_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__exp_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function setup_tone_curves: error: undefined reference to '__exp_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function _vp_psy_init: error: undefined reference to '__log_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(psy.o):psy.c:function _vp_psy_init: error: undefined reference to '__log_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(lsp.o):lsp.c:function vorbis_lpc_to_lsp: error: undefined reference to '__acosf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a(lsp.o):lsp.c:function vorbis_lpc_to_lsp: error: undefined reference to '__acosf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function validate_parameters: error: undefined reference to '__log2f_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function validate_parameters: error: undefined reference to '__log2f_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function encoder_frame_end.part.6: error: undefined reference to '__log10_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function encoder_frame_end.part.6: error: undefined reference to '__log10_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function encoder_frame_end.part.6: error: undefined reference to '__log10_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function encoder_frame_end.part.6: error: undefined reference to '__log10_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function x264_8_encoder_reconfig_apply: error: undefined reference to     '__log2f_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(encoder-8.o):encoder.c:function x264_8_encoder_reconfig_apply: error: undefined reference to     '__log2f_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function predict_row_size_to_end: error: undefined reference to     '__powf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function get_qscale: error: undefined reference to '__powf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function clip_qscale: error: undefined reference to '__powf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function rate_estimate_qscale: error: undefined reference to     '__powf_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function x264_8_ratecontrol_new: error: undefined reference to     '__log2_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function x264_8_ratecontrol_new: error: undefined reference to     '__log2_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-8.o):ratecontrol.c:function x264_8_ratecontrol_new: error: undefined reference to     '__log2_finite'
/home/workingdodo/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a(ratecontrol-10.o):ratecontrol.c:function x264_10_ratecontrol_new: error: undefined reference to     '__log2_finite'
collect2: error: ld returned 1 exit status
make[3]: *** [source/creator/CMakeFiles/blender.dir/build.make:468: bin/blender] Error 1
make[2]: *** [CMakeFiles/Makefile2:6894: source/creator/CMakeFiles/blender.dir/all] Error 2
make[1]: *** [Makefile:163: all] Error 2
make: *** [GNUmakefile:315: all] Error 2

I use Arch Linux with the latest packages as of writing this post. If anyone could help I would really appreciate it!

This should be fixed now if you build latest master.

1 Like

I’ll check it first thing tomorrow, thanks for the heads up!

And it worked! You guys are rockstars! <3