Closed bondhugula closed 7 years ago
I don't think anyone's tested building the package with a GCC newer than 4.8.4 (or if we have, I'm not aware of it).
GCC 4.8.4 was released more than 2 years ago! All recent releases of Fedora (23, 24) or Ubuntu ship with GCC 5.x or 6.x. Mine is Fedora 24.
Yes, we should take a look at this. It might be easy to fix with a compiler flag.
Although GCC 4.8.4 is still pretty widespread; for instance, it's what our Travis builds (running Ubuntu 14.04) use (and that is a Travis default, not something we set up specifically).
Looks like the error is caused by just including std set
. Your system has Intel compiler 2015 installed, which is probably not compatible with GCC 6.2 since it is older. Note that ICC uses GCC for standard libraries. Installing ICC 2017 or using compatible GCC can solve the issue (https://software.intel.com/en-us/node/684551).
@bondhugula Did @ehsantn's suggestion (making sure you don't have incompatible ICC and GCC versions installed simultaneously) solve the problem you were having? If not, feel free to reopen this issue.
FWIW, since my previous comment I've been testing ParallelAccelerator with various newer GCC versions and not had any serious problems, so I don't think that was ever the issue.
g++ --version g++ (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2)
Julia version 0.5.0 (2016-09-19 18:14 UTC)
julia> Pkg.add("ParallelAccelerator") ; INFO: Installing CompilerTools v0.2.0 INFO: Installing DataStructures v0.4.6 INFO: Installing DocOpt v0.2.0 INFO: Installing ParallelAccelerator v0.2.1 INFO: Building ParallelAccelerator ParallelAccelerator: build.jl begin. ParallelAccelerator: Building j2c-array shared library Using icpc to build ParallelAccelerator array runtime. In file included from /usr/include/c++/6.2.1/set(60), from include/j2c-array.h(41), from j2c-array.cpp(26): /usr/include/c++/6.2.1/bits/stl_tree.h(1437): error: identifier "_Compare" is undefined && is_nothrow_move_assignable<_Compare>::value) ^
In file included from /usr/include/c++/6.2.1/set(60), from include/j2c-array.h(41), from j2c-array.cpp(26): /usr/include/c++/6.2.1/bits/stl_tree.h(1778): error: identifier "_Compare" is undefined _GLIBCXX_NOEXCEPT_IF(__is_nothrow_swappable<_Compare>::value) ^
compilation aborted for j2c-array.cpp (code 2) ================================================[ ERROR: ParallelAccelerator ]================================================
LoadError: failed process: Process(./build.sh '' /opt/intel/composer_xe_2015.3.187/compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/mpirt/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/../compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/tools/intel64/perfsys:/opt/intel/composer_xe_2015.3.187/compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/mkl/lib/intel64:/opt/intel/composer_xe_2015.3.187/tbb/lib/intel64/gcc4.1:/opt/intel/composer_xe_2015.3.187/debugger/libipt/intel64/lib:/usr/lib64/openmpi/lib:/opt/intel/composer_xe_2015.3.187/compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/mpirt/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/../compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/lib/intel64:/opt/intel/composer_xe_2015.3.187/ipp/tools/intel64/perfsys:/opt/intel/composer_xe_2015.3.187/compiler/lib/intel64:/opt/intel/composer_xe_2015.3.187/mkl/lib/intel64:/opt/intel/composer_xe_2015.3.187/tbb/lib/intel64/gcc4.1:/opt/intel/composer_xe_2015.3.187/debugger/libipt/intel64/lib:/usr/lib64/openmpi/lib:, ProcessExited(2)) [2] while loading /home/user/.julia/v0.5/ParallelAccelerator/deps/build.jl, in expression starting on line 94
==============================================================================================================================
=======================================================[ BUILD ERRORS ]=======================================================
WARNING: ParallelAccelerator had build errors.
packages with build errors remain installed in /home/user/.julia/v0.5 build the package(s) and all dependencies with Pkg.build("ParallelAccelerator") build a single package by running its deps/build.jl script
INFO: Package database updated