Subject: Re: classifying compiler problems
To: Michael Wolfson <mw34@cornell.edu>
From: Frederick Bruckman <fb@enteract.com>
List: port-hp300
Date: 05/01/2000 21:05:15
On Tue, 25 Apr 2000, Michael Wolfson wrote:

> After trying to build all of pkgsrc recently, I ran across a few packages
> that wouldn't build.  Not knowing enough about these sorts of problems,
> could one (or more) of you experts out there take a few minutes let me know
> how to classify these problems.  That is, are each of these problems
> related to the package, m68k-related issues, or are they hp300-specific.
> I'd like to update the PRs into the appropriate category (or even close
> them if you can find a fix ;)
> 
> I suspect quite a few are hp300-specific, as Bob Nestor was able to compile
> some of these packages on his mac68k, and some of these are reported to
> build fine on i386.

Very likely, some are. coda_* and Mosaic, however, were known to be
broken on i386 very recently. The only way to really tell is to try to
fix 'em. :-)

Some hints and guesses, to any who are inclined to do that...

> pkg/9872        audio/rplay (tilde.c:37: ansi_stdlib.h: No such file or
> director

This was working on mac68k, even without an "ansi_stdlib.h". Wild
guess: maybe there's an "#ifdef __hp300__" in the code??? Of course
this should become "#if defined(__hp300__) || !defined(__NetBSD__)".

> pkg/9971        audio/festival (Undefined symbol "_SmcSaveYourselfDone" in
> find_
> inits:/usr/X11R6/lib/libXt.so.6.0)

_SmcSaveYourselfDone is _never_ defined in libXt -- it's one of those
functions that's supposed to be supplied by the application. What's
probably happining is that the NetBSD/hp300 linker only does forward
references. So if you link "... -lfoo -lXt" on i386, the linker goes
back and sees the function in "libfoo", and says OK, but m68k won't do
that. The solution is to put "-lfoo" twice on the command line
(Makefile), like so: "... -lfoo -lXt -lfoo".

> pkg/9778        emulators/bochs (reg_u_add.S: Assembler messages: lots of
> errors

Is that m68k assembler? My guess is inappropriate #ifdef's.