Thread overview
dub: Detected dependency cycle
Sep 29, 2016
unDEFER
Sep 29, 2016
unDEFER
Sep 29, 2016
Sönke Ludwig
Sep 29, 2016
unDEFER
September 29, 2016
Hello!
Finally I have added my bdb2d package to dub.
But something is going wrong and when I'm trying to use my own pakcage it say me:
$ dub
Detected dependency cycle: bdb2d->bdb2d

dub.json from bdb2d:
{
    "name": "bdb2d",
    "targetName": "db",
    "targetType": "library",
    "description": "BerkeleyDB to D bindings.",
    "authors": ["Nikolay (unDEFER) Krivchenkov"],
    "homepage": "http://unde.su",
    "license": "GPL-3.0 or later",
    "sourcePaths": ["berkeleydb"],
    "libs-posix": ["db"],

    "subPackages": [
        {
            "name": "reader",
            "description": "BerkeleyDB Transaction test. Reader",
            "targetName": "reader",
            "targetType": "executable",
            "sourceFiles": ["transactions_test/reader.d"],
            "targetPath": "transactions_test",
            "dependencies": {
                "bdb2d": "*"
            }
        }, {
            "name": "writer",
            "description": "BerkeleyDB Transaction test. Writer",
            "targetName": "writer",
            "targetType": "executable",
            "sourceFiles": ["transactions_test/writer.d"],
            "targetPath": "transactions_test",
            "dependencies": {
                "bdb2d": "*"
            }
        }
    ]
}

It has 2 subpackages, and they both uses bdb2d, but it is not dependency cycle because bdb2d doesn't use these subpackages.
So What I'm doing wrong?
dub.json of the second project:
{
    "name": "bdb2d",
    "targetName": "db",
    "targetType": "executable",
    "description": "unDE - ultimate native Desktop Environment.",
    "authors": ["Nikolay (unDEFER) Krivchenkov"],
    "homepage": "http://unde.su",
    "license": "GPL-3.0 or later",
    "dependencies": {
        "bdb2d": ">=5.3.28",
        "derelict-sdl2":">=2.0.0"
    }
}

September 29, 2016
Forgot to say:
dub normally builds my bdb2d from it's directory. It doesn't detects any dependency cycle on targets "bdb2d", "bdb2d:reader", "bdb2d:writer".
September 29, 2016
Am 29.09.2016 um 12:31 schrieb unDEFER:
> Forgot to say:
> dub normally builds my bdb2d from it's directory. It doesn't detects any
> dependency cycle on targets "bdb2d", "bdb2d:reader", "bdb2d:writer".

The problem appears to be that both packages are called "bdb2d", so they are considered as the same package - or in particular the dependency to "bdb2d" in the second package is considered as a reference to itself.
September 29, 2016
On Thursday, 29 September 2016 at 10:41:49 UTC, Sönke Ludwig wrote:
> The problem appears to be that both packages are called "bdb2d", so they are considered as the same package - or in particular the dependency to "bdb2d" in the second package is considered as a reference to itself.

OMG, really. So easy. Thank you. You have saved me life!