Re: Does anyone regularly build HEAD with clang?

2012-02-14 Thread Jordan K. Hubbard

On Feb 13, 2012, at 9:09 AM, Niclas Zeising wrote:

> The ML ate the attachments. Either attach them as text/plain or post
> them online somewhere.

Well, Brandon Falk actually appears to have nailed the root cause.  I followed 
older instructions on http://wiki.freebsd.org/BuildingFreeBSDWithClang which 
said to set CPP="clang -E" and this has been updated to "clang-cpp", which I 
didn't realize it.  Once I made that change in make.conf, everything is 
proceeding perfectly!  It's on a slow atom box so my "make world kernel" hasn't 
actually completed yet, but I think it's gone far enough that I can assume 
success!

Sorry for the stale build settings which led to a false alarm on my part, and 
thanks to Brandon for replying off-list with the solution!

- Jordan

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Dimitry Andric
On 2012-02-13 20:10, Brandon Falk wrote:
> I was having the exact same issue. The fix? 'CPP=clang-cpp' instead of
> 'CPP=clang -E' in your make.conf.

Yes, you should indeed use clang-cpp instead of clang -E.  Similarly,
never use CPP=gcc -E.

This is because in "cpp mode", both gcc and clang behave a little
differently than with -E: unknown file extensions (such as the .x
extension used for RPC) will be treated as C.

But when you use -E, any unknown file extension will be considered an
object file, and passed to the linker.

Normally, this should lead to errors during building of the rpc include
files though... I wonder why this does not happen in your case.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Brandon Falk
I was having the exact same issue. The fix? 'CPP=clang-cpp' instead of
'CPP=clang -E' in your make.conf.

-Brandon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Niclas Zeising
On 2012-02-13 17:56, Jordan K. Hubbard wrote:
> 
> On Feb 13, 2012, at 5:59 AM, Dimitry Andric wrote:
> 
>> I build it very regularly, and there are several buildbots that also
>> build it continously (though they currently don't spam the mailing
>> lists).  For me, and the buildbots, head builds just fine with clang,
>> though.  What was the exact error you got during buildworld?
> 
> For that one, the error was:
> 
> clang  -O2 -pipe  -I/usr/src/lib/libc/include 
> -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 -DNLS  
> -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 
> -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE 
> -DPOSIX_MISTAKE -I/usr/src/lib/libc/../../contrib/tzcode/stdtime 
> -I/usr/src/lib/libc/stdtime -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP 
> -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING 
> -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k 
> -Wno-uninitialized -Wno-pointer-sign -Wno-tautological-compare 
> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function 
> -Wno-conversion -Wno-switch-enum -Wno-empty-body -c 
> /usr/src/lib/libc/rpc/clnt_bcast.c -o clnt_bcast.o
> In file included from /usr/src/lib/libc/rpc/clnt_bcast.c:61:
> In file included from /usr/src/lib/libc/../../include/rpc/rpc.h:76:
> /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h:69:8: error: unknown type name
>   'rpcblist'
> extern rpcblist *rpcb_getmaps(const struct netconfig *, const char *);
>^
> 
> Though having made my small patch, I've now moved on to:
> 
> ./contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc 
> -I/usr/src/lib/libc/resolv -
> D_ACL_PRIVATE -DPOSIX_MISTAKE 
> -I/usr/src/lib/libc/../../contrib/tzcode/stdtime -
> I/usr/src/lib/libc/stdtime -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP 
> -DD
> ES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING 
> -std=gn
> u99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k 
> -Wno-uninitialized
> -Wno-pointer-sign -Wno-tautological-compare -Wno-unused-value 
> -Wno-parentheses-e
> quality -Wno-unused-function -Wno-conversion -Wno-switch-enum -Wno-empty-body 
> -c
>  /usr/src/lib/libc/rpc/clnt_bcast.c -o clnt_bcast.o
> /usr/src/lib/libc/rpc/clnt_bcast.c:273:28: error: variable has incomplete 
> type '
> struct r_rpcb_rmtcallargs'
> struct r_rpcb_rmtcallargs barg; /* Remote arguments */
>   ^
> 
> During stage 4.2: building libraries.
> 
>> What are your CC, CXX and CPP settings in make.conf?  And can you please
>> post the file:
> 
> My make.conf is pretty bleeding edge, tailored to seeing how far along 
> FreeBSD is to making the full transition away from gcc and other GPL'd bits.  
> I'll attach it.
> 
>>  /usr/obj/usr/src/tmp/usr/include/rpc/rpcb_prot.h
> 
> Also attached.
> 
> 
> Thanks for the prompt reply!
> 
> - Jordan

The ML ate the attachments. Either attach them as text/plain or post
them online somewhere.
Regards!
-- 
Niclas
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Jordan K. Hubbard

On Feb 13, 2012, at 5:59 AM, Dimitry Andric wrote:

> I build it very regularly, and there are several buildbots that also
> build it continously (though they currently don't spam the mailing
> lists).  For me, and the buildbots, head builds just fine with clang,
> though.  What was the exact error you got during buildworld?

For that one, the error was:

clang  -O2 -pipe  -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include 
-I/usr/src/lib/libc/i386 -DNLS  -D__DBINTERFACE_PRIVATE 
-I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc 
-I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE 
-I/usr/src/lib/libc/../../contrib/tzcode/stdtime -I/usr/src/lib/libc/stdtime 
-I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN 
-I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99 
-fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized 
-Wno-pointer-sign -Wno-tautological-compare -Wno-unused-value 
-Wno-parentheses-equality -Wno-unused-function -Wno-conversion -Wno-switch-enum 
-Wno-empty-body -c /usr/src/lib/libc/rpc/clnt_bcast.c -o clnt_bcast.o
In file included from /usr/src/lib/libc/rpc/clnt_bcast.c:61:
In file included from /usr/src/lib/libc/../../include/rpc/rpc.h:76:
/usr/src/lib/libc/../../include/rpc/rpcb_clnt.h:69:8: error: unknown type name
  'rpcblist'
