facebook / mvfst

An implementation of the QUIC transport protocol.
MIT License
1.5k stars 243 forks source link

Build failed on centOS7 #334

Open weimingdiit opened 7 months ago

weimingdiit commented 7 months ago

OS-ENV: [root@presto_velox mvfst]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@presto_velox mvfst]# uname -a Linux presto_velox 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

ERROR: [1/9] Building CXX object quic/xsk/CMakeFiles/mvfst_xsk.dir/packet_utils.cpp.o FAILED: quic/xsk/CMakeFiles/mvfst_xsk.dir/packet_utils.cpp.o /opt/rh/devtoolset-11/root/usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CONTEXT_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DGFLAGS_IS_A_DLL=0 -I/home/hadoop/presto_workspace/mvfst -isystem /home/hadoop/presto_workspace/mvfst/_build/boost-Qv-13tUg6pUXyYTnIfNzDKe6sx_3sn1PpDYiG1jYc8A/include -isystem /home/hadoop/presto_workspace/mvfst/_build/double-conversion-kP4vOxcaF1zRA1Z0tq4ql-8ogiIyVyj9bnkQO4MGGHk/include -isystem /home/hadoop/presto_workspace/mvfst/_build/gflags--xd_bA1aM7HcAdd6tcE_Ai0S_zlZ0pwr9iMKEkxNiYs/include -isystem /home/hadoop/presto_workspace/mvfst/_build/glog-dar1iUNt3UYRqlPnWO9-7csBbkhdDDQqgOXRjykz84g/include -isystem /home/hadoop/presto_workspace/mvfst/_build/libevent-gCHS6DnMccE1BpnN-V48VnHC8aCg1DRqnC8zGHnJ1zw/include -isystem /home/hadoop/presto_workspace/mvfst/_build/zlib-7ixSqb_SgMTPrdDRi9c7iMQynJQN7UUEPepietHPwvU/include -isystem /usr/local/openssl/include -isystem /home/hadoop/presto_workspace/mvfst/_build/xz-8uQiYCPMoLe28zFHX4JjlrOmMAQbdp-ffB1MgjSjwOo/include -isystem /home/hadoop/presto_workspace/mvfst/_build/lz4-0J0YTAzXmENIUweqaDp6FWyPJz4561EOFBVn51ei67E/include -isystem /home/hadoop/presto_workspace/mvfst/_build/zstd-xVDA3hyl_V6s6LEkU8XGMHsuXiViMBj_9BB_BrHpfJ4/include -isystem /home/hadoop/presto_workspace/mvfst/_build/snappy-uluJ20w6qWxsyP10514HlSGg9pFGID3aTUiEmxOLRIM/include -isystem /home/hadoop/presto_workspace/mvfst/_build/libsodium-EUYb629F9fza0hFu8hov3YJBn9sWyphOTz12ixYXbSE/include -isystem /home/hadoop/presto_workspace/mvfst/_build/folly/include -isystem /home/hadoop/presto_workspace/mvfst/_build/fmt-GqmsPfyx2JZMokZtYuzpZiC73EKYEQBg2Wi-3p-q0_U/include -O2 -g -DNDEBUG -Wall -Wextra -Woverloaded-virtual -Wnon-virtual-dtor -Wtype-limits -Wunused-value -std=c++17 -MD -MT quic/xsk/CMakeFiles/mvfst_xsk.dir/packet_utils.cpp.o -MF quic/xsk/CMakeFiles/mvfst_xsk.dir/packet_utils.cpp.o.d -o quic/xsk/CMakeFiles/mvfst_xsk.dir/packet_utils.cpp.o -c /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.cpp In file included from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.h:15, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.cpp:12: /usr/include/linux/ipv6.h:19:8: error: redefinition of ‘struct in6_pktinfo’ 19 | struct in6_pktinfo { | ^~~ In file included from /usr/include/netdb.h:27, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/net/NetOps.h:91, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/portability/Sockets.h:19, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/detail/IPAddress.h:23, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/IPAddressException.h:31, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/IPAddress.h:37, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.h:12, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.cpp:12: /usr/include/netinet/in.h:538:8: note: previous definition of ‘struct in6_pktinfo’ 538 | struct in6_pktinfo | ^~~ In file included from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.h:15, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.cpp:12: /usr/include/linux/ipv6.h:24:8: error: redefinition of ‘struct ip6_mtuinfo’ 24 | struct ip6_mtuinfo { | ^~~ In file included from /usr/include/netdb.h:27, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/net/NetOps.h:91, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/portability/Sockets.h:19, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/detail/IPAddress.h:23, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/IPAddressException.h:31, from /home/hadoop/presto_workspace/mvfst/_build/folly/include/folly/IPAddress.h:37, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.h:12, from /home/hadoop/presto_workspace/mvfst/quic/xsk/packet_utils.cpp:12: /usr/include/netinet/in.h:545:8: note: previous definition of ‘struct ip6_mtuinfo’ 545 | struct ip6_mtuinfo | ^~~

Rhett-Ying commented 3 months ago

anyone has any findings on this issue? I hit the redefinition of 'struct in6_pktinfo' issue when building with liburing as well. I am building upon ubi7 which is quite similar to centos7, especially glibc version.