Installing latest wireshark impossible?

7,639

Solution 1

I was just able to fix the solution and compile on CentOS. It appears that when I entered yum install gcc.x86_64, it did not include the g++ libraries. Once I added yum install gcc-c++.x86_64, it worked. You show ensure that the gcc-c++ package is installed.

Solution 2

OK, here's the full list of commands I ran to compile tshark. These are fairly specific to CentOS 6.5 and Wireshark 1.12.4. I am using command line only so not sure if this compiles the GUI or not. This was done with a fresh CentOS 6.5 VM with no updates installed so hopefully this should cover the full requirements. Seems so easy now :-)

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

For existing systems it might pay to run yum erase wireshark first.

It appears the packages installed can be removed afterwards without causing issues: yum erase -y gcc-c++ bison flex gtk2 gtk2-devel libpcap-devel

I'm no linux expert so any improvements to this answer are welcome.

Solution 3

I solved this problem by installing gcc-c++ dnf install gcc-c++-x86_64-linux-gnu-6.1.1-2.fc25.x86_64

Share:
7,639

Related videos on Youtube

shrawan phuyal
Author by

shrawan phuyal

Updated on September 18, 2022

Comments

  • shrawan phuyal
    shrawan phuyal over 1 year

    It looks like installing a later version of wireshark is near impossible on redhat 6. I've searched the web extensively and can't find any questions where someone has said their issue was resolved. Don't care how I do it. Here's what I have tried:

    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"
    

    The first method is out as the version is too old and it does not have a ipv6 option we need.

    The second method appears to install and actually work but gives me an error about a missing library when I run it. I'm also concerned about installing a release candidate. If I try the non release candidate rpm then it gives me an error about missing libraries when trying to install.

    The final method gives me an error about qt but qt 4.6 is installed.

    Has anyone actually got this to work? Need v1.10 at least.

    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    
    

    EDIT: This is output from ./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
    

    I have done a yum install on gcc, bison, flex, qt4-devel and libstdc++.

    • shrawan phuyal
      shrawan phuyal about 9 years
      Thanks @tink I've added list of qt libs to the original question.
    • Admin
      Admin about 9 years
      That message is printed if either 1) the configure script couldn't find anything that appeared to be a C++ compiler or 2) it did, but a test seemed to show it wasn't, in fact, a C++ compiler (e.g., it found something called "CC", but that's just because it's on a case-insensitive file system and found a C compiler named "cc"). What does the configure script print when you run it, starting with "checking for g++" and ending with "checking whether we are using the GNU C++ compiler"?
    • shrawan phuyal
      shrawan phuyal about 9 years
      @GuyHarris Please see edits above.
    • shrawan phuyal
      shrawan phuyal about 9 years
      @GuyHarris I got past that and after installing a bunch of other stuff I got it to compile, make and make install. Now it says tshark: error while loading shared libraries: libwireshark.so.0: ELF load command past end of file when I run tshark. Any ideas?
  • shrawan phuyal
    shrawan phuyal about 9 years
    That along with a bunch of other stuff was also required. I'll list them out in an answer below.
  • Admin
    Admin about 9 years
    What was the error?
  • shrawan phuyal
    shrawan phuyal about 9 years
    tshark: error while loading shared libraries: libwireshark.so.0: ELF load command past end of file. Also if I type ldconfig it says ldconfig: file /usr/lib64/libwireshark.so.0.0.0 is truncated ldconfig: file /usr/lib64/libwireshark.so.0 is truncated
  • shrawan phuyal
    shrawan phuyal about 9 years
    Ok, so I just ran it again and it worked!! Thanks for your help everyone.
  • shrawan phuyal
    shrawan phuyal over 5 years
    Hi Omid, the version of wireshark included in the OS was not suitable at the time as it was lacking some specific features that we needed. This was detailed in my question.