9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] wierd linker error.
@ 2006-05-28 21:23 erik quanstrom
  2006-05-29  3:30 ` Skip Tavakkolian
  2006-05-29 11:55 ` Charles Forsyth
  0 siblings, 2 replies; 5+ messages in thread
From: erik quanstrom @ 2006-05-28 21:23 UTC (permalink / raw)
  To: 9fans

unfortunately i thought this worth reporting after i deleted the offending archive.
i just rebuild libdraw and got this strange output from 8l:

; mk
8l  -o 8.out tiff.8 tiffz.8 group3.8 dirty.8
??none??: /386/lib/libdraw.a: first entry not symbol header
??none??: /386/lib/libdraw.a: first entry not symbol header
??none??: /386/lib/libdraw.a: first entry not symbol header
genchan: undefined: strtochan in genchan
genchan: undefined: chantodepth in genchan
genchan: undefined: chantostr in genchan
dodraw: undefined: freeimage in dodraw
dodraw: undefined: Pt in dodraw
dodraw: undefined: Rpt in dodraw
dodraw: undefined: allocimage in dodraw
dodraw: undefined: loadimage in dodraw
dodraw: undefined: bytesperline in dodraw
dodraw: undefined: rectaddpt in dodraw
dodraw: undefined: draw in dodraw
resizeproc: undefined: getwindow in resizeproc
resizeproc: undefined: flushimage in resizeproc
init: undefined: initdraw in init
init: undefined: initmouse in init
kbdproc: undefined: initkeyboard in kbdproc
mouseproc: undefined: readmouse in mouseproc
strchr: screen: not defined
too many errors

- erik


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] wierd linker error.
  2006-05-28 21:23 [9fans] wierd linker error erik quanstrom
@ 2006-05-29  3:30 ` Skip Tavakkolian
  2006-05-29 11:55 ` Charles Forsyth
  1 sibling, 0 replies; 5+ messages in thread
From: Skip Tavakkolian @ 2006-05-29  3:30 UTC (permalink / raw)
  To: 9fans

> ??none??: /386/lib/libdraw.a: first entry not symbol header
> ??none??: /386/lib/libdraw.a: first entry not symbol header
> ??none??: /386/lib/libdraw.a: first entry not symbol header

i saw something similar with 8c a couple of evenings ago doing mk all
in /sys/src/cmd/ip/httpd.  i chatted with geoff to see if it could be
caused by resource exhaustion.  we couldn't find anything.  at some
point (within a few minutes) things "magically" started working again.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] wierd linker error.
  2006-05-28 21:23 [9fans] wierd linker error erik quanstrom
  2006-05-29  3:30 ` Skip Tavakkolian
@ 2006-05-29 11:55 ` Charles Forsyth
  2006-05-29 12:13   ` quanstro
  2006-05-29 23:52   ` geoff
  1 sibling, 2 replies; 5+ messages in thread
From: Charles Forsyth @ 2006-05-29 11:55 UTC (permalink / raw)
  To: 9fans

usually the first entry in the archive isn't a symbol header if one of
the object files is empty or incomplete.  for instnace, if you interrupt
a mk leaving an empty .8 file behind, it's possible the next mk will
add it to the lib.a file (since it's newer).  ar will only
put the special entry (containing an index of symbols)
into the archive if all its members are object files, and from the
same architecture.  an empty file for instance would prevent it.
(file or memory error during construction of the archive would
also have the same effect.)  the loader can't find the symbols
because it will scan an archive in order if the index isn't there,
and the .8 files are rarely arranged will all callees following all callers.
hence the index.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] wierd linker error.
  2006-05-29 11:55 ` Charles Forsyth
@ 2006-05-29 12:13   ` quanstro
  2006-05-29 23:52   ` geoff
  1 sibling, 0 replies; 5+ messages in thread
From: quanstro @ 2006-05-29 12:13 UTC (permalink / raw)
  To: 9fans

that explains it.

- erik

On Mon May 29 06:56:36 CDT 2006, forsyth@terzarima.net wrote:
> usually the first entry in the archive isn't a symbol header if one of
> the object files is empty or incomplete.  for instnace, if you interrupt
> a mk leaving an empty .8 file behind, it's possible the next mk will
> add it to the lib.a file (since it's newer).  ar will only
> put the special entry (containing an index of symbols)
> into the archive if all its members are object files, and from the
> same architecture.  an empty file for instance would prevent it.
> (file or memory error during construction of the archive would
> also have the same effect.)  the loader can't find the symbols
> because it will scan an archive in order if the index isn't there,
> and the .8 files are rarely arranged will all callees following all callers.
> hence the index.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [9fans] wierd linker error.
  2006-05-29 11:55 ` Charles Forsyth
  2006-05-29 12:13   ` quanstro
@ 2006-05-29 23:52   ` geoff
  1 sibling, 0 replies; 5+ messages in thread
From: geoff @ 2006-05-29 23:52 UTC (permalink / raw)
  To: 9fans

So adding the `D' attribute to mk rules in /sys/src/cmd/mk* that
invoke $stem^c, $stem^l, $YACC, $CC, $AS, $LD and ar should prevent
this problem, right?



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-05-29 23:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-28 21:23 [9fans] wierd linker error erik quanstrom
2006-05-29  3:30 ` Skip Tavakkolian
2006-05-29 11:55 ` Charles Forsyth
2006-05-29 12:13   ` quanstro
2006-05-29 23:52   ` geoff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).