!gcc-5.1.0/RaspberryPi [Cilkplus on RPi2B|https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=102743]を参考に ::必要そうなものをインストール sudo apt-get install \ libgmp-dev libmpfi-dev libmpc-dev \ autogen autoconf subversion libisl-dev make gcc flex bison g++ \ gcc-4.8 g++-4.8 ::スワップを用意 sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ::autoconf関連 * configure.acのAC_PREFREQの値を2.64から2.69に * config/override.m4の_GCC_AUTOCONF_VERSIONの値を2.64から2.69に ::Cilk関連(RPi2の場合) * libcilkrts/configure.tgtのUNSUPPORTED=1をコメントアウト(0にする,では駄目) * libcilkrts/runtime/config/generic/cilk-abi-vla.c の vla_internal_heap_freeの第一引数を t から p に * libcilkrts/runtime/config/generic/os-fence.hの↓をコメントアウト COMMON_SYSDEP void __cilkrts_fence(void); ///< MFENCE instruction * libcilkrts/runtime/config/generic/os-fence.hに↓を追加 #define __cilkrts_fence() __asm__ volatile ("DSB") ARMv7にあるDSB命令(Data Synchronization Barrier)を使うということらしい. ::configure RPi2の場合 CC=gcc-4.8 ../configure \ --enable-languages=c,c++ \ --prefix=/usr/local/gcc-5.1.0 \ --target=arm-linux-gnueabihf \ --with-arch=armv7-a --with-fpu=vfp --with-float=hard \ --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf RPiの場合 CC=gcc-4.8 ../configure \ --enable-languages=c,c++ \ --prefix=/usr/local/gcc-5.1.0 \ --target=arm-linux-gnueabihf \ --with-fpu=vfp --with-float=hard \ --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf :: make RPi2は4コアなのでmake -j4とかしてもよいかも. ::関連情報 * [ARM Options - Using the GNU Compiler Collection (GCC)|https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html] ARM用のコンパイルオプションq * [Compiling for Raspberry Pi2|https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=98354] フォーラムのコンパイルオプションについてのスレッド