shadow-plugin-tor icon indicating copy to clipboard operation
shadow-plugin-tor copied to clipboard

"multiple definition of `sys_tracing'" compiling against tor@head

Open numbleroot opened this issue 3 years ago • 10 comments

Hello all,

Thanks for developing and maintaining this tool suite.

When trying to set up shadow + tgen + shadow-plugin-tor on a fresh Ubuntu 18.04 machine, I get the following error message during the ./setup build step of shadow-plugin-tor:

...
[ 97%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/channelpadding_negotiation.c.o
[ 97%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/circpad_negotiation.c.o
[ 98%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/ed25519_cert.c.o
[ 98%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/link_handshake.c.o
[ 98%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/netinfo.c.o
[ 98%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/pwbox.c.o
[ 99%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/sendme_cell.c.o
[ 99%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/socks5.c.o
[ 99%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/hs/cell_common.c.o
[ 99%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/hs/cell_establish_intro.c.o
[100%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/hs/cell_introduce1.c.o
[100%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/trunnel/hs/cell_rendezvous.c.o
[100%] Building C object src/tor/CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/ext/trunnel/trunnel.c.o
[100%] Linking C shared library libshadow-plugin-tor.so
CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/lib/trace/trace_sys.c.o:(.data.rel.ro.local+0x0): multiple definition of `sys_tracing'
CMakeFiles/shadow-plugin-tor.dir/__/__/__/tor/src/lib/trace/trace_stub.c.o:(.data.rel.ro.local+0x0): first defined here
collect2: error: ld returned 1 exit status
src/tor/CMakeFiles/shadow-plugin-tor.dir/build.make:10376: recipe for target 'src/tor/libshadow-plugin-tor.so' failed
make[2]: *** [src/tor/libshadow-plugin-tor.so] Error 1
CMakeFiles/Makefile2:113: recipe for target 'src/tor/CMakeFiles/shadow-plugin-tor.dir/all' failed
make[1]: *** [src/tor/CMakeFiles/shadow-plugin-tor.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
2020-10-27 19:04:15,026 INFO make returned 2
[2020-10-27 19:04:15.026553] Shadow Setup: ERROR! Non-zero return code from make.
2020-10-27 19:04:15,026 INFO returning code '2'

These are the steps that I used to install the full tool suite (after initial updating, user creation, etc. on the complete-vanilla box):

sudo apt-get install --yes autotools-dev autoconf cmake gcc g++ libc-dbg \
    libglib2.0-dev libigraph-dev make python3 python3-pyelftools xz-utils \
    python3-numpy python3-lxml python3-matplotlib python3-networkx python3-scipy \
    dstat git htop screen

cd /home/user
git clone https://github.com/shadow/shadow.git
cd /home/user/shadow
./setup build --clean --debug --jobs 4 --test
./setup install

cd /home/user
git clone https://github.com/shadow/tgen
mkdir tgen/build
cd /home/user/tgen/build
cmake .. -DCMAKE_INSTALL_PREFIX=/home/user/.shadow
make && make install

cd /home/user
git clone [email protected]:torproject/tor.git
git clone https://github.com/shadow/shadow-plugin-tor.git
cd /home/user/shadow-plugin-tor
./setup dependencies --assume-yes
./setup build --assume-yes --clean --debug --jobs 4 --tor-prefix /home/user/tor
./setup install

uname -a yields:

Linux buildmachine 4.15.0-122-generic #124-Ubuntu SMP Thu Oct 15 13:03:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Am I missing something here? Any help is much appreciated, thanks in advance.

numbleroot avatar Oct 27 '20 19:10 numbleroot