Skip to content

Attempting to compile a project with Nimony 0.2 #1531

@firasuke

Description

@firasuke

Congratulations on the big release! I really appreciate all the thought, effort and time that went into designing Nimony!

I have been following Nimony since its inception, and I decided not to try it until a release is out.

I am working on a package builder for a custom linux distribution, I usually use the nightly releases, and I do not depend on external dependencies.

I lowered my expectations and was excited to try and attempt to build the project with Nimony 0.2, I ran a simple:

git clone https://github.com/nim-lang/nimony.git
cd nimony
git checkout v0.2.0
nim c -r src/hastur build all

Then ran:

./nimony/bin/nimony c \
  -d:release \
  -d:useMalloc \
  -d:lto \
  -d:strip \
  --os:linux \
  --cpu:amd64 \
  rad.nim

and a few errors appeared (as anticipated, in fact much less than what I expected for a first release):

utils.nim(9, 1) Error: file not found: /home/firasuke/tmp/nimony/lib/std/os.nim
utils.nim(12, 11) Error: Type mismatch at [position]
&("tar --use-compress-program \27zstd -3 -T0\27 -cP -f \7Barchive\7D -C \7Bdir\7D .")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(15, 11) Error: Type mismatch at [position]
&("curl -fL --output-dir \7Bdir\7D -Os \7Burl\7D")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(17, 31) Error: undeclared identifier: QuitSuccess
utils.nim(18, 13) Error: undeclared identifier: 'removeFile'
utils.nim(21, 9) Error: undeclared identifier: 'quit'
utils.nim(23, 7) Error: undeclared identifier: 'quit'
utils.nim(25, 35) Error: undeclared identifier: QuitFailure
utils.nim(26, 14) Error: undeclared identifier: fgRed
utils.nim(28, 7) Error: Type mismatch at [position]
exit(, status, )
[2] BUG: unhandled type: auto (declared in utils.nim(17, 1))
utils.nim(31, 11) Error: Type mismatch at [position]
&("tar --no-same-owner -xmP -f \7Barchive\7D -C \7Bdir\7D")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(34, 11) Error: Type mismatch at [position]
&("git -C \7Bdir\7D checkout \7Bcmt\7D -q")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(37, 11) Error: Type mismatch at [position]
&("git clone \7Burl\7D \7Bdir\7D -q")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(40, 9) Error: Type mismatch at [position]
&("\7BQuitFailure\3A<8\7D\7B\22interrupt received\22\3A48\7D")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(43, 16) Error: undeclared identifier: 'fileExists'
utils.nim(44, 16) Error: undeclared identifier: fgRed
utils.nim(48, 10) Error: undeclared identifier: QuitFailure
utils.nim(50, 12) Error: undeclared identifier: 'writeFile'
utils.nim(52, 18) Error: undeclared identifier: 'setControlCHook'
utils.nim(55, 13) Error: Type mismatch at [position]
&("xxhsum -H2 \7Bfile\7D")
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(335, 1))
[1] expected: char but got: string (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(338, 1))
[2] too few arguments (declared in ../../../../tmp/nimony/lib/std/system/stringimpl.nim(316, 1))
utils.nim(58, 13) Error: undeclared identifier: 'fileExists'
FAILURE: /home/firasuke/tmp/nimony/bin/nimony --ischild m utils.nim
FAILURE: /home/firasuke/tmp/nimony/bin/nimony --ischild m packages.nim
FAILURE: /home/firasuke/tmp/nimony/bin/nimony --ischild m bootstrap.nim
FAILURE: /home/firasuke/tmp/nimony/bin/nimony --ischild m options.nim
make: /home/firasuke/tmp/nimony/bin/nimsem --d:release --d:useMalloc --d:lto --d:strip --os:linux --cpu:amd64 m --isMain nimcache/radsd28m.p.nif
FAILURE: /home/firasuke/tmp/nimony/bin/nifmake --base:'' -j run nimcache/radsd28m.build.nif

I noticed a couple of undeclared identifiers (e.g. QuitSuccess), I checked and saw that some nimony files actually use them like tools/dagon.nim and src/hexer/hexer.nim. This symbol is defined in lib/system.nim which gets imported automatically if I understand correctly?

I also noticed that it is attempting to import /home/firasuke/tmp/nimony/lib/std/os.nim which does not exist (this is a nim library).

I know I am probably missing something, and I really did not want to clutter your issues list with this silly issue of mine that will probably get resolved over time with newer releases as more things/libraries are ported and more issues are fixed.

Thanks again for your time and for your work on Nimony!

Edit 1: I did checkout master and the "errors" persist.

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