[OpenAFS-devel] Problems compiling openafs-1.2(3,4) on Solaris 9 release from Sun

Quanah Gibson-Mount quanah@stanford.edu
Mon, 10 Jun 2002 10:29:20 -0700


--On Saturday, June 08, 2002 2:10 PM -0400 Derrick J Brashear 
<shadow@dementia.org> wrote:

> On Sat, 8 Jun 2002, Quanah Gibson-Mount wrote:
>
>> Hello,
>>
>> I've built a Solaris 9 machine and downloaded the source for
>> openafs-1.2.3  and openafs-1.2.4, as the precompiled binaries do not
>> work with the release  shipped by Sun.  I installed forte 6u2 and have
>> attempted compiling both
>
> They were built against a prerelease, which at the time OpenAFS 1.2.4 was
> released, was all that was available.
>
>> sources.  However, they both fail at the same spot, trying to compile
>> afs_callback.c in MODLOAD32 (or MODLOAD64, if I tweak the makefile to
>> skip  the 32 bit one).  I ran configure --with-afs-sysname=sun4x_59
>> --enable-transarc-paths.
>
>> "../afs/afs_callback.c", line 696: undefined symbol: hrestime
>> "../afs/afs_callback.c", line 696: warning: left operand of "." must be
>> struct/union object
>
> It's a call to osi_Time, which is a macro:
># define osi_Time() (hrestime.tv_sec)
>
> I don't have a Solaris 9 machine (release or otherwise) so there's nothing
> I can tell you.

Derrick,

I've found the problem, here is a solution from SunSolve.
Basically, hrestime is no longer availabe in Solaris 9.

--Quanah

------- muxq_impl.cc -------
67a68
>       timespec_t      start;
74c75,76
<       start_time = hrestime.tv_sec;
---
>       gethrestime(&start);
>       start_time = start.tv_sec;
898c900,902
<               time_t  current_time = hrestime.tv_sec;
---
>               timespec_t current;
>               gethrestime(&current);
>               time_t  current_time = current.tv_sec;