Hello, all: My name is Mamoru TASAKA from Japan. This is the first post to this mailing list. I see that "compile or build issues should be reported to this list", so I post to this list.
Well, recently Fedora project ( https://fedoraproject.org/ ) began to build packages on ppc64le (powerpc 64 bit, little endian) on rawhide (development branch), and blender 2.78a won't build on ppc64le. Downstream report: https://bugzilla.redhat.com/show_bug.cgi?id=1393157 gcc: 6.2.1 compiler flags: -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -fPIC -funsigned-char -fno-strict-aliasing -std=c++11 full build log (with make -k VERBOSE=1): https://mtasaka.fedorapeople.org/Bugfix/blender/blender-2.78a-on-ppc64le.log The errors are summarized into 2 types. A. There are lots of errros like: cd /builddir/build/BUILD/blender-2.78a/cmake-make/intern/audaspace && /usr/bin/c++ -DNDEBUG -DWITH_JACK -DWITH_OPENAL -DWITH_PYTHON -DWITH_SDL -DWITH_SNDFILE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -I/builddir/build/BUILD/blender-2.78a/intern/audaspace -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/FX -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/intern -I/builddir/build/BUILD/blender-2.78a/intern/ffmpeg -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/SDL -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/OpenAL -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/jack -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/sndfile -I/builddir/build/BUILD/blender-2.78a/intern/audaspace/Python -isystem /usr/include/SDL2 -isystem /usr/include/AL -isystem /usr/include/jack -isystem /usr/include/python3.5m -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing- include-dirs -Wno-div-by-zero -Wtype-limits -Werror=return-type -Werror=implicit-function-declaration -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wwrite-strings -Wundef -Wformat-signedness -Wuninitialized -Wundef -Wmissing-declarations -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -fPIC -funsigned-char -fno-strict-aliasing -std=c++11 -fopenmp -std=c++11 -pipe -fPIC -funsigned-char -fno-strict-aliasing -O2 -DNDEBUG -o CMakeFiles/bf_intern_audaspace.dir/intern/AUD_C-API.cpp.o -c /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_C-API.cpp In file included from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_C-API.cpp:82:0: /builddir/build/BUILD/blender-2.78a/intern/audaspace/OpenAL/AUD_OpenALDevice.h:113:16: error: conflicting return type specified for 'virtual __vector(4) __bool int AUD_OpenALDevice::AUD_OpenALHandle::pause()' virtual bool pause(); ^~~~~ In file included from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_IDevice.h:36:0, from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_NULLDevice.h:34, from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_C-API.cpp:50: /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_IHandle.h:54:15: error: overriding 'virtual bool AUD_IHandle::pause()' virtual bool pause()=0; ^~~~~ In file included from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_C-API.cpp:82:0: /builddir/build/BUILD/blender-2.78a/intern/audaspace/OpenAL/AUD_OpenALDevice.h:114:16: error: conflicting return type specified for 'virtual __vector(4) __bool int AUD_OpenALDevice::AUD_OpenALHandle::resume()' virtual bool resume(); ^~~~~~ In file included from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_IDevice.h:36:0, from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_NULLDevice.h:34, from /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_C-API.cpp:50: /builddir/build/BUILD/blender-2.78a/intern/audaspace/intern/AUD_IHandle.h:62:15: error: overriding 'virtual bool AUD_IHandle::resume()' virtual bool resume()=0; ... and other messages, and same messages on other files. Here -mcpu=power8 automatically enables -maltivec , and with -maltivec (which adds -D__ALTIVEC__), when including SDL2 related header, it includes altivec.h (via /usr/include/SDL2/SDL_cpuinfo.h) (see preprocessed source for AUD_C-API.cpp here: https://mtasaka.fedorapeople.org/Bugfix/blender/ppc64le-AUD_C-API.cpp-preprocessed.log ) And including altivec.h changes "bool" definition, for example. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58241 Currently I have to add -mno-altivec to compilation flags. 2. One other build error is here: cd /builddir/build/BUILD/blender-2.78a/cmake-make/extern/glog && /usr/bin/c++ -DGFLAGS_DLL_DECL="" -DGFLAGS_DLL_DECLARE_FLAG="" -DGFLAGS_DLL_DEFINE_FLAG="" -DGOOGLE_GLOG_DLL_DECL="" -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -I/builddir/build/BUILD/blender-2.78a/extern/glog/src -I/builddir/build/BUILD/blender-2.78a/extern/gflags/src -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wformat-signedness -Wuninitialized -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -fPIC -funsigned-char -fno-strict-aliasing -std=c++11 -fopenmp -std=c++11 -pipe -fPIC -funsigned-char -fno-strict-aliasing -O2 -DNDEBUG -o CMakeFiles/extern_glog.d ir/src/utilities.cc.o -c /builddir/build/BUILD/blender-2.78a/extern/glog/src/utilities.cc In file included from /builddir/build/BUILD/blender-2.78a/extern/glog/src/utilities.cc:351:0: /builddir/build/BUILD/blender-2.78a/extern/glog/src/stacktrace_powerpc-inl.h:121:2: error: #error Need to specify the PPC ABI for your archiecture. #error Need to specify the PPC ABI for your archiecture. ^~~~~ Surprisingly, __linux is not defined on powerpc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28314 In extern/glog/src/stacktrace_powerpc-inl.h, __linux must be changed to __linux__ . For the issue A, currently I don't know proper fix for this. Regards, Mamoru TASAKA <[email protected]> _______________________________________________ Bf-committers mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-committers
