All of lore.kernel.org
 help / color / mirror / Atom feed
* location of headers under /usr/include/tirpc
@ 2008-02-14 22:09 Chuck Lever
  2008-02-15 17:46 ` Steve Dickson
  0 siblings, 1 reply; 3+ messages in thread
From: Chuck Lever @ 2008-02-14 22:09 UTC (permalink / raw)
  To: Steve Dickson; +Cc: NFS list

Hi Steve-

I think libtirpc-devel installs the tirpc headers in the wrong  
place.  The #include directives in the headers themselves expect them  
to appear under /usr/include, not under /usr/include/tirpc, so my  
builds fail when trying to include these headers.

For example, /usr/include/tirpc/rpc/rpcb_clnt.h does a "#include <rpc/ 
rpcb_prot.h>" -- and the build chokes because that header is actually  
in /usr/include/tirpc/rpc/rpcb_prot.h.

Now, I can probably fix this temporarily by adding "-I /usr/include/ 
tirpc" to my build.  However:

1.  On Solaris, these all appear under /usr/include, there is no /usr/ 
include/tirpc.

2.  libtirpc-devel installs a bunch of files that already exist, such  
as /usr/include/rpc/auth.h, in /usr/include/tirpc/rpc/auth.h.

It would be cleaner to have one place for nfs-utils to look for these  
headers, so I don't want to permanently add "-I /usr/include/tirpc"  
or autoconf magic to find the right path unless we decide /usr/ 
include/tirpc is the final location for these files.

So I think applications in general will expect to find these under / 
usr/include, not under /usr/include/tirpc.

Comments?

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: location of headers under /usr/include/tirpc
  2008-02-14 22:09 location of headers under /usr/include/tirpc Chuck Lever
@ 2008-02-15 17:46 ` Steve Dickson
       [not found]   ` <47B5CFEE.2020502-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Steve Dickson @ 2008-02-15 17:46 UTC (permalink / raw)
  To: Chuck Lever; +Cc: NFS list



Chuck Lever wrote:
> Hi Steve-
> 
> I think libtirpc-devel installs the tirpc headers in the wrong place. 
> The #include directives in the headers themselves expect them to appear
> under /usr/include, not under /usr/include/tirpc, so my builds fail when
> trying to include these headers.
> 
> For example, /usr/include/tirpc/rpc/rpcb_clnt.h does a "#include
> <rpc/rpcb_prot.h>" -- and the build chokes because that header is
> actually in /usr/include/tirpc/rpc/rpcb_prot.h.
> 
> Now, I can probably fix this temporarily by adding "-I
> /usr/include/tirpc" to my build.  However:
> 
> 1.  On Solaris, these all appear under /usr/include, there is no
> /usr/include/tirpc.
> 
> 2.  libtirpc-devel installs a bunch of files that already exist, such as
> /usr/include/rpc/auth.h, in /usr/include/tirpc/rpc/auth.h.
> 
> It would be cleaner to have one place for nfs-utils to look for these
> headers, so I don't want to permanently add "-I /usr/include/tirpc" or
> autoconf magic to find the right path unless we decide
> /usr/include/tirpc is the final location for these files.
> 
> So I think applications in general will expect to find these under
> /usr/include, not under /usr/include/tirpc.
> 
> Comments?
Its not clear what we can do. We just can't replace the file 
under /usr/include with the tirpc since that would break other
RPC applications. 

So what I think needs to happens, is I need to create 
a libtirpc.pc file that will live in /usr/lib/pkgconfig/  so you 
can used things like 
    pkg-config --libs libtirpc and pkg-config --cflags libgssglue

similar to how the librpcsecgss.pc and libgssglue.pc work

steved.


a 
> 
> -- 
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: location of headers under /usr/include/tirpc
       [not found]   ` <47B5CFEE.2020502-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
@ 2008-02-15 19:10     ` Chuck Lever
  0 siblings, 0 replies; 3+ messages in thread
From: Chuck Lever @ 2008-02-15 19:10 UTC (permalink / raw)
  To: Steve Dickson; +Cc: NFS list

On Feb 15, 2008, at 12:46 PM, Steve Dickson wrote:
> Chuck Lever wrote:
>> Hi Steve-
>>
>> I think libtirpc-devel installs the tirpc headers in the wrong place.
>> The #include directives in the headers themselves expect them to  
>> appear
>> under /usr/include, not under /usr/include/tirpc, so my builds  
>> fail when
>> trying to include these headers.
>>
>> For example, /usr/include/tirpc/rpc/rpcb_clnt.h does a "#include
>> <rpc/rpcb_prot.h>" -- and the build chokes because that header is
>> actually in /usr/include/tirpc/rpc/rpcb_prot.h.
>>
>> Now, I can probably fix this temporarily by adding "-I
>> /usr/include/tirpc" to my build.  However:
>>
>> 1.  On Solaris, these all appear under /usr/include, there is no
>> /usr/include/tirpc.
>>
>> 2.  libtirpc-devel installs a bunch of files that already exist,  
>> such as
>> /usr/include/rpc/auth.h, in /usr/include/tirpc/rpc/auth.h.
>>
>> It would be cleaner to have one place for nfs-utils to look for these
>> headers, so I don't want to permanently add "-I /usr/include/ 
>> tirpc" or
>> autoconf magic to find the right path unless we decide
>> /usr/include/tirpc is the final location for these files.
>>
>> So I think applications in general will expect to find these under
>> /usr/include, not under /usr/include/tirpc.
>>
>> Comments?
> Its not clear what we can do. We just can't replace the file
> under /usr/include with the tirpc since that would break other
> RPC applications.

Fortunately it may not be all that bad.  The file I looked at that  
appeared in both places (/usr/include/rpc/auth.h and /usr/include/ 
tirpc/rpc/auth.h) was exactly the same.  I'll bet most or all of the  
duplicate files are the same, since they come from the same origin  
(Sun) and perform the same duty.

The duplicates appear to come from glibc-headers-2.6-4... wouldn't be  
hard to add a dependency in libtirpc-devel on glibc-headers-2.6.4 to  
ensure these get installed first.

> So what I think needs to happens, is I need to create
> a libtirpc.pc file that will live in /usr/lib/pkgconfig/  so you
> can used things like
>     pkg-config --libs libtirpc and pkg-config --cflags libgssglue
>
> similar to how the librpcsecgss.pc and libgssglue.pc work

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-02-15 19:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-14 22:09 location of headers under /usr/include/tirpc Chuck Lever
2008-02-15 17:46 ` Steve Dickson
     [not found]   ` <47B5CFEE.2020502-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2008-02-15 19:10     ` Chuck Lever

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.