tamatebako / tebako

Tebako: an executable packager (for Ruby programs)
https://www.tebako.org
41 stars 6 forks source link

Tebako does not build on Mac with the latest version of fmt #193

Closed d4rky-pl closed 2 weeks ago

d4rky-pl commented 2 weeks ago

Considering it works locally but stopped working on CI without touching anything I assume it's yet another upstream dependency getting updated but this time I don't have time to investigate in-depth:

/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-build/_deps/fmt-src/src/os.cc:300:12: error: out-of-line definition of 'pipe' does not match any declaration in 'fmt::file'
void file::pipe(file& read_end, file& write_end) {
           ^~~~
/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-build/_deps/fmt-src/src/os.cc:373:19: error: out-of-line definition of 'grow' does not match any declaration in 'fmt::detail::file_buffer'
void file_buffer::grow(size_t) {
                  ^~~~
/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-build/_deps/fmt-src/src/os.cc:377:14: error: constructor for 'fmt::detail::file_buffer' must explicitly initialize the base class 'buffer<char>' which does not have a default constructor
file_buffer::file_buffer(cstring_view path,
             ^
/usr/local/include/fmt/base.h:852:29: note: 'fmt::detail::buffer<char>' declared here
template <typename T> class buffer {
                            ^
/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-build/_deps/fmt-src/src/os.cc:383:14: error: 'file_buffer' is missing exception specification 'noexcept'
file_buffer::file_buffer(file_buffer&& other)
             ^
                                              noexcept
/usr/local/include/fmt/os.h:369:11: note: previous declaration is here
  FMT_API file_buffer(file_buffer&& other) noexcept;
          ^
/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-build/_deps/fmt-src/src/os.cc:384:7: error: no matching constructor for initialization of 'buffer<char>'
    : detail::buffer<char>(other.data(), other.size(), other.capacity()),
      ^                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/fmt/base.h:867:13: note: candidate constructor not viable: no known conversion from 'char *' to 'grow_fun' (aka 'void (*)(fmt::detail::buffer<char> &, unsigned long)') for 1st argument
  constexpr buffer(grow_fun grow, T* p = nullptr, size_t sz = 0,
            ^
/usr/local/include/fmt/base.h:864:19: note: candidate constructor not viable: requires 2 arguments, but 3 were provided
  FMT_CONSTEXPR20 buffer(grow_fun grow, size_t sz) noexcept
                  ^
/usr/local/include/fmt/base.h:872:3: note: candidate constructor not viable: requires 1 argument, but 3 were provided
  buffer(buffer&&) = default;
  ^
/usr/local/include/fmt/base.h:884:3: note: candidate constructor not viable: requires 1 argument, but 3 were provided
  buffer(const buffer&) = delete;
  ^
-- Looking for lzma_auto_decoder in /Applications/Xcode-15.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/lib/liblzma.tbd - found
-- Looking for lzma_easy_encoder in /Applications/Xcode-15.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/lib/liblzma.tbd
5 errors generated.
make[9]: *** [_deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o] Error 1
make[9]: *** Waiting for unfinished jobs....
make[7]: *** [all] Error 2
make[6]: *** [/Users/semaphore/.tebako/deps/src/_dwarfs_wr/deps/src/_dwarfs-stamp/_dwarfs-build] Error 2
make[5]: *** [CMakeFiles/_dwarfs.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [/Users/semaphore/.tebako/deps/src/_dwarfs_wr-stamp/_dwarfs_wr-build] Error 2
make[2]: *** [CMakeFiles/_dwarfs_wr.dir/all] Error 2
make[1]: *** [CMakeFiles/setup.dir/rule] Error 2
make: *** [setup] Error 2
Tebako script failed: 'tebako setup' build step failed [102]

Both M2 and Intel were affected

d4rky-pl commented 2 weeks ago
==> Upgrading fmt
  10.2.1_1 -> 11.0.2

Now it also fails locally 👍 Seems like an encore of #183 but for a different package this time

maxirmx commented 2 weeks ago

@d4rky-pl gem version 0.8.5 shall fix it Thank you for reporting, I have checked other libraries as well to be sure that the order of include files is correct