extern rpcblist *rpcb_getmaps(const struct netconfig *, const char *);
   ^

Though having made my small patch, I've now moved on to:

./contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -
D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libc/../../contrib/tzcode/stdtime -
I/usr/src/lib/libc/stdtime -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DD
ES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING -std=gn
u99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized
-Wno-pointer-sign -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-e
quality -Wno-unused-function -Wno-conversion -Wno-switch-enum -Wno-empty-body -c
 /usr/src/lib/libc/rpc/clnt_bcast.c -o clnt_bcast.o
/usr/src/lib/libc/rpc/clnt_bcast.c:273:28: error: variable has incomplete type '
struct r_rpcb_rmtcallargs'
struct r_rpcb_rmtcallargs barg; /* Remote arguments */
  ^

During stage 4.2: building libraries.

> What are your CC, CXX and CPP settings in make.conf?  And can you please
> post the file:

My make.conf is pretty bleeding edge, tailored to seeing how far along FreeBSD 
is to making the full transition away from gcc and other GPL'd bits.  I'll 
attach it.

>  /usr/obj/usr/src/tmp/usr/include/rpc/rpcb_prot.h

Also attached.


Thanks for the prompt reply!

- Jordan

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Dimitry Andric
On 2012-02-13 06:42, Jordan K. Hubbard wrote:
> I've noticed that it's been broken for about a week as a result of:
> 
> --- /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h.orig  2012-02-12 
> 22:42:29.0 -0800
> +++ /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h   2012-02-12 
> 22:41:27.0 -0800
> @@ -66,7 +66,7 @@
>  const struct netconfig  *, const struct netbuf *);
>  extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
>const struct netconfig *);
> -extern rpcblist  *rpcb_getmaps(const struct netconfig *, const char *);
> +extern struct rpcblist   *rpcb_getmaps(const struct netconfig *, const 
> char *);
>  extern enum clnt_stat rpcb_rmtcall(const struct netconfig *,
>  const char *, const rpcprog_t,
>  const rpcvers_t, const rpcproc_t,
> 
> Easy fix (I don't have a commit bit anymore or I'd just check it in), but it 
> makes me wonder if anyone is building with clang on a regular basis or they'd 
> have caught this one quickly.

I build it very regularly, and there are several buildbots that also
build it continously (though they currently don't spam the mailing
lists).  For me, and the buildbots, head builds just fine with clang,
though.  What was the exact error you got during buildworld?

In any case, it is likely your problem is caused by my recent fixes to
rpcgen, which make it use the C preprocessor built during buildworld,
instead of always using /usr/bin/cpp.

What are your CC, CXX and CPP settings in make.conf?  And can you please
post the file:

  /usr/obj/usr/src/tmp/usr/include/rpc/rpcb_prot.h

which should have been generated by rpcgen during build.  It is probably
missing the line:

  typedef struct rp__list rpcblist; 
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Does anyone regularly build HEAD with clang?

2012-02-13 Thread Roman Divacky
Yes, we do have a buildbots, ie.:

http://llvm-amd64.freebsd.your.org:8010/builders/freebsd-clang-amd64/

On Sun, Feb 12, 2012 at 09:42:47PM -0800, Jordan K. Hubbard wrote:
> I've noticed that it's been broken for about a week as a result of:
> 
> --- /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h.orig  2012-02-12 
> 22:42:29.0 -0800
> +++ /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h   2012-02-12 
> 22:41:27.0 -0800
> @@ -66,7 +66,7 @@
>  const struct netconfig  *, const struct netbuf *);
>  extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
>const struct netconfig *);
> -extern rpcblist  *rpcb_getmaps(const struct netconfig *, const char *);
> +extern struct rpcblist   *rpcb_getmaps(const struct netconfig *, const 
> char *);
>  extern enum clnt_stat rpcb_rmtcall(const struct netconfig *,
>  const char *, const rpcprog_t,
>  const rpcvers_t, const rpcproc_t,
> 
> Easy fix (I don't have a commit bit anymore or I'd just check it in), but it 
> makes me wonder if anyone is building with clang on a regular basis or they'd 
> have caught this one quickly.
> 
> Thanks,
> 
> - Jordan
> 
> ___
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Does anyone regularly build HEAD with clang?

2012-02-13 Thread Jordan K. Hubbard
I've noticed that it's been broken for about a week as a result of:

--- /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h.orig2012-02-12 
22:42:29.0 -0800
+++ /usr/src/lib/libc/../../include/rpc/rpcb_clnt.h 2012-02-12 
22:41:27.0 -0800
@@ -66,7 +66,7 @@
   const struct netconfig  *, const struct netbuf *);
 extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
 const struct netconfig *);
-extern rpcblist*rpcb_getmaps(const struct netconfig *, const char *);
+extern struct rpcblist *rpcb_getmaps(const struct netconfig *, const char *);
 extern enum clnt_stat rpcb_rmtcall(const struct netconfig *,
   const char *, const rpcprog_t,
   const rpcvers_t, const rpcproc_t,

Easy fix (I don't have a commit bit anymore or I'd just check it in), but it 
makes me wonder if anyone is building with clang on a regular basis or they'd 
have caught this one quickly.

Thanks,

- Jordan

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"