Re: patch to add FreeBSD support

2002-02-10 Thread Adam Heath
On Sun, 10 Feb 2002, Wichert Akkerman wrote:

 Please don't use perl there, I want to get rid of all perl in dpkg.

This is during the build of dpkg.  That's a completely different area then the
running of dpkg.




Status of various major things

2002-02-10 Thread Joel Baker
XFree86: Builds cleanly, seems to run. Talking to the maintainer about some
differences in what it builds between the normal and NetBSD versions, and
how to resolve those. That is, however, the only obvious remaining issue
before the packages are public. (Well, technically it still has a build
dependancy on bsdmainutils, which breaks, but it only uses 1 utility, so I
have that installed manually).

GCC 2.95: Fails many of it's build tests. Also, in practice, appears to
rather impressively break any C++ code on the system, whether compiled with
the old or new GCC version. I have reverted my chroot, and things are much
happier. I'll look into it, but this is a non-trivial problem.

GCC 3.0: Doesn't build with the current release in sid, which *looks* like
it's a 3.0-branch CVS from last week (3.0.4 or so). Going to try to dig up
a current development branch so that I can drop it's tarball in place, and
see if that works better. Also build-depends on a newer binutils, which
is reported to break things.

GCC defaults: Currently compiled to default to 2.95. However, I think that
3.0 is a much better default for new ports, and would prefer to use this
instead, once we have a working set of 3.0 packages. Folks should give
opinions on this one...

Misc: The regex routines in libc appear to be the home of, or trigger of,
 stack corruption. This is what is causing the segfaults in ed, and I
suspect it is also causing the 'sed' build failures. Compiling and dumping
a new libc into the chroot did not produce any difference, however. It may
be compiler issues (thus the efforts on getting a sane set of GCC packages
which has failed so far).

Native packaging: I'm likely to play with trying to package at least some
of the /usr/src/lib stuff later today (such as libc, libarch, etc). On the
topic of libarch: the source should be called libarch. Should the binaries
be called 'libarch' as well, or 'libi386', 'libsparc', etc? Personally, I
vote for 'libarch', because otherwise the dependancies will end up being a
huge mess... and since switching arches includes replacing 90% of all the
*other* packages, as well, this shouldn't be a problem. Thoughts?
-- 
***
Joel Baker   System Administrator - lightbearer.com
[EMAIL PROTECTED]  http://users.lightbearer.com/lucifer/




Re: Status of various major things

2002-02-10 Thread Joel Baker
On Sun, Feb 10, 2002 at 01:29:58PM -0500, [EMAIL PROTECTED] wrote:
 On Sun, Feb 10, 2002 at 11:14:18AM -0700, Joel Baker wrote:
  XFree86: Builds cleanly, seems to run. Talking to the maintainer about some
  differences in what it builds between the normal and NetBSD versions, and
  how to resolve those. That is, however, the only obvious remaining issue
  before the packages are public. (Well, technically it still has a build
  dependancy on bsdmainutils, which breaks, but it only uses 1 utility, so I
  have that installed manually).
  
  GCC 2.95: Fails many of it's build tests. Also, in practice, appears to
  rather impressively break any C++ code on the system, whether compiled with
  the old or new GCC version. I have reverted my chroot, and things are much
  happier. I'll look into it, but this is a non-trivial problem.
 
 I had problems with it, too. Main problem seemed to be with libstdc++. 3.0
 fixed that.

I'd believe it. Another reason to use 3.0 as the default, if I can make it
work. Sadly, NetBSD still uses egcs 2.91 as it's default compiler, so I have
no idea if we might need 2.95 as a kernel compiler. Hopefully we can get
the kernel patched to be clean for 3.0, if it's not. I guess we'll see.

  GCC 3.0: Doesn't build with the current release in sid, which *looks* like
  it's a 3.0-branch CVS from last week (3.0.4 or so). Going to try to dig up
  a current development branch so that I can drop it's tarball in place, and
  see if that works better. Also build-depends on a newer binutils, which
  is reported to break things.
 
 Hmm. I'm running gcc 3.0.3ds3, and it seems to work ok. binutils
 2.11.92.0.12.3 does break badly. It core dumps linking c++ code, so I backed
 it out, and am running 2.11.90.0.7.

I have attached the build log from 3.0 at the end.

  GCC defaults: Currently compiled to default to 2.95. However, I think that
  3.0 is a much better default for new ports, and would prefer to use this
  instead, once we have a working set of 3.0 packages. Folks should give
  opinions on this one...
  
  Misc: The regex routines in libc appear to be the home of, or trigger of,
   stack corruption. This is what is causing the segfaults in ed, and I
  suspect it is also causing the 'sed' build failures. Compiling and dumping
  a new libc into the chroot did not produce any difference, however. It may
  be compiler issues (thus the efforts on getting a sane set of GCC packages
  which has failed so far).
 
 I suspect that ed's doing something that compiles, but doesn't actually work
 with that implementation of regex. Have you tried linking against a different
 regex library?

