Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on debian:stable containers #1949

Closed
ErlendHaa opened this issue Oct 22, 2020 · 2 comments
Closed

Build fails on debian:stable containers #1949

ErlendHaa opened this issue Oct 22, 2020 · 2 comments

Comments

@ErlendHaa
Copy link

Hi!

Ever since e3b4c22 fmtlib fails to build in debian:stable in our CI pipeline on CircleCi. Like your own ci pipeline, our travis builds still builds fine. However, the commit before (da8278e) builds fine on Debian:stable, so it doesn't seam too be caused by any changes in the build environment. Any suggestions for what might cause the build to fail?

git clone https://github.com/fmtlib/fmt.git
mkdir fmt/build
cd fmt/build
cmake -DFMT_TEST=OFF -DFMT_DOC=OFF ..
make

Cloning into 'fmt'...
remote: Enumerating objects: 66, done.        
remote: Counting objects: 100% (66/66), done.        
remote: Compressing objects: 100% (33/33), done.        
remote: Total 23329 (delta 34), reused 48 (delta 24), pack-reused 23263        
Receiving objects: 100% (23329/23329), 11.41 MiB | 29.73 MiB/s, done.
Resolving deltas: 100% (15822/15822), done.
-- CMake version: 3.13.4
-- The CXX compiler identification is GNU 8.3.0
-- 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
-- Version: 7.0.4
-- Build type: Release
-- CXX_STANDARD: 11
-- Performing Test has_std_11_flag
-- Performing Test has_std_11_flag - Success
-- Performing Test has_std_0x_flag
-- Performing Test has_std_0x_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/circleci/project/fmt/build
Scanning dependencies of target fmt
[ 33%] Building CXX object CMakeFiles/fmt.dir/src/format.cc.o
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h: In function ‘void fmt::v7::detail::format_error_code(fmt::v7::detail::buffer<char>&, int, fmt::v7::string_view)’:
/home/circleci/project/fmt/include/fmt/format-inl.h:148:39: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>&, const char [5], fmt::v7::string_view&, const char [3])’
     format_to(it, "{}{}", message, SEP);
                                       ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:148:39: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
     format_to(it, "{}{}", message, SEP);
                                       ^
/home/circleci/project/fmt/include/fmt/format-inl.h:149:46: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>&, const char [5], const char [7], int&)’
   format_to(it, "{}{}", ERROR_STR, error_code);
                                              ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:149:46: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
   format_to(it, "{}{}", ERROR_STR, error_code);
                                              ^
/home/circleci/project/fmt/include/fmt/format-inl.h: In member function ‘fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<char>, char>::iterator fmt::v7::formatter<fmt::v7::detail::bigint>::format(const fmt::v7::detail::bigint&, fmt::v7::format_context&)’:
/home/circleci/project/fmt/include/fmt/format-inl.h:2662:43: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>&, const char [5], unsigned int&)’
         out = format_to(out, "{:x}", value);
                                           ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:2662:43: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
         out = format_to(out, "{:x}", value);
                                           ^
/home/circleci/project/fmt/include/fmt/format-inl.h:2666:43: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>&, const char [7], unsigned int&)’
       out = format_to(out, "{:08x}", value);
                                           ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:2666:43: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
       out = format_to(out, "{:08x}", value);
                                           ^
/home/circleci/project/fmt/include/fmt/format-inl.h:2669:70: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>&, const char [4], int)’
       out = format_to(out, "p{}", n.exp_ * detail::bigint::bigit_bits);
                                                                      ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:2669:70: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
       out = format_to(out, "p{}", n.exp_ * detail::bigint::bigit_bits);
                                                                      ^
/home/circleci/project/fmt/include/fmt/format-inl.h: In function ‘void fmt::v7::format_system_error(fmt::v7::detail::buffer<char>&, int, fmt::v7::string_view)’:
/home/circleci/project/fmt/include/fmt/format-inl.h:2716:33: error: no matching function for call to ‘format_to(fmt::v7::detail::buffer_appender<char>, const char [7], fmt::v7::string_view&, char*&)’
                   system_message);
                                 ^
In file included from /home/circleci/project/fmt/include/fmt/format.h:44,
                 from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note: candidate: ‘template<class OutputIt, class S, class ... Args, class Char, typename std::enable_if<(fmt::v7::detail::is_output_iterator<OutputIt, Char>::value && fmt::v7::detail::is_string<S>::value), int>::type <anonymous> > OutputIt fmt::v7::format_to(OutputIt, const S&, Args&& ...)’
 inline OutputIt format_to(OutputIt out, const S& format_str, Args&&... args) {
                 ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/core.h:1995:17: note:   template argument deduction/substitution failed:
/home/circleci/project/fmt/include/fmt/core.h:277:62: error: no type named ‘type’ in ‘struct std::enable_if<false, int>’
 #define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0
                                                              ^
/home/circleci/project/fmt/include/fmt/core.h:1993:11: note: in expansion of macro ‘FMT_ENABLE_IF’
           FMT_ENABLE_IF(detail::is_output_iterator<OutputIt, Char>::value&&
           ^~~~~~~~~~~~~
In file included from /home/circleci/project/fmt/include/fmt/format-inl.h:28,
                 from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note: candidate: ‘template<class S, class ... Args, long unsigned int SIZE, class Char> typename fmt::v7::buffer_context<Char>::iterator fmt::v7::format_to(fmt::v7::basic_memory_buffer<Char, SIZE>&, const S&, Args&& ...)’
 inline typename buffer_context<Char>::iterator format_to(
                                                ^~~~~~~~~
/home/circleci/project/fmt/include/fmt/format.h:3822:48: note:   template argument deduction/substitution failed:
In file included from /home/circleci/project/fmt/src/format.cc:8:
/home/circleci/project/fmt/include/fmt/format-inl.h:2716:33: note:   ‘fmt::v7::detail::buffer_appender<char>’ is not derived from ‘fmt::v7::basic_memory_buffer<Char, SIZE>’
                   system_message);
                                 ^
make[2]: *** [CMakeFiles/fmt.dir/build.make:63: CMakeFiles/fmt.dir/src/format.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/fmt.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Exited with code exit status 2```
@moiwi
Copy link
Contributor

moiwi commented Oct 22, 2020

I have exactly the same problem (with gcc version 8.1.0).

@vitaut
Copy link
Contributor

vitaut commented Oct 22, 2020

This is a bug in gcc 8. Worked around in 8de9681, thanks for reporting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants