Wireshark-dev: Re: [Wireshark-dev] Wireshark 0.99.5 "makerpm-package"problemsonRHEL3
From: "Maynard, Chris" <[email protected]>
Date: Mon, 9 Apr 2007 14:03:15 -0400
I figured out the problem with the /usr/lib conflict.  The default
location specified by "prefix" in packaging/rpm/SPECS/wireshark.spec.in
is set to /usr, rather than to /usr/local.  Changing it allowed me to
create an .rpm and install it without conflicting with the wiretap
library already installed in /usr/.

I can't create an svn diff at the moment (proxy troubles), but consider
this one-line change to the file, packaging/rpm/SPECS/wireshark.spec.in:

%define prefix   /usr

%define prefix   /usr/local

- Chris
(Bug 1509 updated.)

-----Original Message-----
From: Maynard, Chris 
Sent: Monday, April 09, 2007 12:11 PM
To: 'Developer support list for Wireshark'
Subject: RE: [Wireshark-dev] Wireshark 0.99.5

I think I've found out what's going wrong, and it doesn't appear to be
specific to RHEL3.  You obviously can't run "make rpm-package" until
after both the autogen.sh and configure scripts are run in order to
generate the Makefile in the first place.  In my case, I run configure
with lots of options, including "--disable-gtk2".  If you then run
"make", it works fine ... compiling Wireshark w/out gtk2.  

However, if you then run "make rpm-package", all the sources are copied
to wireshark-0.99.5/packaging/rpm/BUILD/wireshark-0.99.5/, then from
what I gather, autogen.sh and configure are then re-run automatically,
but, this time configure is run WITHOUT the options originally selected
before.  So that's why the rpm-package fails because RHEL3 does not have
gtk2.4, and even though I tried to disable it, the configure options are
not used.

To work around that problem, I manually edited configure.in to set all
the options I wanted, then re-ran autogen.sh and configure, then "make
rpm-package".  This successfully built an rpm without gtk2 (or any of
the other packages I didn't need).

Unfortunately, I ran into another problem when trying to install the
rpm -ivh wireshark-0.99.5-2.i386.rpm
Preparing...                ###########################################
        file /usr/lib/libwiretap.so.0.0.1 from install of
wireshark-0.99.5-2 conflicts with file from package

I know I can force the installation, but why should there be a conflict
at all?  The wiretap used with ethereal-0.99.0 is installed in
/usr/lib/, but the wiretap used with Wireshark should be installing in
/usr/local/lib/.  The default installation is /usr/local/lib, and I've
verified that in both the Wireshark and wiretap configure scripts.  Any
ideas on this one?

And rather than having to manually edit configure.in in order to create
an .rpm with your desired packages & optional components, is there a
better way to do this?

- Chris
(I have updated bug 1509 in the bugzilla database to reflect these
latest findings.)

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Maynard, Chris
Sent: Saturday, March 31, 2007 1:48 PM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] Wireshark 0.99.5

I just noticed my post and that somewhere in transition, what I typed
was not exactly what was posted.  The scripts are obviously run from the
current directory "./", not from the upper-level "../" directory.  The
buildrpm.sh script I actually run is attached.

- Chris

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Maynard, Chris
Sent: Friday, March 30, 2007 5:23 PM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] Wireshark 0.99.5 "make

Right.  I run a buildrpm.sh script that essentially encapsulates the

make clean
make rpm-package

The conf.sh script is attached.  It disables almost everything
(including gtk2), again as I'm primarily only interested in tshark for
this particular rpm.  I attached the output of the configuration in a
prior post, but that is attached again here as well.  Anyway, I still
get the "undefined reference" failure, so my feeling is that this
function is incorrectly being used in all cases and not taking into
account whether gtk2 is actually enabled or not.  But even if it is
enabled, shouldn't there be a check somewhere for 2.4 or greater?
Regardless, for my purposes, I'd be happy to get it working with gtk1
only, but as I said, it still fails with the same error.

P.S. In case the conf.sh script gets mangled in transit for some reason,
here's the basic contents:

..../configure --disable-gtk2 --enable-wireshark=no --enable-tshark=yes
--enable-editcap=yes --enable-dumpcap=yes --enable-capinfos=no
--enable-mergecap=yes --enable-text2pcap=no --enable-idl2wrs=no
--enable-dftest=no --enable-randpkt=no --enable-ipv6=no
--enable-threads=no --without-ssl --without-net-snmp --without-adns
--without-lua --without-portaudio --without-pcre --without-krb5

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Stephen Fisher
Sent: Friday, March 30, 2007 5:00 PM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] Wireshark 0.99.5 "make rpm-package"

On Fri, Mar 30, 2007 at 08:23:08PM +0200, Ulf Lamping wrote:

> You may try GTK 1.2 which should still work. Don't ask me how to do 
> (configure) this, I'm currently Win32 only ;-)

..../configure --disable-gtk2 :)


This email may contain confidential and privileged material for the
sole use of the intended recipient(s). Any review, use, retention,
distribution or disclosure by others is strictly prohibited. If you
are not the intended recipient (or authorized to receive for the
recipient), please contact the sender by reply email and delete all
copies of this message. Also, email is susceptible to data
corruption, interception, tampering, unauthorized amendment and
viruses. We only send and receive emails on the basis that we are
not liable for any such corruption, interception, tampering,
amendment or viruses or any consequence thereof.