Linking against libed.a, which provides a regex library, works fine (that's
why I've been able to build ed-dependant packages). The call to regexec comes
back with the pointer passed into it being set to 0x; this clearly
indicates stack corruption, because nothing else could actually *cause* that.
I don't know what's triggering it, but the end result *shouldn't* be possible
in the first place, if things were compiling and linking right.

  Native packaging: I'm likely to play with trying to package at least some
  of the /usr/src/lib stuff later today (such as libc, libarch, etc). On the
  topic of libarch: the source should be called libarch. Should the binaries
  be called 'libarch' as well, or 'libi386', 'libsparc', etc? Personally, I
  vote for 'libarch', because otherwise the dependancies will end up being a
  huge mess... and since switching arches includes replacing 90% of all the
  *other* packages, as well, this shouldn't be a problem. Thoughts?
 
 If you'd like, you could have the debian directory from my FreeBSD source
 package. It'd be a place to start.

Indeed. That would be quite useful. :)
-- 
***
Joel Baker   System Administrator - lightbearer.com
[EMAIL PROTECTED]  http://users.lightbearer.com/lucifer/




Package count

2002-02-10 Thread Joel Baker
Current package counts in the archive:

unstable/binary-netbsd-i386: 103
unstable/all: 66

Not too shabby...
-- 
***
Joel Baker   System Administrator - lightbearer.com
[EMAIL PROTECTED]  http://users.lightbearer.com/lucifer/




Re: Build machine

2002-02-10 Thread Tobias Rundström
I have this problem to, anyone know why? 

Seems like Stop is corrupted, but isnt that platform independent code? 

anyway, got my netbsd-debian system up now so expect some packages soon,
but apt would be great so we all could get synced. 

//Tobias 

On Fri, 2002-02-08 at 00:26, [EMAIL PROTECTED] wrote: 
 That's interesting. I've been having similar problems with it. I just 
 discoverd
 that it would accept either the sources lines or my binaries line, but not
 both at the same time.  I'm not sure, but I suspect it's trying to match up
 source packages with binary packages, and running into inconsistancies.
 
 See if this is similar to what you get:
 
 (gdb) bt
 #0  0x280f51dd in pkgTagSection::Scan(char const*, unsigned long) ()
from /usr/lib/libapt-pkg.so.3.2
 #1  0x280f4eb8 in pkgTagFile::Step(pkgTagSection) ()
from /usr/lib/libapt-pkg.so.3.2
 #2  0x28121a87 in debListParser::Step() () from /usr/lib/libapt-pkg.so.3.2
 #3  0x28111c84 in 
 pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser, 
 pkgCache::VerIterator*) () from /usr/lib/libapt-pkg.so.3.2
 #4  0x2812af84 in debPackagesIndex::Merge(pkgCacheGenerator, OpProgress) 
 const () from /usr/lib/libapt-pkg.so.3.2
 #5  0x28114e51 in pkgCacheGenerator::WriteUniqString(char const*, unsigned) ()
from /usr/lib/libapt-pkg.so.3.2
 #6  0x2811521d in pkgMakeStatusCache(pkgSourceList, OpProgress, MMap**, 
 bool)
 () from /usr/lib/libapt-pkg.so.3.2
 #7  0x2810c625 in pkgCacheFile::Open(OpProgress, bool) ()
from /usr/lib/libapt-pkg.so.3.2
 #8  0x0805957b in DoUpdate(CommandLine) ([EMAIL PROTECTED]) at apt-get.cc:85
 #9  0x280e440a in CommandLine::DispatchArg(CommandLine::Dispatch*, bool) ()
from /usr/lib/libapt-pkg.so.3.2
 #10 0x0805f380 in main (argc=2, argv=0xbfbffc48) at apt-get.cc:2174
 #11 0x08052130 in _start ()
 
 On Thu, Feb 07, 2002 at 03:42:02PM -0700, Joel Baker wrote:
  The build machine is out of order until such time as I can get apt-get to
  not segfault on things like any source list, including a completely empty
  one. Even working from a brand new chroot install isn't helping.
  
  Of course, the totally unexplained well, sometimes it segfaults, and then
  sometimes it does that I've had with it for the past 2 weeks just appears
  to have become it always segfaults. Maybe it will decide it likes me in
  a few hours.
  -- 
  ***
  Joel Baker   System Administrator - lightbearer.com
  [EMAIL PROTECTED]  http://users.lightbearer.com/lucifer/
  
  
  -- 
  To UNSUBSCRIBE, email to [EMAIL PROTECTED]
  with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
  
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
-- 
Tobias Rundström
Chief Technical Officer
nbsp;Solutions
[EMAIL PROTECTED]
+46 709 95 29 33
+46 40 29 57 57 (office)
+46 40 29 57 30 (   fax)





Re: Status of various major things

2002-02-10 Thread Joel Baker
On Mon, Feb 11, 2002 at 11:51:22AM +1100, matthew green wrote:

I'd believe it. Another reason to use 3.0 as the default, if I can make it
work. Sadly, NetBSD still uses egcs 2.91 as it's default compiler, so I 
 have
