Closed Bug 29412 Opened 25 years ago Closed 25 years ago

sockaddr_in6 declaration missing from sparc linux build

Categories

(NSPR :: NSPR, defect, P3)

Sun
Linux
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cls, Assigned: srinivas)

Details

The seera SeaMonkey-Ports tinderbox build is failing in NSPR because of a missing sockaddr_in6 declaration in nsprpub/pr/src/misc/prnetdb.c . sockaddr_in6 is declared in <linux/in6.h> in recent 2.2 kernels as well as <netinet/in.h> in glibc 2.1.x.
It appears to be missing from the Linux Alpha build as well. Hrm. Scary thought just occurred to me. It's possible that those tinderboxes are using outdated scripts and therefore are pulling the NSPR tip instead of a tag. Leaf?
In NSPR 4.0, the symbol USE_IPV6 is set in nsprpub/config/Linux.mk for compiling with native IPV6 mode. On older installations of glibc, NSPR builds fail due to lack of IPv6 symbols in the compilation environment. To workaround this problem one can unset USE_IPV6 on the command line USE_IPV6= gmake Is there a minimum rev of glibc required for Seamonkey?
Status: NEW → ASSIGNED
Most of the ports pages are, in fact, using the old script, and pulling nspr from the tip. I think it's best to leave them running like this until we get around to fixing them... this is the best inventory of machines running tinderbox we have.
Since I merged the NSPR 4.0 release onto the main trunk last week, these ports machines are also pulling NSPR 4.0 (via the tip) at the moment.
I don't think we officially have a glibc version as a requirement. The unix build page does not say anything about libc. It's "common-knowledge" that the dynamic loaders of glibc versions less than 2.1 are not thread-safe and not recommended.
Is IPv6 support available during compilation on all platforms when using a version of glibc that is no less than 2.1? If so, the NSPR makefiles can be modified to detect the version of glibc at compilation time and compile in IPv6 support only when the version of glibc >= 2.1
This is fixed in NSPR 4.0 release. We check the macros __GLIBC__ and __GLIBC_MINOR__ and define _PR_INET6 (which means the IPv6 socket API is present) if the glibc version is 2.1 or newer.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Target Milestone: --- → 4.0
Verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.