Re: Question about building source

2001-05-13 Thread Warner Losh

In message [EMAIL PROTECTED] David Mr. Hackers O'Brien writes:
: I went thru this last month -- bsd.*.mk assumes /usr/src and the base
: compilers.  Peroid.  People didn't want to accept that, but you are
: giving more proof of it.  If you want to change the assumptions of about
: the base system, you have to be willing to change bsd.*.mk.  Peroid.

All my systems that build sources have not had a /usr/src at all for
at least three years, maybe 4 now.  Nothing in bsd.*.mk assumes
/usr/src and things work just fine without them.  And have for years.
Terry must be doing something else wrong. :-)

You may be right about non-default compilers.  We at timing solutions
have a bunch of files that wrap bsd.*.mk that allow us to change the
compiler to compile our sources.  But I've always run into problems
trying to do that in the past.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-12 Thread Terry Lambert

David Mr. Hackers O'Brien wrote:
 On Thu, May 10, 2001 at 08:28:41AM -0700, Terry Lambert wrote:
   If it doesn't work as you have said, make release' also _doesn't_
   work; we cannot make a distribution. Obviously, it's wrong:)
 
  I think you are missing the facts:
 ...
  o Look in /usr/share/bsd.prog.mk for .if defined(DESTDIR);
it overrides my compiler defaults for the values of CFLAGS
and CXXINCLUDES.  This makes them _WRONG_:
 ...
  The BSD .mk files insist on using the wrong .mk files; I don't
  know how much clearer I can make it?!?
 
 I went thru this last month -- bsd.*.mk assumes /usr/src and
 the base compilers.  Peroid.  People didn't want to accept
 that, but you are giving more proof of it.  If you want to
 change the assumptions of about the base system, you have to
 be willing to change bsd.*.mk.  Peroid.

It's trivial to fix.  I've posted the patches twice, now;
I've had the problem since 3.x, when I was working at
Whistle, and first had the problem, after fixing threaded
exception handling in g++ with Jeremy Allison.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-10 Thread Terry Lambert

Makoto MATSUSHITA wrote:
 tlambert2 It still breaks.  See bsd.orig.mk; you _can't_ use a
 tlambert2 compiler other than one installed in the default location,
 tlambert2 or it will override the compiler defaults which tell it
 tlambert2 where the correct header and crt0 files live.  Really.
 
 ???
 
 If you run 'chroot /vol1/FreeBSD /bin/sh', you'll get an environment
 that /vol1/FreeBSD is /; Compiler is in /usr/bin/cc.  Headers are in
 /usr/include. Crt* files are in /usr/lib.  All files are located as it
 should be.
 
 If it doesn't work as you have said, make release' also _doesn't_
 work; we cannot make a distribution. Obviously, it's wrong:)

I think you are missing the facts:

o   I am using a non-default compiler installation, so
that mu C++ include directory is in /usr/local/include

o   DESTDIR is set

o   Look in /usr/share/bsd.prog.mk for .if defined(DESTDIR);
it overrides my compiler defaults for the values of CFLAGS
and CXXINCLUDES.  This makes them _WRONG_:

.if defined(DESTDIR)
CFLAGS+= -I${DESTDIR}/usr/include
CXXINCLUDES+= -I${DESTDIR}/usr/include/g++
.endif

o   Look in /usr/share/bsd.lib.mk: it does the same thing:

.if defined(DESTDIR)
CFLAGS+= -I${DESTDIR}/usr/include
CXXINCLUDES+= -I${DESTDIR}/usr/include/g++
.endif

Specifically, you get the _WRONG_ rtti and other C++ header
files, which makes exceptions and run time type information
_NOT WORK_.

See also:

http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/mk/bsd.prog.mk?rev=1.86.2.3content-type=text/x-cvsweb-markup

http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/mk/bsd.lib.mk?rev=1.91.2.1content-type=text/x-cvsweb-markup

The /usr/include/g++ files are _WRONG_...

The /usr/local/include/g++ are _RIGHT_...

The BSD .mk files insist on using the wrong .mk files; I don't
know how much clearer I can make it?!?


-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-10 Thread David Mr. Hackers O'Brien

On Thu, May 10, 2001 at 08:28:41AM -0700, Terry Lambert wrote:
  If it doesn't work as you have said, make release' also _doesn't_
  work; we cannot make a distribution. Obviously, it's wrong:)
 
 I think you are missing the facts:
... 
 o Look in /usr/share/bsd.prog.mk for .if defined(DESTDIR);
   it overrides my compiler defaults for the values of CFLAGS
   and CXXINCLUDES.  This makes them _WRONG_:
... 
 The BSD .mk files insist on using the wrong .mk files; I don't
 know how much clearer I can make it?!?

I went thru this last month -- bsd.*.mk assumes /usr/src and the base
compilers.  Peroid.  People didn't want to accept that, but you are
giving more proof of it.  If you want to change the assumptions of about
the base system, you have to be willing to change bsd.*.mk.  Peroid.

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-09 Thread Terry Lambert

Makoto MATSUSHITA wrote:
 
 tlambert2 FWIW: This breaks if you have updated your C++ compiler,
 tlambert2 since the .mk files incorrectly override the paths for
 tlambert2 thing like the RTTI header files and the CRT0 stuff...
 
 We have chroot(8) already, no problems:) Perhaps the original poster
 assume that /vol1/FreeBSD is for a jail(8) environment.

It still breaks.  See bsd.orig.mk; you _can't_ use a compiler
other than one installed in the default location, or it will
override the compiler defaults which tell it where the correct
header and crt0 files live.  Really.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-09 Thread Makoto MATSUSHITA


tlambert2 It still breaks.  See bsd.orig.mk; you _can't_ use a
tlambert2 compiler other than one installed in the default location,
tlambert2 or it will override the compiler defaults which tell it
tlambert2 where the correct header and crt0 files live.  Really.

???

If you run 'chroot /vol1/FreeBSD /bin/sh', you'll get an environment
that /vol1/FreeBSD is /; Compiler is in /usr/bin/cc.  Headers are in
/usr/include. Crt* files are in /usr/lib.  All files are located as it
should be.

If it doesn't work as you have said, make release' also _doesn't_
work; we cannot make a distribution. Obviously, it's wrong:)

-- -
Makoto `MAR' MATSUSHITA

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-09 Thread Dave Hayes

Terry Lambert [EMAIL PROTECTED] writes:
 It still breaks.  See bsd.orig.mk; you _can't_ use a compiler
 other than one installed in the default location, or it will
 override the compiler defaults which tell it where the correct
 header and crt0 files live.  Really.

So this breaks the C++ compiler and any apps that were compiled with
this? Forgive me if I don't understand this...
--
Dave Hayes - Consultant - Altadena CA, USA - [EMAIL PROTECTED] 
 The opinions expressed above are entirely my own 

They that can give up essential liberty to obtain a little temporary 
safety deserve neither liberty nor safety.-Benjamin Franklin



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-08 Thread Makoto MATSUSHITA


dave $ cd /usr/src
dave $ make installworld DESTDIR=/vol1/FreeBSD
dave will install the entire OS into /vol1/FreeBSD?

Yes (or it should be).

dave Has anyone ever tried this? ;)

You should have already seen the result that uses make installworld
DESTDIR=/what/ever -- FreeBSD distribution itself :-)

-- -
Makoto `MAR' MATSUSHITA

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-08 Thread Terry Lambert

Makoto MATSUSHITA wrote:
 dave $ cd /usr/src
 dave $ make installworld DESTDIR=/vol1/FreeBSD
 dave will install the entire OS into /vol1/FreeBSD?
 
 Yes (or it should be).
 
 dave Has anyone ever tried this? ;)
 
 You should have already seen the result that uses make installworld
 DESTDIR=/what/ever -- FreeBSD distribution itself :-)

FWIW: This breaks if you have updated your C++ compiler,
since the .mk files incorrectly override the paths for
thing like the RTTI header files and the CRT0 stuff...

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Question about building source

2001-05-08 Thread Makoto MATSUSHITA


tlambert2 FWIW: This breaks if you have updated your C++ compiler,
tlambert2 since the .mk files incorrectly override the paths for
tlambert2 thing like the RTTI header files and the CRT0 stuff...

We have chroot(8) already, no problems:) Perhaps the original poster
assume that /vol1/FreeBSD is for a jail(8) environment.

-- -
Makoto `MAR' MATSUSHITA

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message