|
From: Kai W. <kai...@gm...> - 2008-08-05 19:15:33
|
On Tue, Aug 05, 2008 at 08:02:31AM -0000, Joseph Koshy wrote:
>
> [Resending]
>
> kaiw> b) GNU and BSD tsort are probably incompatibible, you can see some
> kaiw> tsort warnings during compiling, but I don't know if that affects
> kaiw> the resulting files.
>
> The warning turns out to be caused by the following:
>
> - In "elf_memory.o", elf_memory() uses _libelf_ar_open() to open ar(1)
> archives.
> - However, in "libelf_ar.o", the _libelf_ar_open_member() function
> in turn uses elf_memory() on archive members inside an archive.
>
> >From the point of view of tsort(1) these two objects have a cyclic
> dependency. Bug #2038553 has been logged.
I guess this is not a problem?
Also, excerpt from the manual page of BSD tsort(1):
-q Do not display informational messages about cycles. This is pri-
marily intended for building libraries, where optimal ordering is
not critical, and cycles occur often.
and freebsd make(1) always invoke tsort with -q:
% cd /usr/share/mk
% grep tsort *
bsd.lib.mk: @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
bsd.lib.mk: @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
bsd.lib.mk: @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
bsd.lib.mk: @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
bsd.lib.mk: `lorder ${SOBJS} | tsort -q` ${LDADD}
bsd.lib.mk: `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
|