mikrosimage / duke

Duke is an opensource high resolution image and sequence viewer dedicated to visual effect and post production companies.
MIT License
109 stars 22 forks source link

Compile error on linux 64 #46

Closed aditiapratama closed 11 years ago

aditiapratama commented 11 years ago

Here's the LOG when I tried to compile duke

make
make[1]: Entering directory `/home/aditia/git/duke/build'
make[2]: Entering directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
[ 24%] Built target glfw
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
[ 26%] Generating HTML documentation
make[3]: Leaving directory `/home/aditia/git/duke/build'
[ 26%] Built target docs
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
[ 27%] Building CXX object src/duke/CMakeFiles/duke_core.dir/engine/ColorSpace.cpp.o
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp: In function ‘const char* duke::getToLinearFunction(duke::ColorSpace)’:
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp:84:19: error: ‘runtime_error’ is not a member of ‘std’
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp: In function ‘const char* duke::getToScreenFunction(duke::ColorSpace)’:
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp:99:19: error: ‘runtime_error’ is not a member of ‘std’
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp:101:1: warning: control reaches end of non-void function [-Wreturn-type]
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp: In function ‘const char* duke::getToLinearFunction(duke::ColorSpace)’:
/home/aditia/git/duke/src/duke/engine/ColorSpace.cpp:86:1: warning: control reaches end of non-void function [-Wreturn-type]
make[3]: *** [src/duke/CMakeFiles/duke_core.dir/engine/ColorSpace.cpp.o] Error 1
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[2]: *** [src/duke/CMakeFiles/duke_core.dir/all] Error 2
make[2]: Leaving directory `/home/aditia/git/duke/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/aditia/git/duke/build'
make: *** [all] Error 2
cpichard commented 11 years ago

Hi,

could you add the version of g++ you are using (assuming you use gcc on linux) g++ --version

Thanks !

aditiapratama commented 11 years ago

here's my g++ version

g++ (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
gchatelet commented 11 years ago

Indeed we need to add

include

in this file. I'll add it in a quick fix : hold on !

cpichard commented 11 years ago

Could you try to add the following line:

include

in /home/aditia/git/duke/src/duke/engine/ColorSpace.cpp just before

include "duke/StringUtils.hpp"

That should fix this issue with gcc 4.7. I'll make a patch later if this works. Thanks.

C

cpichard commented 11 years ago

you were too fast Guillaume :)

gchatelet commented 11 years ago

Should be ok now @aditiapratama : ) If you can check it for me

aditiapratama commented 11 years ago

now I've got another issue, compiling OK but then ...

make
make[1]: Entering directory `/home/aditia/git/duke/build'
make[2]: Entering directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
[ 24%] Built target glfw
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
[ 26%] Generating HTML documentation
make[3]: Leaving directory `/home/aditia/git/duke/build'
[ 26%] Built target docs
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
[ 93%] Built target duke_core
make[3]: Entering directory `/home/aditia/git/duke/build'
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[3]: Entering directory `/home/aditia/git/duke/build'
Linking CXX executable duke
libduke_core.a(Benchmark.cpp.o):Benchmark.cpp:function duke::benchmark(): error: undefined reference to 'std::chrono::steady_clock::now()'
libduke_core.a(Benchmark.cpp.o):Benchmark.cpp:function duke::benchmark(): error: undefined reference to 'std::chrono::steady_clock::now()'
libduke_core.a(DukeMainWindow.cpp.o):DukeMainWindow.cpp:function duke::DukeMainWindow::run(): error: undefined reference to 'std::chrono::steady_clock::now()'
libduke_core.a(DukeMainWindow.cpp.o):DukeMainWindow.cpp:function duke::DukeMainWindow::run(): error: undefined reference to 'std::chrono::steady_clock::now()'
collect2: error: ld returned 1 exit status
make[3]: *** [src/duke/duke] Error 1
make[3]: Leaving directory `/home/aditia/git/duke/build'
make[2]: *** [src/duke/CMakeFiles/duke.dir/all] Error 2
make[2]: Leaving directory `/home/aditia/git/duke/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/aditia/git/duke/build'
make: *** [all] Error 2
gchatelet commented 11 years ago

Can you please open another bug and drop the compilation log with "make VERBOSE=1" ?

Looks like it's related to this issue though. I'm surprised it works on g++4.8 but not on g++ 4.7.3.