On Friday, April 28, 2006 04:49:57 PM -0400 "Halter, Jonathan" <[EMAIL PROTECTED]> wrote:

-----Original Message-----

Yes, that's not surprising. There are autoconf macros
(src/cf/solaris-cc.m4, i think) which could be hooked in, or
better yet a
test which tries to determine if a gcc which supports
compiling Solaaris
kernel modules (and uses the requisite flags instead of cc flags in
libafs/MakefileProto.SOLARIS.in) would be nice, if someone
wants to do the
work on that and contribute it I will certainly find some
time to work
with them on it, but at the moment I don't have time to just
do the work.

There's no point in testing. We know it really wants
/opt/SUNWspro/bin/cc.
If you want it to not want that, it's going to need some help.

Derrick

I am not necessarily interested in using gcc to compile openafs on
Solaris.

I just wanted to point out that since our Sun Studio compilers are not
located in /opt/SUNWspro, I am used to explicitly setting
CC=/apps/coe/bin/cc for configuring a package to use Sun's cc on our
system. This does not seem to work for openafs's configure. It insists
on using /opt/SUNWspro/bin/cc instead of obeying the location (
CC=/apps/coe/bin/cc ) that I've tried to set.



Ok; it boils down to this...

The build process currently uses one compiler for everything.
To build the kernel, that compiler _must_ be Sun's CC; gcc won't work.
Unfortunately, configure is often overly agressive about finding a gcc instead of the compiler we want, especially since it likes to look in /usr/local, and likes to look for 'gcc', and the Sun compiler is generally someplace that configure won't find on its own.

So, we completely ignore configure and use a compiler of our choosing. At present, this is hard-coded; there is no way to override it from the command line. In the long run, we'd like to compile user-mode code with the compiler configure finds, and kernel code with the Sun compiler, and give you a way to tell configure where the latter is located. For the moment, none of the code required to do that has been written, so until someone who understands the problem (or can gain an understanding) has some time to spend on it, we're stuck with things the way they are now.


To work around the problem, you will want to edit src/cf/osconf.m4, find the stanza for sun4x_59 or whatever Solaris you're using, and change the definitions of CC, CCOBJ, and MT_CC to point to whereever your compiler really is. Then rebuild the configure script by running regen.sh in the top level (for that you'll need autoconf and automake installed). You may _also_ have to set CC in configure's environment or on the command line, to make the tests work.

Yes, this sucks. That's what you get for not installing the compiler where Sun thinks you should. I have the same problem, and I patch around it in the same way every time.

-- Jeffrey T. Hutzelman (N3NHS) <[EMAIL PROTECTED]>
  Sr. Research Systems Programmer
  School of Computer Science - Research Computing Facility
  Carnegie Mellon University - Pittsburgh, PA

_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to