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

Add new Dockerfile for ubuntu 20.04 #437

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

filipenf
Copy link

@filipenf filipenf commented Oct 9, 2023

I tried building mcrouter using the existing dockerfile but it is not working with Ubuntu 20.04 currently - it seems others are facing similar issues: #413 and #411

To get it to work, I started a new dockerfile using multi-stage build so there's no need to run a clean-up at the end of the process, it also takes advantage of docker cache so builds are faster and removes the need for maintaining several scripts for install/cleanup

Please let me know if there's interest in getting this merged or if I'm on the wrong path :-)

@facebook-github-bot
Copy link
Contributor

Hi @filipenf!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@bmm-alc
Copy link

bmm-alc commented Mar 28, 2024

Hi @filipenf

Thansk for the docker file.
For information, the build because of an error in folly
I'm not able to troubleshoot but I saw some people pins the dependencies version because of the moving pieces involve in the build (see #394 (comment))

[  6%] Building CXX object CMakeFiles/folly_base.dir/ScopeGuard.cpp.o
In file included from /usr/local/mcrouter/install/include/fmt/format.h:54,
                 from /usr/local/mcrouter/pkgs/folly/folly/FBString.h:34,
                 from /usr/local/mcrouter/pkgs/folly/folly/IPAddressV4.h:34,
                 from /usr/local/mcrouter/pkgs/folly/folly/IPAddress.h:38,
                 from /usr/local/mcrouter/pkgs/folly/folly/IPAddress.cpp:17:
/usr/local/mcrouter/install/include/fmt/base.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::context; T = folly::Range<const char*>; typename std::enable_if<PACKED, int>::type <anonymous> = 0]':
/usr/local/mcrouter/install/include/fmt/base.h:2007:74:   required from 'constexpr fmt::v10::detail::format_arg_store<Context, NUM_ARGS, 0, DESC> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::context; T = {folly::Range<const char*>}; long unsigned int NUM_ARGS = 1; long unsigned int NUM_NAMED_ARGS = 0; long long unsigned int DESC = 15; typename std::enable_if<(NUM_NAMED_ARGS == 0), int>::type <anonymous> = 0]'
/usr/local/mcrouter/install/include/fmt/format.h:4386:44:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {folly::Range<const char*>&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, folly::Range<const char*>&>]'
/usr/local/mcrouter/pkgs/folly/folly/IPAddress.cpp:102:20:   required from here
/usr/local/mcrouter/install/include/fmt/base.h:1599:17: error: static assertion failed: Mixing character types is disallowed.
 1599 |   static_assert(formattable_char, "Mixing character types is disallowed.");
      |                 ^~~~~~~~~~~~~~~~
/usr/local/mcrouter/install/include/fmt/base.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::context; T = const folly::Range<const char*>; typename std::enable_if<PACKED, int>::type <anonymous> = 0]':
/usr/local/mcrouter/install/include/fmt/base.h:2007:74:   required from 'constexpr fmt::v10::detail::format_arg_store<Context, NUM_ARGS, 0, DESC> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::context; T = {const folly::Range<const char*>}; long unsigned int NUM_ARGS = 1; long unsigned int NUM_NAMED_ARGS = 0; long long unsigned int DESC = 15; typename std::enable_if<(NUM_NAMED_ARGS == 0), int>::type <anonymous> = 0]'
/usr/local/mcrouter/install/include/fmt/format.h:4386:44:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {const folly::Range<const char*>&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const folly::Range<const char*>&>]'
/usr/local/mcrouter/pkgs/folly/folly/IPAddress.cpp:113:57:   required from here
/usr/local/mcrouter/install/include/fmt/base.h:1599:17: error: static assertion failed: Mixing character types is disallowed.
In file included from /usr/local/mcrouter/install/include/fmt/format.h:54,
                 from /usr/local/mcrouter/pkgs/folly/folly/FBString.h:34,
                 from /usr/local/mcrouter/pkgs/folly/folly/IPAddressV6.h:37,
                 from /usr/local/mcrouter/pkgs/folly/folly/IPAddressV6.cpp:17:
/usr/local/mcrouter/install/include/fmt/base.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::context; T = folly::Range<const char*>; typename std::enable_if<PACKED, int>::type <anonymous> = 0]':
/usr/local/mcrouter/install/include/fmt/base.h:2007:74:   required from 'constexpr fmt::v10::detail::format_arg_store<Context, NUM_ARGS, 0, DESC> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::context; T = {folly::Range<const char*>}; long unsigned int NUM_ARGS = 1; long unsigned int NUM_NAMED_ARGS = 0; long long unsigned int DESC = 15; typename std::enable_if<(NUM_NAMED_ARGS == 0), int>::type <anonymous> = 0]'
/usr/local/mcrouter/install/include/fmt/format.h:4386:44:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {folly::Range<const char*>&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, folly::Range<const char*>&>]'
/usr/local/mcrouter/pkgs/folly/folly/IPAddressV6.cpp:216:53:   required from here
/usr/local/mcrouter/install/include/fmt/base.h:1599:17: error: static assertion failed: Mixing character types is disallowed.
 1599 |   static_assert(formattable_char, "Mixing character types is disallowed.");
      |                 ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/folly_base.dir/build.make:258: CMakeFiles/folly_base.dir/IPAddressV4.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/folly_base.dir/build.make:271: CMakeFiles/folly_base.dir/IPAddressV6.cpp.o] Error 1
make[2]: *** [CMakeFiles/folly_base.dir/build.make:245: CMakeFiles/folly_base.dir/IPAddress.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:197: CMakeFiles/folly_base.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

@filipenf
Copy link
Author

@bmm-alc yeah that makes sense, I'll look into pinning the version when I have some time

@bmm-alc
Copy link

bmm-alc commented Mar 29, 2024 via email

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

Successfully merging this pull request may close these issues.

None yet

3 participants