no idea if we might need 2.95 as a kernel compiler. Hopefully we can get
the kernel patched to be clean for 3.0, if it's not. I guess we'll see.
 
 it should work.  while the in-tree compiler for 1.5 is egcs 1.1.2+patches,
 -current has had 2.95 for a while now.  also myself and others try to build
 kernels  the whole tree with gcc-current at times...  we don't tend to have
 the same upgrade gcc, fix kernel lossage, at least not as badly :-)

*dry chuckle*

Gee. Someone might think you were referring to something. *Eyes the big
message on binutils about breaking 'older, and newer kernels'.*

BTW, binutils for netbsd-i386 *does* appear to work sanely, and is now in
the upstream. At least, it both compiled and run-time linked all the C++
code I could easily put my hands on to test (I used groff, which broke in
upgrading to GCC 2.95.4 local compile due to libstdc++ stuff; it's visibly
linked to the library, as well, so it SHOULD break in one way or another if
anything is seriously wrong... also used a local software project that's
very heavily C++ oriented)
-- 
***
Joel Baker   System Administrator - lightbearer.com
[EMAIL PROTECTED]  http://users.lightbearer.com/lucifer/




Re: thoughts on architectures

2002-02-10 Thread Marcus Brinkmann
On Sun, Feb 10, 2002 at 09:28:35PM -0500, [EMAIL PROTECTED] wrote:
 Like libc.so.4 on FreeBSD, soon to be libc.so.5? Not compatible with libc5 on
 Linux. It's confusing, but I don't know any good way around it.

Well, then you have to include the OS-ABI field into the dependency name for
all library dependencies.  As the information is easily available from the
binary with objdump, this can be as automatic as the soname.  You have to
make such decisions based on the universe you live in.  If you build a
distribution that only ever has binaries from a single ABI tag, you don't
need to include it.  But if you have different ABI tags you want to support,
you mangle it into the dependency name.

 Bear in mind that quite a few systems already support multiple kinds of
 binaries,

My text was written with that in mind.

 Also, FreeBSD (and possibly NetBSD as well) uses the ELF OSABI field to mark
 it's binaries.

The GNU/Hurd does it as well.

 Of course, dpkg doesn't know that...

dpkg doesn't know a lot of things ;)
 
 That should be correct. A distribution already is just a Package file with
 references to files in the pool. No real change there. The difference would
 seem to be in the generation of the Packages file.

Yes, exactly.  And you need some differences in the algorithm that decides
when to compile a package from source for a given architecture (the pool
might contain a compatible but inferior binary package).

Thanks,
Marcus 

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann  GNUhttp://www.gnu.org[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de




Re: thoughts on architectures

2002-02-10 Thread Marcus Brinkmann
On Mon, Feb 11, 2002 at 02:35:50PM +1100, matthew green wrote:

 Also, FreeBSD (and possibly NetBSD as well) uses the ELF OSABI field to 
 mark
 it's binaries.

The GNU/Hurd does it as well.
 
 
 hmm, last i looked hurd used an ELF note, like NetBSD.

Yes, sorry, I thought that was he meant (and he did :).  I did not even know
about a special OSABI field.

ulysses:/tmp/x# objdump -s -j .note.ABI-tag /bin/bash

/bin/bash: file format elf32-i386

Contents of section .note.ABI-tag:
 8048108 0400 1000 0100 474e5500  GNU.
 8048118  0200  1e00  
ulysses:/tmp/x# objdump -s -j .note.ABI-tag /gnu/bin/bash

/gnu/bin/bash: file format elf32-i386

Contents of section .note.ABI-tag:
 8048100 0400 1000 0100 474e5500  GNU.
 8048110 0100     

Thanks,
Marcus 

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann  GNUhttp://www.gnu.org[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de




Re: thoughts on architectures

2002-02-10 Thread utsl
On Mon, Feb 11, 2002 at 04:41:07AM +0100, Marcus Brinkmann wrote:
 On Mon, Feb 11, 2002 at 02:35:50PM +1100, matthew green wrote:
 
  Also, FreeBSD (and possibly NetBSD as well) uses the ELF OSABI field 
  to mark
  it's binaries.
 
 The GNU/Hurd does it as well.
  
  
  hmm, last i looked hurd used an ELF note, like NetBSD.
 
 Yes, sorry, I thought that was he meant (and he did :).  I did not even know
 about a special OSABI field.
 
 ulysses:/tmp/x# objdump -s -j .note.ABI-tag /bin/bash
 
 /bin/bash: file format elf32-i386
 
 Contents of section .note.ABI-tag:
  8048108 0400 1000 0100 474e5500  GNU.
  8048118  0200  1e00  
 ulysses:/tmp/x# objdump -s -j .note.ABI-tag /gnu/bin/bash
 
 /gnu/bin/bash: file format elf32-i386
 
 Contents of section .note.ABI-tag:
  8048100 0400 1000 0100 474e5500  GNU.
  8048110 0100     

There's a field in the ELF header called OS/ABI. Readelf -h finds it, and it
looks like this:

Normal binaries:
  OS/ABI:UNIX - System V

FreeBSD binaries:
  OS/ABI:UNIX - FreeBSD

I need to look into it a bit more, and figure out exactly what FreeBSD does
and doesn't do with this.