[aur-general] Keras circular dependency resolution

Eli Schwartz eschwartz at archlinux.org
Tue Jul 31 03:54:07 UTC 2018


On 07/30/2018 11:36 PM, Robby Stokoe via aur-general wrote:
> Keras recently moved two of its submodules to separate
> modules---keras-applications, and keras-preprocessing [1].  These also
> import keras and will not work without it, nor will keras work without
> those submodules.  Currently the submodule packages depend on keras,
> but making keras depend on the submodules creates unresolvable circular
> dependencies.  Currently the submodules are listed as optional
> dependencies of keras with the note that keras will not work without
> them.
>
> This seems like a problem to me.  Someone wanting to install keras will
> be able to do so without installing the submodules but won't be able to
> use it without them.  The only warning will be the optional dependencies
> which seems insufficient to me.  Since both actually depend on the
> other(s) to work, the only solution I can see is to include them all in
> the python-keras package.  Is there any other way to resolve this?  Is
> it not as big of a deal as I think it is?  How would such a change even
> get implemented?  Thanks.
> 
> [1]: https://github.com/keras-team/keras/pull/10339

Circular dependencies are a *bootstrapping* problem, which, if this were
in a binary repository, might be less of a problem. The trick is that to
build one, you need the other installed, which means you need the first
one installed too (even though it's not built yet).

So, consider the following solution: add the dependency to

package(){
    depends=(foo)
    ...
}

This will result in it *not* being a build-time dependency. In order to
install one, you might have to pacman -U all of them in the same
transaction, but that is a different matter.

Aside: the link you gave references another discussion, which seems to
confusingly claim both that they import from each other, and that "Keras
doesn't depend on them at all, and they're just consumers of a stable
subset of the Keras API". So I've got no clue what is happening here. :/

-- 
Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20180730/83d5eeb4/attachment.asc>


More information about the aur-general mailing list