make error : ‘ceil’ was not declared in this scope
Opened this issue · 5 comments
Error Message during compilation .
make
g++ -I inc -I /usr/include/cryptopp -I sdk -std=c++0x -O0 -g -fstack-protector-all -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/x86_64-linux-gnu -I/usr/include/fuse -D_GLIBCXX_DEBUG -c src/file_cache_row.cpp -o src/file_cache_row.o
src/file_cache_row.cpp: In static member function ‘static int CacheManager::numChunks(size_t)’:
src/file_cache_row.cpp:72:59: error: ‘ceil’ was not declared in this scope
return 8 + ceil(float(pos-end)/(8.0*ChunkedHash::SEGSIZE));
^
Makefile:43 : la recette pour la cible « src/file_cache_row.o » a échouée
make: *** [src/file_cache_row.o] Erreur 1
Edit file: src/file_cache_row.cpp
Insert after line 9:
#include <cmath>
In like 73 change "ceil" to 'std::ceil'. Like this:
return 8 + std::ceil(float(pos-end)/(8.0*ChunkedHash::SEGSIZE));
Try compile again...
In fedora 25 minimal works fine! Thank you
Same problem and fix works on Debian 9.
Same problem and fix works in Raspbian based on Debian 9
Same problem and fix in Ubuntu 18.04.1