tklab-tud / ID2T

Official ID2T repository. ID2T creates labeled IT network datasets that contain user defined synthetic attacks.
MIT License
58 stars 23 forks source link

Error while building on Ubuntu 20.04 due to Libtins #106

Open AkiMosi opened 4 years ago

AkiMosi commented 4 years ago

I executed ./build. It was building upto 90% then suddenly stopped after throwing an error. Then I tried again, then it stopped at 21%. I even tried building it non interactive, still got the same error. I have attached the following error.

Package libtins was not found in the pkg-config search path.
Perhaps you should add the directory containing `libtins.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libtins' found
Requirement already up-to-date: pip in ./.venv/lib/python3.7/site-packages (20.1.1)
Requirement already satisfied: cairocffi==0.8.1 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 1)) (0.8.1)
Requirement already satisfied: cffi>=1.12.2 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 2)) (1.14.0)
Requirement already satisfied: coverage>=4.5.1 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 3)) (5.2)
Requirement already satisfied: cycler>=0.10.0 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 4)) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 5)) (1.2.0)
Requirement already satisfied: lea==2.3.5 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 6)) (2.3.5)
Requirement already satisfied: matplotlib>=2.2.3 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 7)) (3.3.0)
Requirement already satisfied: memory-profiler>=0.54.0 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 8)) (0.57.0)
Requirement already satisfied: numpy>=1.15 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 9)) (1.19.1)
Requirement already satisfied: psutil>=5.4.5 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 10)) (5.7.2)
Requirement already satisfied: pycparser>=2.18 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 11)) (2.20)
Requirement already satisfied: pyparsing>=2.2.0 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 12)) (2.4.7)
Requirement already satisfied: python-dateutil>=2.7.2 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 13)) (2.8.1)
Requirement already satisfied: pytz>=2018.4 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 14)) (2020.1)
Requirement already satisfied: pyxdg>=0.26 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 15)) (0.26)
Requirement already satisfied: scapy==2.4.2 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 16)) (2.4.2)
Requirement already satisfied: scipy>=1.1.0 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 17)) (1.5.2)
Requirement already satisfied: six>=1.11.0 in ./.venv/lib/python3.7/site-packages (from -r resources/requirements.txt (line 18)) (1.15.0)
Requirement already satisfied: pillow>=6.2.0 in ./.venv/lib/python3.7/site-packages (from matplotlib>=2.2.3->-r resources/requirements.txt (line 7)) (7.2.0)
-- Running Release configuration.
-- CMake version: 3.16.3
-- CMAKE_CXX_COMPILER '/usr/bin/c++' 'GNU' '9.3.0'
-- CMAKE_CXX_FLAGS                ''
-- CMAKE_CXX_FLAGS_RELEASE        '-O3 -DNDEBUG -Wall'
-- SQLITECPP_RUN_CPPLINT OFF
-- Could NOT find cppcheck
-- SQLITECPP_RUN_DOXYGEN OFF
-- SQLITECPP_BUILD_EXAMPLES OFF
-- SQLITECPP_BUILD_TESTS OFF
-- Tins will be built from source.
-- Using specified 'Release' build type.
-- Build will generate a shared library. Use LIBTINS_BUILD_SHARED=0 to perform a static build
-- Enabling C++11 features
-- Enabling IEEE 802.11 support.
-- Enabling WPA2 decryption support.
-- Enabling TCPIP classes
-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) 
CMake Warning at libtins/CMakeLists.txt:168 (MESSAGE):
  Disabling ACK tracking support as boost.icl was not found

CMake Warning at libtins/CMakeLists.txt:184 (MESSAGE):
  Disabling TCP stream custom data support as boost.any was not found

-- Could NOT find Boost (missing: Boost_INCLUDE_DIR regex) 
CMake Warning at libtins/examples/CMakeLists.txt:27 (MESSAGE):
  Disabling HTTP requests example since boost.regex was not found

-- Tests have been enabled
-- Python includes found in: /usr/include/python3.8
-- Python libs found in: /usr/lib/x86_64-linux-gnu/libpython3.8.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/akimosi/ID2T/code_boost/src/build
[  9%] Built target googletest
[ 14%] Built target SQLiteCpp
[ 17%] Built target botnetcomm
[ 19%] Built target sqlite3
[ 21%] Linking CXX shared library ../lib/libtins.so
/usr/bin/ld: /usr/local/lib/libcrypto.a(v3_genn.o): relocation R_X86_64_PC32 against symbol `GENERAL_NAME_it' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libtins/src/CMakeFiles/tins.dir/build.make:1152: libtins/lib/libtins.so.4.2] Error 1
make[1]: *** [CMakeFiles/Makefile2:488: libtins/src/CMakeFiles/tins.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Error: 'make' did not finish successfully.

I think it's because of the package libtins, is it due to the variation of the version of the package or something else?

AkiMosi commented 4 years ago

I even tried installing libtins separately, but still got the same error!

UndeadKernel commented 4 years ago

Hi @AkiMosi. The error is telling you that you are missing the C++ boost libraries. Make sure that you have installed the "dev" packages of boost from your distribution. The build script should have installed this but somehow failed. @pepper-jk, would you happen to know why this would be the case?

pepper-jk commented 4 years ago

@AkiMosi what distribution are you running?

Please provide the output of ./build.sh --full.

I think it's because of the package libtins, [...]

Normally libtins will be build by the build or dependency installation script, if the distro does not have a package for it. But I have not yet adjusted the scripts since before the release of Ubuntu 20.04. This might cause trouble. I will take a look at it once I have your output. Probably on Sunday.

AkiMosi commented 4 years ago

@AkiMosi what distribution are you running?

@pepper-jk yeah, I am using Ubuntu 20.04

pepper-jk commented 4 years ago

I've updated the travisCI config and pushed it to a new branch ubuntu_20.04.

Running the test now: https://travis-ci.org/github/tklab-tud/ID2T/builds/711816491

Look for distribution=ubuntu, version=rolling. I might take a look at it tomorrow. Maybe even do some manual debugging if I have the time.

EDIT: Am running the tests again after pushing a fix for the ubuntu docker image. I might come back to this later. If you want to see the results for yourself, take a look at the most recent build of the ubuntu_20.04 branch.

EDIT 2: Did not do the trick, I must have missed something. I don't know when I will find time to fix it though. Before the tests are not running, I can not start the debugging process either. I'm sorry about that.

pepper-jk commented 4 years ago

@AkiMosi since I probably will not able to debug the issue myself in the near future, I would suggest you try the following:

Even if it does not work, any output logs would be a great help to figure this out. Also notes on the versions of your dependencies would be appreciated, as this might not necessarily needs to be an issue with Ubuntu 20.04.

Please also note our issue #104, which was opened before the first stable release of Ubuntu 20.04, and let us know over there, if you encounter the same problem.

If this issue persists, feel free to look into our dependency documentation or in our dependency installation scripts build.sh and resources/install_dependencies.sh for more information. And of cause if you figure it out, post your solution here and/or send a pull request.

pepper-jk commented 4 years ago

@AkiMosi anything new?