mcandre / rez

C/C++ task runner
Other
3 stars 1 forks source link

DragonflyBSD port #40

Closed mcandre closed 2 years ago

mcandre commented 2 years ago

Reference material:

Trace:

$ snek -d
config loaded

debug: true
build_command: ./clean-cmake.sh; cmake . && VERBOSE=1 cmake --build . --config Release
ships:
  - image: mcandre/snek:dragonflybsd
    targets:
      - x86_64-unknown-dragonflybsd

cwd: /home/andrew/go/src/github.com/mcandre/rez
building x86_64-unknown-dragonflybsd
command: docker run --rm -e TARGET=x86_64-unknown-dragonflybsd -v /home/andrew/go/src/github.com/mcandre/rez:/src mcandre/snek:dragonflybsd sh -c "./clean-cmake.sh; cmake . && VERBOSE=1 cmake --build . --config Release"
-- The C compiler identification is Clang 10.0.0
-- The CXX compiler identification is Clang 10.0.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /src
/usr/bin/cmake -S/src -B/src --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /src/CMakeFiles /src/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/src'
/usr/bin/make -f CMakeFiles/rez.dir/build.make CMakeFiles/rez.dir/depend
make[2]: Entering directory '/src'
cd /src && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /src /src /src /src /src/CMakeFiles/rez.dir/DependInfo.cmake --color=
Dependee "/src/CMakeFiles/rez.dir/DependInfo.cmake" is newer than depender "/src/CMakeFiles/rez.dir/depend.internal".
Dependee "/src/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/src/CMakeFiles/rez.dir/depend.internal".
Scanning dependencies of target rez
make[2]: Leaving directory '/src'
/usr/bin/make -f CMakeFiles/rez.dir/build.make CMakeFiles/rez.dir/build
make[2]: Entering directory '/src'
[ 33%] Building CXX object CMakeFiles/rez.dir/src/cmd/rez/main.cpp.o
/usr/bin/c++ --target=x86_64-unknown-dragonflybsd --sysroot=/usr/local/x86_64-unknown-dragonflybsd   -I/usr/x86_64-unknown-dragonflybsd/include -I/usr/local/x86_64-unknown-dragonflybsd/usr/include/sys -I/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0 -I/src/include  -B /usr/local/x86_64-unknown-dragonflybsd/usr/lib -B /usr/local/x86_64-unknown-dragonflybsd/usr/lib/gcc80 -L /usr/local/x86_64-unknown-dragonflybsd/usr/lib -L /usr/local/x86_64-unknown-dragonflybsd/usr/lib/gcc80 -O3 -Werror -std=c++17 -Wextra -Wall -pedantic -Wno-unused-command-line-argument -Weffc++ -Wmost   -o CMakeFiles/rez.dir/src/cmd/rez/main.cpp.o -c /src/src/cmd/rez/main.cpp
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:48:11: error: no member named 'int8_t' in the global namespace
  using ::int8_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:49:11: error: no member named 'int16_t' in the global namespace
  using ::int16_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:50:11: error: no member named 'int32_t' in the global namespace
  using ::int32_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:51:11: error: no member named 'int64_t' in the global namespace
  using ::int64_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:53:11: error: no member named 'int_fast8_t' in the global namespace; did you mean '__int_fast8_t'?
  using ::int_fast8_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:92:19: note: '__int_fast8_t' declared here
typedef __int32_t       __int_fast8_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:54:11: error: no member named 'int_fast16_t' in the global namespace; did you mean '__int_fast16_t'?
  using ::int_fast16_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:93:19: note: '__int_fast16_t' declared here
typedef __int32_t       __int_fast16_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:55:11: error: no member named 'int_fast32_t' in the global namespace; did you mean '__int_fast32_t'?
  using ::int_fast32_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:94:19: note: '__int_fast32_t' declared here
