trojan-gfw / trojan

An unidentifiable mechanism that helps you bypass GFW.

Home Page:https://trojan-gfw.github.io/trojan/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't find `/usr/lib64/libboost_system.a` in RHEL9

mogeko opened this issue · comments

I tried to compile trojan on RHEL9, but it failed to find /usr/lib64/libboost_system.a.

The following packages are installed in my system:

https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

clang-devel openssl-devel make cmake mariadb-connector-c-devel

boost1.78-build boost1.78-devel boost1.78-static

I use the following command to compile:

cmake . \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_CXX_COMPILER="clang++" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBoost_USE_STATIC_LIBS=ON \
    -DBoost_LIBRARIES=/usr/lib64/boost1.78 \
    -DBoost_DEBUG=ON \
    -DFORCE_TCP_FASTOPEN=ON
make -j$(nproc) && make install

Since boost1.78-static installed *.a to /usr/lib64/boost1.78, I tried to specify it through Boost_LIBRARIES, but it didn't work. I also tried BOOST_LIBRARYDIR, Boost_LIBRARY_DIRS and Boost_LIBRARIES, both of which are not available.

The following is the complete compilation Log:

-- The CXX compiler identification is Clang 14.0.6
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Boost 1.78.0 at /usr/lib64/cmake/Boost-1.78.0
--   Requested configuration: QUIET REQUIRED COMPONENTS system;program_options
-- BoostConfig: find_package(boost_headers 1.78.0 EXACT CONFIG REQUIRED QUIET HINTS /usr/lib64/cmake)
-- Found boost_headers 1.78.0 at /usr/lib64/cmake/boost_headers-1.78.0
-- BoostConfig: find_package(boost_system 1.78.0 EXACT CONFIG REQUIRED QUIET HINTS /usr/lib64/cmake)
-- Found boost_system 1.78.0 at /usr/lib64/cmake/boost_system-1.78.0
-- Boost toolset is clang14 (Clang 14.0.6)
-- Scanning /usr/lib64/cmake/boost_system-1.78.0/libboost_system-variant*.cmake
--   Including /usr/lib64/cmake/boost_system-1.78.0/libboost_system-variant-shared.cmake
--   [ ] libboost_system.so.1.78.0
--   Including /usr/lib64/cmake/boost_system-1.78.0/libboost_system-variant-static.cmake
--   [x] libboost_system.a
-- Adding boost_system dependencies: headers
-- BoostConfig: find_package(boost_program_options 1.78.0 EXACT CONFIG REQUIRED QUIET HINTS /usr/lib64/cmake)
-- Found boost_program_options 1.78.0 at /usr/lib64/cmake/boost_program_options-1.78.0
-- Boost toolset is clang14 (Clang 14.0.6)
-- Scanning /usr/lib64/cmake/boost_program_options-1.78.0/libboost_program_options-variant*.cmake
--   Including /usr/lib64/cmake/boost_program_options-1.78.0/libboost_program_options-variant-shared.cmake
--   [ ] libboost_program_options.so.1.78.0
--   Including /usr/lib64/cmake/boost_program_options-1.78.0/libboost_program_options-variant-static.cmake
--   [x] libboost_program_options.a
-- Adding boost_program_options dependencies: headers
-- Found Boost: /usr/lib64/cmake/Boost-1.78.0/BoostConfig.cmake (found suitable version "1.78.0", minimum required is "1.66.0") found components: system program_options
-- Found OpenSSL: /usr/lib64/libcrypto.so (found suitable version "3.0.1", minimum required is "1.1.0")
-- Found MySQL: /usr/lib64/libmysqlclient.so
-- Configuring done
-- Generating done
-- Build files have been written to: /
make: Entering directory '/opt/trojan-1.15.0'
make: Leaving directory '/opt/trojan-1.15.0'
make: *** No targets specified and no makefile found.  Stop.
[  5%] Building CXX object CMakeFiles/trojan.dir/src/core/authenticator.cpp.o
[ 11%] Building CXX object CMakeFiles/trojan.dir/src/core/config.cpp.o
[ 16%] Building CXX object CMakeFiles/trojan.dir/src/core/log.cpp.o
[ 22%] Building CXX object CMakeFiles/trojan.dir/src/core/service.cpp.o
[ 27%] Building CXX object CMakeFiles/trojan.dir/src/core/version.cpp.o
[ 33%] Building CXX object CMakeFiles/trojan.dir/src/main.cpp.o
[ 38%] Building CXX object CMakeFiles/trojan.dir/src/proto/socks5address.cpp.o
[ 44%] Building CXX object CMakeFiles/trojan.dir/src/proto/trojanrequest.cpp.o
[ 50%] Building CXX object CMakeFiles/trojan.dir/src/proto/udppacket.cpp.o
[ 55%] Building CXX object CMakeFiles/trojan.dir/src/session/clientsession.cpp.o
[ 61%] Building CXX object CMakeFiles/trojan.dir/src/session/forwardsession.cpp.o
[ 66%] Building CXX object CMakeFiles/trojan.dir/src/session/natsession.cpp.o
[ 72%] Building CXX object CMakeFiles/trojan.dir/src/session/serversession.cpp.o
[ 77%] Building CXX object CMakeFiles/trojan.dir/src/session/session.cpp.o
[ 83%] Building CXX object CMakeFiles/trojan.dir/src/session/udpforwardsession.cpp.o
[ 88%] Building CXX object CMakeFiles/trojan.dir/src/ssl/ssldefaults.cpp.o
[ 94%] Building CXX object CMakeFiles/trojan.dir/src/ssl/sslsession.cpp.o
make[2]: *** No rule to make target 'usr/lib64/libboost_system.a', needed by '//trojan'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/trojan.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
error while running runtime: exit status 2
ERRO[0055] exit status 2
ERRO[0055] exit status 2