Ethereal-dev: Re: [ethereal-dev] Ethereal on SGI

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Randall Hopper <aa8vb@xxxxxxxxx>
Date: Mon, 20 Sep 1999 07:52:19 -0400
Guy Harris:
 |>    Ethereal doesn't use RPATH (see ld(1) for shared library linking on all
 |>    platforms that support it (e.g. SGI IRIX, FreeBSD ELF, etc.), just
 |>    Solaris it appears.  Instead, ethereal recommends use of the
 |>    LD_LIBRARY_PATH hack which causes all sorts problems.
 |> 
 |>    On SGI IRIX this is -rpath to the linker, on Solaris -R, on FreeBSD ELF
 |>    --rpath, etc.
 |
 |"--rpath" and LD_LIBRARY_PATH shouldn't be necessary on FreeBSD - the
 |run-time linker should be configured to search in the directory in which
 |libraries such as "-lgtk", "-lgdk", and "-lglib" live.

Well, this is true only if we assume that gtk/gdk/glib were built and
installed by root in directories picked up by the runtime linker.  On
commercial systems with an administrator, not all users have root
priviledge to perform this type of install.  I believe the same same
argumet applies to Solaris (which also has a default shared lib search path).

 |For IRIX, "autoconf" should be fixed to use "-rpath" (i.e., this isn't
 |specific to Ethereal).

Ok, I don't know much about autoconf.  I assume it's behavior can be
changed on a per-user basis (?)  

In any case, if -rpath should come from autoconf, why is there
Solaris-specific RPATH (-R) behavior in configure?  Shouldn't Solaris be
doing the same?  Or shouldn't it also be doing this
LD_LIBRARY_PATH-to-RPATH pick-up for Solaris, FreeBSD, etc. as well.

 |>    __P not defined -- packet-snmp.c fails to build
 |>    (gcc version 2.95.1 19990816 (release), SGI IRIX 6.5.5f)
 |> 
 |>    SOLUTION:  Include gnuc.h -- it defines it
 |
 |Does every system on which Ethereal can be built have "gnuc.h"?  (Note
 |that if Ethereal requires GCC, this is arguably a deficiency....)

Right.  I wasn't proposing this as the best fix, just what got it compiling
on this system.

FWIW, I also find __P in <sys/cdefs.h> here in IRIXland.  According to past
news postings, this non-POSIX, BSD- and/or GNU-derived header file.

-- 
Randall Hopper
aa8vb@xxxxxxxxx