That sounds like the cleanest option so far. Though if there is a circular dependency, it would be good to fix it.

The "missing" symbols were in ioncore.a, originally from stacking.o. Is ioncore dependent on other parts of ion? I wouldn't imagine so.

-Ed


On Aug 14, 2006, at 1:28 PM, Ashwin Pathmudi wrote:

hi,



Quite old post but perhaps can I help.
It seems that foo.a needs bar.a and bar.a needs foo.a. So, why splitting them. Perhaps, a good solution would be to merge the two in a foo_bar.a.
In computer science, circular dependencies are bad things.

Or we could use the following, quoting from the manual:
"
`-( ARCHIVES -)'
`--start-group ARCHIVES --end-group'
    The ARCHIVES should be a list of archive files.  They may be
    either explicit file names, or `-l' options.

    The specified archives are searched repeatedly until no new
    undefined references are created.  Normally, an archive is
    searched only once in the order that it is specified on the
    command line.  If a symbol in that archive is needed to resolve an
    undefined symbol referred to by an object in an archive that
    appears later on the command line, the linker would not be able to
    resolve that reference.  By grouping the archives, they all be
    searched repeatedly until all possible references are resolved.

    Using this option has a significant performance cost.  It is best
    to use it only when there are unavoidable circular references
    between two or more archives."

cheers,
Ashwin Pathmudi.

Reply via email to