Update:
I have it compiling a basic "Hello World" program, and I'm even compiling a few of the smaller ports (TinyDNS for one) using
pathcc.
I notice that if I execute
pathCC --help (the c++ version) I receive
error message about halfway through the help output dump. Probably not a good thing, but maybe it's just a silly error. I'm able to compile simple programs with
pathCC or
pathcc.
I also notice that any port that uses
configure doesn't like
pathcc - It fails the c preprocessor tests.
Code:
checking for /opt/path64/bin/pathcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of /opt/path64/bin/pathcc... gcc3
checking how to run the C preprocessor... /opt/path64/bin/pathCC
configure: error: C preprocessor "/opt/path64/bin/pathCC" fails sanity check
===> Script "configure" failed unexpectedly.
Please report the problem to vd@FreeBSD.org [maintainer] and attach the
"/usr/ports/net-mgmt/iftop/work/iftop-0.17/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1
The way I get around this is;
- set
/etc/make.conf back to the defaults (use
gcc)
- run
make configure in the port to generate all the configure data
- set
/etc/make.conf to the
pathcc files
-
make install
Worked for
iftop, and it runs. I'm going to keep playing with some of the ports and see how this works. I'm interested in
samba35, as I've seen increased performance with
gcc46 and
-O3 optimization on my file servers, so there could be room for
pathcc to help as well.
Kernel:
Being aggressively optimistic, I went for a
buildkernel - And it's as messy as you'd expect. I know I won't receive help on it here, but others will want to try this, so I'm passing on what I'm finding.
One option that is helpful for using
pathcc as a drop-in for
gcc is
-woffoptions, the rest is manually ripped out of the
kern.mk files, to see how far I can push this to compile.
Where a
buildworld dies today is:
Code:
### Assertion failure at line 521 of /test/path64/src/be/cg/tnutil.cxx:
### Compiler Error in file /usr/src/sys/fs/nfsclient/nfs_clbio.c during Code_Expansion phase:
### don't know how to make dedicated TN for class (null)
*** Error code 1
Stop in /usr/obj/usr/src/sys/sankernel2.
*** Error code 1
Stop in /usr/src.
*** Error code 1
Stop in /usr/src.
I see complaints about this on the Open64 compiler threads as well.
We'll see how much time I have tomorrow to test this further.