dancsi / OrthoCCTools

Computational coiled-coil peptide design toolkit, written in modern C++
https://www.dancsi.net/icipa
MIT License
3 stars 2 forks source link

Compiling with 32 bit platform #22

Closed ajasja closed 3 years ago

ajasja commented 7 years ago

Hi!

This is really a low priority. If I try to compile solver in 32 bits gcc on my laptop I get.

g++ -O3 -std=c++11 src/solver.cpp src/mman.c -o solver.exe
In file included from src/solver.cpp:10:0:
src/ioutil.h: In function 'float** read_scores_binary(std::__cxx11::string, std::__cxx11::string)':
src/ioutil.h:161:16: error: variable 'read_scores_binary(std::__cxx11::string, std::__cxx11::string)::stat64 fileInfo' has initializer but incomplete type
  struct stat64 fileInfo = { 0 };
                ^
src/ioutil.h:163:27: error: 'fstat64' was not declared in this scope
  if (fstat64(fd, &fileInfo) == -1)
                           ^
src/mman.c: In function 'void* mmap(void*, size_t, int, int, int, size_t)':
src/mman.c:72:48: warning: right shift count >= width of type [-Wshift-count-overflow]
                     (DWORD)0 : (DWORD)((off >> 32) & 0xFFFFFFFFL);
                                                ^
src/mman.c:81:52: warning: right shift count >= width of type [-Wshift-count-overflow]
                     (DWORD)0 : (DWORD)((maxSize >> 32) & 0xFFFFFFFFL);
                                                    ^
make: *** [solver.exe] Error 1

Is it possible to have the fstat64 work in 32 and 64 bit? (I realize that there is then probably a 4 GB limit on file size...?)