tracktwo / xcomsave

46 stars 16 forks source link

Build fails on steam deck #29

Open RobertoD91 opened 1 year ago

RobertoD91 commented 1 year ago

Build fails on steam deck:

(deck@steamdeck build)$ cmake ..
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/deck/xcomsave/build
(deck@steamdeck build)$ make
[  3%] Building C object CMakeFiles/zlib.dir/zlib/adler32.c.o
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed/limits.h:34,
                 from /home/deck/xcomsave/zlib/zconf.h:424,
                 from /home/deck/xcomsave/zlib/zlib.h:34,
                 from /home/deck/xcomsave/zlib/zutil.h:22,
                 from /home/deck/xcomsave/zlib/adler32.c:8:
/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed/limits.h:203:15: fatal error: limits.h: No such file or directory
  203 | #include_next <limits.h>                /* recurse down to the real one */
      |               ^~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/zlib.dir/build.make:76: CMakeFiles/zlib.dir/zlib/adler32.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:89: CMakeFiles/zlib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

However building in a arch docker is ok. Example docker:

FROM archlinux

RUN pacman -Sy --noconfirm 
RUN pacman -Sy --noconfirm git
RUN pacman -Sy --noconfirm base-devel
RUN pacman -Sy --noconfirm cmake
WORKDIR /app
RUN git clone --recursive https://github.com/tracktwo/xcomsave.git
WORKDIR /app/xcomsave/
RUN mkdir build
WORKDIR /app/xcomsave/build/
RUN cmake ..
RUN make

I'm a neophyte with Arch, I don't think it's a bug of the xcomsave project, but I'll open the issue anyway in case it's useful to someone...

Maybe it would be useful to include in the releases a compiled version for linux and mac.

shaygover commented 1 year ago

The easy solution will be to build it somewhere else.

tracktwo commented 1 year ago

This looks like a missing package. I took a look at the header on my linux system and the code around the lines listed looks like it's trying to use the system's limits.h, but that doesn't exist for you. Do you have anything in /usr/include? You may be able to install the glibc package (if that exists for steam deck... I have basically 0 knowledge of the system).