typedef __int32_t       __int_fast32_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:56:11: error: no member named 'int_fast64_t' in the global namespace; did you mean '__int_fast64_t'?
  using ::int_fast64_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:95:19: note: '__int_fast64_t' declared here
typedef __int64_t       __int_fast64_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:58:11: error: no member named 'int_least8_t' in the global namespace; did you mean '__int_least8_t'?
  using ::int_least8_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:96:18: note: '__int_least8_t' declared here
typedef __int8_t        __int_least8_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:59:11: error: no member named 'int_least16_t' in the global namespace; did you mean '__int_least16_t'?
  using ::int_least16_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:97:19: note: '__int_least16_t' declared here
typedef __int16_t       __int_least16_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:60:11: error: no member named 'int_least32_t' in the global namespace; did you mean '__int_least32_t'?
  using ::int_least32_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:98:19: note: '__int_least32_t' declared here
typedef __int32_t       __int_least32_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:61:11: error: no member named 'int_least64_t' in the global namespace; did you mean '__int_least64_t'?
  using ::int_least64_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:99:19: note: '__int_least64_t' declared here
typedef __int64_t       __int_least64_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:63:11: error: no member named 'intmax_t' in the global namespace; did you mean '__intmax_t'?
  using ::intmax_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:85:19: note: '__intmax_t' declared here
typedef __int64_t       __intmax_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:64:11: error: no member named 'intptr_t' in the global namespace; did you mean '__intptr_t'?
  using ::intptr_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/machine/stdint.h:88:19: note: '__intptr_t' declared here
typedef __intlp_t       __intptr_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:66:11: error: no member named 'uint8_t' in the global namespace; did you mean 'u_int8_t'?
  using ::uint8_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/sys/types.h:59:19: note: 'u_int8_t' declared here
typedef __uint8_t       u_int8_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:67:11: error: no member named 'uint16_t' in the global namespace; did you mean 'u_int16_t'?
  using ::uint16_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/sys/types.h:60:20: note: 'u_int16_t' declared here
typedef __uint16_t      u_int16_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:68:11: error: no member named 'uint32_t' in the global namespace; did you mean 'u_int32_t'?
  using ::uint32_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/sys/types.h:61:20: note: 'u_int32_t' declared here
typedef __uint32_t      u_int32_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:69:11: error: no member named 'uint64_t' in the global namespace; did you mean 'u_int64_t'?
  using ::uint64_t;
        ~~^
/usr/local/x86_64-unknown-dragonflybsd/usr/include/sys/types.h:62:20: note: 'u_int64_t' declared here
typedef __uint64_t      u_int64_t;
                        ^
In file included from /src/src/cmd/rez/main.cpp:7:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/iostream:39:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ostream:38:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/ios:40:
In file included from /usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/bits/char_traits.h:503:
/usr/local/x86_64-unknown-dragonflybsd/usr/include/c++/8.0/cstdint:71:11: error: no member named 'uint_fast8_t' in the global namespace
  using ::uint_fast8_t;
        ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/rez.dir/build.make:63: CMakeFiles/rez.dir/src/cmd/rez/main.cpp.o] Error 1
make[2]: Leaving directory '/src'
make[1]: Leaving directory '/src'
make[1]: *** [CMakeFiles/Makefile2:84: CMakeFiles/rez.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
error running toolchain command: docker run --rm -e TARGET=x86_64-unknown-dragonflybsd -v /home/andrew/go/src/github.com/mcandre/rez:/src mcandre/snek:dragonflybsd sh -c "./clean-cmake.sh; cmake . && VERBOSE=1 cmake --build . --config Release" status: 512
mcandre commented 2 years ago

Managed to resolve all the include and linker errors. One of the components missing from the base gcc installation is the file system library. This is provided with a separate package:

https://avalon.dragonflybsd.org/dports/dragonfly:6.2:x86:64/LATEST/All/cxxfs_gcc8-8.0.txz

Will cleanup all the debugging junk and prepare a merge.