smfrpc / smf

Fastest RPC in the west

Home Page:http://smfrpc.github.io/smf/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failing docker image used for local development

KowalczykBartek opened this issue · comments

Describe the bug
I wanted to run SMF locally using https://github.com/smfrpc/smf/blob/master/tools/docker/Dockerfile but one of build steps is failing:

Removing intermediate container 42a0d173b252
 ---> e6d69eef0966
Step 8/9 : RUN ./tools/build.sh -rt
 ---> Running in 5006c6ef615c
fedora supported
Release
CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/smf/build/release/CMakeFiles/CMakeOutput.log".
The command '/bin/sh -c ./tools/build.sh -rt' returned a non-zero code: 1

Can you guide me how can I fix that ?

Thanks!

yeah fedora:latest should do it. - i'm testing it right now. see 9a59b28

@KowalczykBartek err, sorry was missing ninja-build.

@KowalczykBartek yeah, so i just confirmed that c7e8c58 fixes the problem. Closing. Let me know if it doesn't or please reopen.

Thanks for fast support :)

I built docker image and it finished successfully, but I don't see sample app, that logs is printed at the end

-- Performing Test CFLAG_W4 - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: /smf/build/release/smf-deps-build/lz4-prefix/src/lz4-build
The command '/bin/sh -c ./tools/build.sh -r' returned a non-zero code: 137

./build folder is missing.

ah, so just go into the container and start the server / client / whatever app

should be in /smf/build/release/bin/smf_rpc_server (to run add -c 1 -m2G ) as the cli args for 1 thread.

wait so you should see nothing failed tho.

COLLECT_GCC_OPTIONS='-O2' '-D' 'NDEBUG' '-v' '-o' 'bin/smf_rpc_integration_test' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/8/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/8/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapp
er -plugin-opt=-fresolution=/tmp/ccD9mypx.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc
_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o bin/smf_rpc_integr
ation_test /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/8/crtbegi
n.o -L/usr/lib/gcc/x86_64-redhat-linux/8 -L/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/8/../.
./.. src/integration_tests/CMakeFiles/smf_rpc_integration_test.dir/rpc/main.cc.o -rpath /smf/build/release/smf-deps-install/lib:/smf/build/release/smf-deps-install/lib64: li
b/libsmf.a smf-deps-install/lib64/libseastar.a smf-deps-install/lib/libboost_program_options.a smf-deps-install/lib/libboost_thread.a smf-deps-install/lib/libboost_chrono.a 
smf-deps-install/lib/libboost_date_time.a smf-deps-install/lib/libboost_atomic.a -lpthread smf-deps-install/lib/libcares.so smf-deps-install/lib64/libcryptopp.so smf-deps-in
stall/lib64/libfmt.a smf-deps-install/lib64/liblz4.so -ldl smf-deps-install/lib/libboost_filesystem.a smf-deps-install/lib/libboost_system.a smf-deps-install/lib/libgnutls.s
o -latomic -lstdc++fs smf-deps-install/lib/libsctp.so smf-deps-install/lib/libprotobuf.so -lrt smf-deps-install/lib/libyaml-cpp.a smf-deps-install/lib/librte_cfgfile.a smf-d
eps-install/lib/librte_cmdline.a smf-deps-install/lib/librte_ethdev.a smf-deps-install/lib/librte_hash.a smf-deps-install/lib/librte_kvargs.a smf-deps-install/lib/librte_mbu
f.a smf-deps-install/lib/librte_eal.a smf-deps-install/lib/librte_mempool.a smf-deps-install/lib/librte_mempool_ring.a smf-deps-install/lib/librte_pmd_bnxt.a smf-deps-instal
l/lib/librte_pmd_cxgbe.a smf-deps-install/lib/librte_pmd_e1000.a smf-deps-install/lib/librte_pmd_ena.a smf-deps-install/lib/librte_pmd_enic.a smf-deps-install/lib/librte_pmd
_fm10k.a smf-deps-install/lib/librte_pmd_qede.a smf-deps-install/lib/librte_pmd_i40e.a smf-deps-install/lib/librte_pmd_ixgbe.a smf-deps-install/lib/librte_pmd_nfp.a smf-deps
-install/lib/librte_pmd_ring.a smf-deps-install/lib/librte_pmd_sfc_efx.a smf-deps-install/lib/librte_pmd_vmxnet3_uio.a smf-deps-install/lib/librte_ring.a smf-deps-install/li
b/libhwloc.so smf-deps-install/lib/libnuma.so smf-deps-install/lib64/libflatbuffers.a smf-deps-install/lib64/libzstd.a smf-deps-install/lib/libhdr_histogram_static.a smf-dep
s-install/lib64/libxxhash.a -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/8/crtend.o /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt
n.o                                                                                                                                                                          
COLLECT_GCC_OPTIONS='-O2' '-D' 'NDEBUG' '-v' '-o' 'bin/smf_rpc_integration_test' '-shared-libgcc' '-mtune=generic' '-march=x86-64'                                           
Removing intermediate container 9908819dd02c                                                                                                         
 ---> f990afb3f7cc                                                                                                       
Step 9/9 : EXPOSE 7000                                                                                 
 ---> Running in 28fbf50c5944                              
Removing intermediate container 28fbf50c5944        
 ---> fe0f33542361      
Successfully built fe0f33542361   

I just ran the docker build myself.

I bet you have an old docker image around.

this is what I use to clean up my docker

remove_all_docker () {
        sudo docker rm $(sudo docker ps -a -q)
        sudo docker rmi $(sudo docker images -q)
}

but maybe just delete the image you just built. probably has some silly caching