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} |