無法安裝最新的wireshark?
看起來在redhat 6上安裝更高版本的wireshark幾乎是不可能的。我已經廣泛搜尋了網路,找不到任何有人說他們的問題已經解決的問題。別管我怎麼做。這是我嘗試過的:
yum install wireshark <-- works but version too old yum localinstall xxx <-- works only with an rc2 of v10 and gives error ./configure <-- "Need a working C++ compiler to build Wireshark with Qt"
第一種方法因為版本太舊並且沒有我們需要的 ipv6 選項而被淘汰。
第二種方法似乎可以安裝並且實際上可以工作,但是當我執行它時給我一個關於缺少庫的錯誤。我也擔心安裝一個候選版本。如果我嘗試非發布候選 rpm,那麼它會在嘗試安裝時給我一個關於缺少庫的錯誤。
最後一種方法給了我一個關於 qt 的錯誤,但安裝了 qt 4.6。
有沒有人真的讓這個工作?至少需要 v1.10。
EDIT: Qt libs installed: yum list installed | grep qt qt.x86_64 1:4.6.2-28.el6_5 @base qt-devel.x86_64 1:4.6.2-28.el6_5 @base qt-sqlite.x86_64 1:4.6.2-28.el6_5 @base qt-x11.x86_64 1:4.6.2-28.el6_5 @base
編輯:這是 ./configure 的輸出:
checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '0' is supported by ustar format... yes checking whether GID '0' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... no checking for c++... no checking for gpp... no checking for aCC... no checking for CC... no checking for cxx... no checking for cc++... no checking for cl.exe... no checking for FCC... no checking for KCC... no checking for RCC... no checking for xlC_r... no checking for xlC... no checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking dependency style of g++... none checking how to run the C preprocessor... gcc -E checking if gcc is Clang... no checking if g++ is Clang... no checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1966080 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... no checking if : is a manifest tool... no checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... yes checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking whether g++ is a C++ compiler... no checking for perl... /usr/bin/perl checking for python... /usr/bin/python checking whether /usr/bin/python is Python 2.5 or later... yes checking for bison... bison -y checking for bison... /usr/bin/bison checking for flex... flex checking lex output file root... lex.yy checking lex library... none needed checking whether yytext is a pointer... no checking for flex... /usr/bin/flex checking for pod2man... /usr/bin/pod2man checking for pod2html... /usr/bin/pod2html checking for xdg-open... no checking for htmlview... no checking for doxygen... no checking for doxygen... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for LIBGNUTLS... no GnuTLS >= 3.1.10 not found checking for LIBGNUTLS... no GnuTLS >= 1.2.0, < 3.0 not found GnuTLS with compatible license not found, disabling SSL decryption checking for libgcrypt-config... no checking for LIBGCRYPT - version >= 1.1.92... no libgcrypt not found, disabling ipsec decryption checking whether to use libnl for various network interface purposes... yes checking for LIBNL3... no checking for LIBNL2... no checking for LIBNL1... no checking if nl80211.h is new enough... yes checking for NL80211_SET_CHANNEL... yes checking for libsmi >= 2... not found checking for a2x... no checking for a2x... no checking for elinks... no checking for elinks... no checking for fop... no checking for fop... no checking for lynx... /usr/bin/lynx checking for lynx... yes checking for w3m... no checking for w3m... no checking for xmllint... /usr/bin/xmllint checking for xmllint... yes checking for xsltproc... no checking for xsltproc... no checking for desktop-file-install... no checking for pkgproto... no checking for pkgmk... no checking for pkgtrans... no checking for rpm... yes checking to see if we can redefine _topdir... yes checking for dpkg-buildpackage... no checking for xcodebuild... no checking for hdiutil... no checking for bless... no checking whether the compiler fails when given an unknown warning option... yes checking whether the compiler fails when given an warning option not supported for C++... yes checking whether we can add -Wall -W to CFLAGS... yes checking whether we can add -Wall -W to CXXFLAGS... no ./configure: line 22271: test: ) expected, found -W checking whether we can add -Wextra to CFLAGS... yes checking whether we can add -Wextra to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wdeclaration-after-statement to CFLAGS... yes checking whether we can add -Wendif-labels to CFLAGS... yes checking whether we can add -Wendif-labels to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wpointer-arith to CFLAGS... yes checking whether we can add -Wpointer-arith to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wno-pointer-sign to CFLAGS... yes checking whether we can add -Warray-bounds to CFLAGS... yes checking whether we can add -Warray-bounds to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wformat-security to CFLAGS... yes checking whether we can add -Wformat-security to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -fwrapv to CFLAGS... yes checking whether we can add -fwrapv to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -fno-strict-overflow to CFLAGS... yes checking whether we can add -fno-strict-overflow to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -fno-delete-null-pointer-checks to CFLAGS... yes checking whether we can add -fno-delete-null-pointer-checks to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wold-style-definition to CFLAGS... yes checking whether we can add -Wshorten-64-to-32 to CFLAGS... no checking whether we can add -Wstrict-prototypes to CFLAGS... yes checking whether we can add -Wjump-misses-init to CFLAGS... no checking whether we can add -Wvla to CFLAGS... yes checking whether we can add -Wvla to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Waddress to CFLAGS... yes checking whether we can add -Waddress to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wattributes to CFLAGS... yes checking whether we can add -Wattributes to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wdiv-by-zero to CFLAGS... yes checking whether we can add -Wdiv-by-zero to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wignored-qualifiers to CFLAGS... yes checking whether we can add -Wignored-qualifiers to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wpragmas to CFLAGS... yes checking whether we can add -Wpragmas to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wno-overlength-strings to CFLAGS... yes checking whether we can add -Wno-overlength-strings to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wwrite-strings to CFLAGS... yes checking whether we can add -Wwrite-strings to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wno-long-long to CFLAGS... yes checking whether we can add -Wno-long-long to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wc++-compat to CFLAGS... yes checking whether we can add -Wheader-guard to CFLAGS... no checking whether we can add -Wheader-guard to CXXFLAGS... no checking whether we can add -Wshadow to CFLAGS... yes checking whether -Wshadow warns about variables in function declarations shadowing other variables... no checking whether we can add -Wlogical-op to CFLAGS... yes checking whether -Wlogical-op generates warnings from strchr()... yes checking whether we can add -fexcess-precision=fast to CFLAGS... no checking whether we can add -fexcess-precision=fast to CXXFLAGS... no checking whether we can add -fvisibility=hidden to CFLAGS... yes checking whether we can add -fvisibility=hidden to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -Wl,--as-needed to LDFLAGS... yes checking whether we can add -fPIE to CFLAGS... yes checking whether we can add -fPIE to CXXFLAGS... no configure: WARNING: gcc and appear to be a mismatched pair checking whether we can add -fPIE -pie to LDFLAGS... yes checking whether -D_FORTIFY_SOURCE=... can be used (without generating a warning)... yes checking whether we should treat compiler warnings as errors... no checking for platform-specific compiler flags... none needed checking for platform-specific linker flags... none needed checking whether make supports nested variables... (cached) yes checking whether to use /usr/local for headers and libraries... yes checking for sed... (cached) /bin/sed checking for GNU sed as first sed in PATH... yes checking if profile builds must be generated... no configure: error: Need a working C++ compiler to build Wireshark with Qt
我已經在 gcc、bison、flex、qt4-devel 和 libstdc++ 上進行了 yum 安裝。
我只是能夠修復解決方案並在 CentOS 上編譯。看來當我輸入yum install gcc.x86_64時,它不包括 g++ 庫。一旦我添加了yum install gcc-c++.x86_64,它就起作用了。您顯示確保
gcc-c++
已安裝軟體包。
好的,這是我執行來編譯 tshark 的完整命令列表。這些都是針對 CentOS 6.5 和 Wireshark 1.12.4 的。我只使用命令行,所以不確定這是否編譯了 GUI。這是使用未安裝更新的全新 CentOS 6.5 虛擬機完成的,因此希望這能滿足全部要求。現在看起來很容易:-)
Click "Source Code" under "Stable Release" here: https://www.wireshark.org/download.html ftp the file to your CentOS 6 machine yum install -y gcc-c++ bison flex gtk2 gtk2-devel libpcap-devel tar -xvf wireshark-1.12.4.tar.bz2 cd wireshark-1.12.4 ./configure --with-gtk2 make make install This should show 1.12.4: tshark -v
對於現有系統,可能需要先執行 yum erase wireshark。
看來安裝的軟體包可以在之後刪除而不會引起問題: yum erase -y gcc-c++ bison flex gtk2 gtk2-devel libpcap-devel
我不是 linux 專家,因此歡迎對此答案進行任何改進。