Compiling Wireshark 1.12
Same topic I had posted at stack overflow, that include more detail output:
Qt is not available error while compiling a wireshark 1.12
Now move it to my blog for review.
I have a issue on rhel6.3, and I download all qt47 rpm:
-rw-r--r--. 1 root root 4282888 Sep 22 06:32 qt47-4.7.1-3_15.el6.x86_64.rpm -rw-r--r--. 1 root root 11458684 Sep 22 06:33 qt47-devel-4.7.1-3_15.el6.x86_64.rpm -rw-r--r--. 1 root root 54076 Sep 22 06:32 qt47-sqlite-4.7.1-3_15.el6.x86_64.rpm -rw-r--r--. 1 root root 5374988 Sep 22 06:33 qt47-webkit-4.7.1-3_15.el6.x86_64.rpm -rw-r--r--. 1 root root 13297200 Sep 22 06:34 qt47-x11-4.7.1-3_15.el6.x86_64.rpm
When install that, report conflict with libjpeg-turbo:
Transaction Check Error: file /usr/bin/cjpeg from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/bin/djpeg from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/bin/jpegtran from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/bin/rdjpgcom from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/bin/wrjpgcom from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/lib64/libjpeg.so.62.0.0 from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/share/man/man1/cjpeg.1.gz from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/share/man/man1/djpeg.1.gz from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/share/man/man1/jpegtran.1.gz from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/share/man/man1/rdjpgcom.1.gz from install of libjpeg-6b-46.el6.x86_64 conflicts with file from package libjpeg-turbo-1.2.1-3.el6_5.x86_64 file /usr/bin/qdbus from install of qt47-1:4.7.1-3_15.el6.x86_64 conflicts with file from package qt-1:4.6.2-24.el6.x86_64
Update:
For above issue, we can remove “libjpeg-turbo-1.2.1-3.el6_5.x86_64”, but when you use “yum remove libjpeg-turbo*”, due to dependent, will remove about 800M file… how to resolve that?
We can remove that by “rpm -e libjpeg-turbo –nodeps”.
So I upgrade rhel6.3 to rhel6.5 by “yum update”. After upgrade, I use same way to install qt47, found follow alarm:
Error: Package: libjpeg-turbo-devel-1.2.1-1.el6.x86_64 (frank-source)
Requires: libjpeg-turbo(x86-64) = 1.2.1-1.el6
Installed: libjpeg-turbo-1.2.1-3.el6_5.x86_64 (@/libjpeg-turbo-1.2.1-3.el6_5.x86_64)
libjpeg-turbo(x86-64) = 1.2.1-3.el6_5
Available: libjpeg-turbo-1.2.1-1.el6.x86_64 (frank-source)
libjpeg-turbo(x86-64) = 1.2.1-1.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I using –skip-broken to workaround the problem, but when configure for wireshark, report same alarm…
[root@frank wireshark-1.12.1]# ./configure --prefix=/usr/local/wireshark ...... checking for Qt5Core - version >= 4.6.0... no checking for QtCore - version >= 4.6.0... no configure: error: Qt is not available
Follow rpm -qa information:
[root@frank wireshark-1.12.1]# rpm -qa|grep qt qt47-sqlite-4.7.1-3_15.el6.x86_64 qt47-webkit-4.7.1-3_15.el6.x86_64 qt47-4.7.1-3_15.el6.x86_64 qt3-3.3.8b-30.el6.x86_64 qt47-x11-4.7.1-3_15.el6.x86_64
Why RHEL couldn’t complete Wireshark configure?
Resolved:
After install “qt-devel” that in 6.5’s CD-ROM, resolve qt issue, but report GTK alarm. I found Wireshark 1.12 need GTK3, that very badly, RHEL is older version GTK2. If upgrade to GTK3 that need more depend package… so I give up…So I choose a easy way that upgrade to RHEL7 and checking again. And install “qt-devel.x86_64”, “gtk3-devel.x86_64” and “libpcap-devel.x86_64”, then compiler Wireshark(“./configure –prefix=/usr/local/wireshark“), successful! Then make/make install. After make install, found follow alarm:
[root@frank Desktop]# wireshark bash: wireshark: command not found... [root@frank Desktop]# cd /usr/local/wireshark/ [root@frank wireshark]# ll total 8 drwxr-xr-x. 2 root root 4096 Oct 1 21:18 bin drwxr-xr-x. 3 root root 4096 Oct 1 21:18 lib drwxr-xr-x. 4 root root 32 Oct 1 21:18 share [root@frank wireshark]# cd bin [root@frank bin]# ll total 43572 -rwxr-xr-x. 1 root root 61026 Oct 1 21:18 capinfos -rwxr-xr-x. 1 root root 19869 Oct 1 21:18 captype -rwxr-xr-x. 1 root root 39785 Oct 1 21:18 dftest -rwxr-xr-x. 1 root root 259609 Oct 1 21:18 dumpcap -rwxr-xr-x. 1 root root 92090 Oct 1 21:18 editcap -rwxr-xr-x. 1 root root 46389 Oct 1 21:18 mergecap -rwxr-xr-x. 1 root root 31389 Oct 1 21:18 randpkt -rwxr-xr-x. 1 root root 170006 Oct 1 21:18 rawshark -rwxr-xr-x. 1 root root 30821 Oct 1 21:18 reordercap -rwxr-xr-x. 1 root root 117998 Oct 1 21:18 text2pcap -rwxr-xr-x. 1 root root 1047216 Oct 1 21:18 tshark -rwxr-xr-x. 1 root root 8623230 Oct 1 21:18 wireshark -rwxr-xr-x. 1 root root 34056566 Oct 1 21:18 wireshark-qt [root@frank bin]# ./wireshark <<< can worknormal
Mv all “/usr/local/wireshark/bin” to /usr/bin/, issue resolved.
Refer to “/bin,/sbin,/usr/sbin,/usr/bin”, please check here.