nguyenminhduc9988 / gpuocelot

Automatically exported from code.google.com/p/gpuocelot
0 stars 0 forks source link

Install Compile Failue on ArchLinux 64 bit Boost 1.43 #45

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. install boost
2. install glew
3. ocelot make fails

What is the expected output? What do you see instead?
compiler error

What version of the product are you using? On what operating system?
Archlinux circa Oct. 2010
boost library 1.43.0-1

Please provide any additional information below.

During make the following error from a boost include file is observed:
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I ./ocelot/cuda/include -Wall -ansi 
-Werror -std=c++0x -g -O2 -MT libocelot_la-KernelEntry.lo -MD -MP -MF 
.deps/libocelot_la-KernelEntry.Tpo -c 
ocelot/trace/implementation/KernelEntry.cpp  -fPIC -DPIC -o 
.libs/libocelot_la-KernelEntry.o
In file included from /usr/include/boost/interprocess/sync/file_lock.hpp:24:0,
                 from ocelot/trace/implementation/KernelEntry.cpp:22:
/usr/include/boost/interprocess/detail/move.hpp: In function ‘typename 
boost::remove_reference<T>::type&& boost::interprocess::move(T&&) [with T = 
boost::interprocess::file_lock&, typename boost::remove_reference<T>::type = 
boost::interprocess::file_lock]’:
/usr/include/boost/interprocess/sync/file_lock.hpp:68:52:   instantiated from 
here
/usr/include/boost/interprocess/detail/move.hpp:342:11: error: invalid 
initialization of reference of type 
‘boost::remove_reference<boost::interprocess::file_lock&>::type&&’ from 
expression of type ‘boost::interprocess::file_lock’
make[1]: *** [libocelot_la-KernelEntry.lo] Error 1
make[1]: Leaving directory `/opt/ocelot-1.1.560'
make: *** [all] Error 2

Original issue reported on code.google.com by mcbromb...@gmail.com on 14 Oct 2010 at 5:51

GoogleCodeExporter commented 9 years ago
forgot to mention that Archlinux is now using gcc 4.5.1

Original comment by mcbromb...@gmail.com on 14 Oct 2010 at 5:53

GoogleCodeExporter commented 9 years ago
OK this is a known bug in the latest boost.  You can get past it via this patch:
https://svn.boost.org/trac/boost/ticket/4426

This patch is technically for boost v 1.44 and I'm applying it to 1.43, but it 
gets me past that error.
Unfortunately the make attempt will fail later on.  Here is the error I now get:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I ./ocelot/cuda/include -Wall -ansi 
-Werror -std=c++0x -g -O2 -MT libocelot_la-EmulatorDevice.lo -MD -MP -MF 
.deps/libocelot_la-EmulatorDevice.Tpo -c 
ocelot/executive/implementation/EmulatorDevice.cpp  -fPIC -DPIC -o 
.libs/libocelot_la-EmulatorDevice.o
ocelot/executive/implementation/EmulatorDevice.cpp:100:2: error: 
‘executive::EmulatorDevice::MemoryAllocation::MemoryAllocation’ names the 
constructor, not the type
ocelot/executive/implementation/EmulatorDevice.cpp:126:2: error: 
‘executive::EmulatorDevice::MemoryAllocation::MemoryAllocation’ names the 
constructor, not the type
make[1]: *** [libocelot_la-EmulatorDevice.lo] Error 1
make[1]: Leaving directory `/opt/ocelot-1.1.560'
make: *** [all] Error 2

Original comment by mcbromb...@gmail.com on 14 Oct 2010 at 6:17

GoogleCodeExporter commented 9 years ago
The error in EmulatorDevice has been fixed for a while in the trunk.  Try 
checking out from subversion and compiling that instead of 1.1.560.

Original comment by gregory....@gatech.edu on 14 Oct 2010 at 6:12