Skip to content

Can't build with v1.6.6 #14

@Clonkk

Description

@Clonkk

I've firs tried nimble install nimlangserver and it fails.

I then cloned this repo on the master branch and building (nimble build) the repo and it also fails.

/home/rcaillaud/Workspace/localws/langserver/suggestapi.nim(198, 103) template/generic instantiation of `async` from here
/home/rcaillaud/Workspace/localws/langserver/suggestapi.nim(200, 22) Error: type mismatch: got <register: bool, nonBlockingWrite: bool>
but expected one of:
proc createPipe(size = 65536; register = true): AsyncPipe
  first type mismatch at position: 2
  unknown named parameter: nonBlockingWrite

expression: createPipe(register = true, nonBlockingWrite = false)
       Tip: 235 messages have been suppressed, use --verbose to show them.
     Error: Build failed for package: nimlangserver
        ... Execution failed with exit code 1

Looking at the path list :

... Command: /home/rcaillaud/.nimble/bin/nim c --colors:on --noNimblePath -d:release -d:NimblePkgVersion=0.1.0
--path:'/home/rcaillaud/.nimble/pkgs/asynctools-#non-blocking' --path:'/home/rcaillaud/.nimble/pkgs/json_rpc-#notif-changes'
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/nimcrypto-0.5.4 --path:/home/rcaillaud/.nimble
/pkgs/stint-0.0.1 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11 --path:/home
/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble
/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/chronicles-0.10.2 --path:/home
/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble
/pkgs/json_serialization-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/serialization-0.1.0 --path:/home/rcaillaud/.nimble
/pkgs/faststreams-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home
/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11 --path:/home/rcaillaud/.nimble
/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0 --path:/home
/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble
/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home
/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/news-#status' --path:/home/rcaillaud/.nimble/pkgs/websock-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble
/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home
/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/chronicles-0.10.2 --path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble
/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/json_serialization-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/serialization-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/faststreams-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble
/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble
/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home
/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble
/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud
/.nimble/pkgs/asynctest-0.3.1 --path:/home/rcaillaud/.nimble/pkgs/nimcrypto-0.5.4 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5
--path:/home/rcaillaud/.nimble/pkgs/zlib-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble
/pkgs/asynctools-0.1.1
--path:/home/rcaillaud/.nimble/pkgs/faststreams-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble
/pkgs/chronos-3.0.11 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home
/rcaillaud/.nimble/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head'
--path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/json_serialization-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/serialization-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/faststreams-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/with-0.4.0 --path:/home/rcaillaud/.nimble/pkgs/itertools-0.4.0
--path:/home/rcaillaud/.nimble/pkgs/chronicles-0.10.2 --path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/json_serialization-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/serialization-0.1.0
--path:/home/rcaillaud/.nimble/pkgs/faststreams-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/testutils-0.4.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:/home/rcaillaud/.nimble/pkgs/chronos-3.0.11
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/bearssl-0.1.5 --path:/home/rcaillaud/.nimble/pkgs/httputils-0.3.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head' --path:'/home/rcaillaud/.nimble/pkgs/unittest2-#head'
--path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --path:/home/rcaillaud/.nimble/pkgs/stew-0.1.0 --hints:off -o:/home/rcaillaud/Workspace/localws/langserver/nimlangserver /home/rcaillaud/Workspace/localws/langserver/nimlangserver.nim

This is caused because Nimble does not handle transitive dependencies and consider fork of a Nimble package as independent.
As you can see there is 2 asynctools package : the fork and the "nimble" one in the dependencies list and both are treated as separate.

The fork of asynctools need to be merged in the main nimble repository to be able to handle transitive dependencies AND/OR Nimble dependencies resolution should be fixed, specifically when using fork of nimble package.

You can work around this by modifying locally asynctools and using nimble develop but it shouldn't be considered as a practical solution because it would prevent the usage of asynctools as a nimble repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions