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

No build support for Fedora37 OS #311

Open
gaowayne opened this issue May 10, 2024 · 4 comments
Open

No build support for Fedora37 OS #311

gaowayne opened this issue May 10, 2024 · 4 comments

Comments

@gaowayne
Copy link

Hello CacheLib expert, I am trying to build CacheLib on Fedora37 OS. but I met below error

BENCHMARKS.md  BUILD.md  cachelib  CacheLib-Logo.png  CHANGELOG.md  CODE_OF_CONDUCT.md  contrib  CONTRIBUTING.md  examples  LICENSE  README.md  website
(base) [root@cassiopeia CacheLib]# ./contrib/build.sh -d -j -v
build.sh: error: No build recipe for detected operating system 'fedora37'
(base) [root@cassiopeia CacheLib]# 
@therealgymmy
Copy link
Contributor

we haven't gotten around to add it yet. our trunk is broken right now due to a dependency. Can you try manually adding a build rule locally for fedora37? You can just search for fedora36 and copy paste. (Make sure you check out an earlier tagged release that builds successfully).

@gaowayne
Copy link
Author

thank you so much. I am trying manually build it.
here is error I found. :) I am using ubuntu 22.04 now

    runtime library [libglog.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /mnt/sdb/wayne/cachelib/CacheLib/opt/cachelib/lib

  Some of these libraries may not be found correctly.


CMake Warning at folly/logging/example/CMakeLists.txt:15 (add_executable):
  Cannot generate a safe runtime search path for target logging_example
  because files in some directories may conflict with libraries in implicit
  directories:

    runtime library [libglog.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /mnt/sdb/wayne/cachelib/CacheLib/opt/cachelib/lib

  Some of these libraries may not be found correctly.


-- Generating done
-- Build files have been written to: /mnt/sdb/wayne/cachelib/CacheLib/build-folly
Scanning dependencies of target folly_base
Consolidate compiler generated dependencies of target folly_base
[ 94%] Built target folly_base
[ 94%] Built target folly
Consolidate compiler generated dependencies of target folly_test_util
[ 95%] Built target folly_test_util
Consolidate compiler generated dependencies of target follybenchmark
[ 95%] Built target follybenchmark
Consolidate compiler generated dependencies of target folly_exception_tracer_base
[ 96%] Built target folly_exception_tracer_base
Consolidate compiler generated dependencies of target folly_exception_tracer
[ 97%] Built target folly_exception_tracer
Consolidate compiler generated dependencies of target folly_exception_counter
[ 98%] Built target folly_exception_counter
Consolidate compiler generated dependencies of target logging_example_lib
[ 99%] Built target logging_example_lib
Consolidate compiler generated dependencies of target logging_example
[ 99%] Linking CXX executable logging_example
/usr/bin/ld: ../../../libfolly.so.0.58.0-dev: undefined reference to `google::ErrnoLogMessage::ErrnoLogMessage(char const*, int, int, unsigned long, void (google::LogMessage::*)())'
collect2: error: ld returned 1 exit status
make[2]: *** [folly/logging/example/CMakeFiles/logging_example.dir/build.make:124: folly/logging/example/logging_example] Error 1
make[1]: *** [CMakeFiles/Makefile2:331: folly/logging/example/CMakeFiles/logging_example.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
build-package.sh: error: make failed
root@mlperfubuntu:/mnt/sdb/wayne/cachelib/CacheLib# 

@gaowayne
Copy link
Author

fedora36

buddy, I fixed Fedora37 error, the build continue until I see below error, could you please shed some light?

In file included from /mnt/nvme1n1/cachelib/CacheLib/CacheLib/cachelib/external/fizz/fizz/backend/openssl/crypto/ECCurve.h:11,
                 from /mnt/nvme1n1/cachelib/CacheLib/CacheLib/cachelib/external/fizz/fizz/backend/openssl/OpenSSLFactory.h:11:
/usr/include/openssl/evp.h:1370:5: note: declared here
 1370 | int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key);
      |     ^~~~~~~~~~~~~~~~~~~~
[ 97%] Linking CXX shared library lib/libfizz_test_support.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/fizz_test_support.dir/link.txt --verbose=YES
/usr/bin/c++ -fPIC -g -shared -Wl,-soname,libfizz_test_support.so -o lib/libfizz_test_support.so CMakeFiles/fizz_test_support.dir/crypto/aead/test/TestUtil.cpp.o CMakeFiles/fizz_test_support.dir/crypto/test/TestUtil.cpp.o CMakeFiles/fizz_test_support.dir/protocol/ech/test/TestUtil.cpp.o  -Wl,-rpath,/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz/lib:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib: lib/libfizz.so.1.0.0 /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libglogd.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libfolly.so.0.58.0-dev /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libfmtd.so.10.2.1 /usr/lib64/libboost_context.so.1.78.0 /usr/lib64/libboost_filesystem.so.1.78.0 /usr/lib64/libboost_atomic.so.1.78.0 /usr/lib64/libboost_program_options.so.1.78.0 /usr/lib64/libboost_regex.so.1.78.0 /usr/lib64/libboost_system.so.1.78.0 /usr/lib64/libboost_thread.so.1.78.0 -ldouble-conversion /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libglogd.so -levent -lz -lbz2 -llzma -llz4 -lsnappy -ldwarf -laio -luring -lsodium -ldl -lunwind -lssl -lcrypto /usr/lib64/libsodium.so /usr/lib64/libz.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libzstd.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libgflags_debug.so.2.2.2 
make[2]: Leaving directory '/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz'
[ 97%] Built target fizz_test_support
/mnt/nvme1n1/cachelib/CacheLib/CacheLib/cachelib/external/fizz/fizz/tool/FizzServerCommand.cpp: In member function ‘folly::ssl::EvpPkeyUniquePtr fizz::tool::{anonymous}::PrivateKeyMatcher::fetchKey(const folly::ssl::EvpPkeyUniquePtr&)’:
/mnt/nvme1n1/cachelib/CacheLib/CacheLib/cachelib/external/fizz/fizz/tool/FizzServerCommand.cpp:548:23: warning: ‘int EVP_PKEY_cmp(const EVP_PKEY*, const EVP_PKEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  548 |       if (EVP_PKEY_cmp(pubKey.get(), key.get()) == 1) {
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/evp.h:1418:5: note: declared here
 1418 | int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
      |     ^~~~~~~~~~~~
[ 98%] Linking CXX executable bin/fizz-bogoshim
/usr/bin/cmake -E cmake_link_script CMakeFiles/BogoShim.dir/link.txt --verbose=YES
/usr/bin/c++ -g -rdynamic CMakeFiles/BogoShim.dir/test/BogoShim.cpp.o -o bin/fizz-bogoshim  -Wl,-rpath,/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz/lib:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64: lib/libfizz.so.1.0.0 /usr/lib64/libsodium.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libfolly.so.0.58.0-dev /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libfmtd.so.10.2.1 /usr/lib64/libboost_context.so.1.78.0 /usr/lib64/libboost_filesystem.so.1.78.0 /usr/lib64/libboost_atomic.so.1.78.0 /usr/lib64/libboost_program_options.so.1.78.0 /usr/lib64/libboost_regex.so.1.78.0 /usr/lib64/libboost_system.so.1.78.0 /usr/lib64/libboost_thread.so.1.78.0 -ldouble-conversion /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libglogd.so -levent -lz -lbz2 -llzma -llz4 -lsnappy -ldwarf -laio -luring -lsodium -ldl -lunwind -lssl -lcrypto /usr/lib64/libz.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libzstd.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libgflags_debug.so.2.2.2 
make[2]: Leaving directory '/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz'
[ 98%] Built target BogoShim
[100%] Linking CXX executable bin/fizz
/usr/bin/cmake -E cmake_link_script CMakeFiles/FizzTool.dir/link.txt --verbose=YES
/usr/bin/c++ -g -rdynamic CMakeFiles/FizzTool.dir/tool/Main.cpp.o CMakeFiles/FizzTool.dir/tool/FizzClientCommand.cpp.o CMakeFiles/FizzTool.dir/tool/FizzClientLoadGenCommand.cpp.o CMakeFiles/FizzTool.dir/tool/FizzCommandCommon.cpp.o CMakeFiles/FizzTool.dir/tool/FizzGenerateDelegatedCredentialCommand.cpp.o CMakeFiles/FizzTool.dir/tool/FizzServerBenchmarkCommand.cpp.o CMakeFiles/FizzTool.dir/tool/FizzServerCommand.cpp.o -o bin/fizz  -Wl,-rpath,/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz/lib:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib:/mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64: lib/libfizz.so.1.0.0 /usr/lib64/libsodium.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libfolly.so.0.58.0-dev /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libfmtd.so.10.2.1 /usr/lib64/libboost_context.so.1.78.0 /usr/lib64/libboost_filesystem.so.1.78.0 /usr/lib64/libboost_atomic.so.1.78.0 /usr/lib64/libboost_program_options.so.1.78.0 /usr/lib64/libboost_regex.so.1.78.0 /usr/lib64/libboost_system.so.1.78.0 /usr/lib64/libboost_thread.so.1.78.0 -ldouble-conversion /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libglogd.so -levent -lz -lbz2 -llzma -llz4 -lsnappy -ldwarf -laio -luring -lsodium -ldl -lunwind -lssl -lcrypto /usr/lib64/libz.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib64/libzstd.so /mnt/nvme1n1/cachelib/CacheLib/CacheLib/opt/cachelib/lib/libgflags_debug.so.2.2.2 
/usr/bin/ld: CMakeFiles/FizzTool.dir/tool/FizzGenerateDelegatedCredentialCommand.cpp.o: in function `fizz::tool::fizzGenerateDelegatedCredentialCommand(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
/mnt/nvme1n1/cachelib/CacheLib/CacheLib/cachelib/external/fizz/fizz/tool/FizzGenerateDelegatedCredentialCommand.cpp:186: undefined reference to `fizz::extensions::generateDelegatedCredentialPEM(fizz::extensions::DelegatedCredential, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/FizzTool.dir/build.make:222: bin/fizz] Error 1
make[2]: Leaving directory '/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz'
make[1]: *** [CMakeFiles/Makefile2:167: CMakeFiles/FizzTool.dir/all] Error 2
make[1]: Leaving directory '/mnt/nvme1n1/cachelib/CacheLib/CacheLib/build-fizz'
make: *** [Makefile:156: all] Error 2
build-package.sh: error: make failed
build.sh: error: failed to build dependency 'fizz'
(base) [root@cassiopeia CacheLib]# ./contrib/build.sh -d -j -v

@therealgymmy
Copy link
Contributor

The fizz OSS build is currently broken. We're actively working with the fizz team to resolve it. In the meanwhile, can you try manually pinning fizz to an earlier version to see if build succeeds?

You can add an external_git_tag to pin fizz to a specific version. An example in our build scripts: https://github.com/facebook/CacheLib/blob/main/contrib/build-package.sh#L182

#310

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

2 participants