Skip to content
Junjie Shi edited this page Jun 27, 2021 · 3 revisions

This page is for some common and frequently asked questions about Rosetta.

Installation and compilation

Clone and Compile

  • Cmake error with emp-toolkit

to install emp-tool...

CMake Error: The source directory "/home/ubuser/Rosetta/cc/third_party/emp-toolkit/emp-tool" does not appear to contain CMakeLists.txt.

Specify --help for usage, or press the help button on the CMake GUI.

make: *** 没有指明目标并且找不到 makefile。 停止。

After you download our project source code, and if you encounter the above error message during runing rosetta.sh compile..., it means that the local source code is NOT complete. There are two ways you can try:

  1. just re-clone our source code, git clone --recurse https://github.com/LatticeX-Foundation/Rosetta.git, and try again. Especially, pay attention to the --recurse option.
  2. In the root directory, run git submodule init and git submodule update and try again.
  • Internal compiler error

c++: internal compiler error: 已杀死 (program cc1plus)

Please submit a full bug report,

with preprocessed source if appropriate.

See file:///usr/share/doc/gcc-7/README.Bugs for instructions.

CMakeFiles/emp-tool.dir/build.make:398: recipe for target 'CMakeFiles/emp-tool.dir/emp-tool/circuits/float32_ln.cpp.o' failed

make[2]: *** [CMakeFiles/emp-tool.dir/emp-tool/circuits/float32_ln.cpp.o] Error 4

make[2]: *** 正在等待未完成的任务....

If you encounter the error, you can try to give more RAM memory for you virtual machine, or docker container, and then try again after cleaning the temp spot by clean_directory.sh. It's recommended that the running environment has more than 8G RAM.

  • Error with protoc

If you encounter the error related to Google ProtoBuffer, you may need to make sure the protoc 3.7 is installed. Here we give some detailed steps for your reference.

# These steps are just borrowed from official doc in https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
# 1. install some depedence:
sudo apt-get install autoconf automake libtool curl make g++ unzip
# 2. get the protobuf 3.7 source code:
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.0/protobuf-all-3.7.0.tar.gz
# 3. install it, and note that this may takes some time:
tar zxvf protobuf-all-3.7.0.tar.gz
cd protobuf-3.7.0
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

After installation, you can check by running protoc --version, and luckily you should get libprotoc 3.7.0.

Running Errors

  • Some Party Got Stuck

receive data from cid[1] counter:100

receive data from cid[1] counter:200

...

If you see your screen or log file is full of the message like this, your program may have gotten stuck because the underlying networks is not established properly. You should check the ports that configured in you JSON.config file. Make sure they are NOT used by other program, especially check the MPC programs of your last run to make sure they have ALL been terminated.