Code Monkey home page Code Monkey logo

Comments (10)

metagn avatar metagn commented on May 26, 2024

Can anyone else reproduce this?

from nim.

ringabout avatar ringabout commented on May 26, 2024

I cannot reproduce it on Linux. You might need to remove bin/nim and bin/nim_temp before booting the compiler using an older binary.

from nim.

rockcavera avatar rockcavera commented on May 26, 2024

Can anyone else reproduce this?

I managed to reproduce your error using gcc 6.4.0 and Nim 2.0.2 for bootstrap devel. (note: it was necessary to comment out hint[LineTooLong]=off in nim.cfg)

Using csource_v2 this error does not occur.

from nim.

Araq avatar Araq commented on May 26, 2024

That's just the "var T" destructor changes. You're building Nim in a way that is not supported and I don't know if it's fixable.

Or maybe it's something else.

from nim.

metagn avatar metagn commented on May 26, 2024

(note: it was necessary to comment out hint[LineTooLong]=off in nim.cfg)

This probably refreshes the nimcache which reveals the problem. @ringabout This might be why it worked for you, I don't know if cleaning bin would change anything (the command that koch showed pointed to my 2.0.2 installation) but I did clean the nimcache.

That's just the var T destructor changes.

The csources_v2 version doesn't seem to have these changes, 2.0 does (which is almost a year ahead). So, the var T destructor changes could be breaking the Nim compiler, is how I interpreted it. If the Nim compiler codebase needs to be updated to be compatible with the var T destructor changes then I understand but does the compiler do anything that would violate them?

Also it's weird that booting in CI doesn't catch this, which is why I'm still not sure what's wrong.

Edit: Adding -f to the successive boot operations might show the problem in Cı, again because of the nimcache.

from nim.

ringabout avatar ringabout commented on May 26, 2024

@metagn Could you boot the compiler with the nightlies?

from nim.

metagn avatar metagn commented on May 26, 2024

Works on today's nightly. Still might be in version-2-0 branch, will try adding -f to boot CI as written above this won't do anything, the problem isn't whether the version-2-0 compiler can bootstrap itself, it's whether it can compile the devel compiler.

from nim.

metagn avatar metagn commented on May 26, 2024

The problem is that the version-2-0 compiler cannot compile the devel compiler. This is hard to test, let alone bisect (git checkout abcd1234; nim c compiler/nim; git checkout devel; compiler/nim c compiler/nim), so we could leave it alone and update csources later to a devel commit we know works, like today's nightly or later. It would still be nice if we had an idea of which commit we could backport so the var T destructor changes aren't broken on 2.0.

Also yeah, version-2-0 needs to define nimHasNoLineTooLong.

from nim.

ringabout avatar ringabout commented on May 26, 2024

It would still be nice if we had an idea of which commit we could backport so the var T destructor changes aren't broken on 2.0.

In order

#22147
#22167
#22207
#22225
#22810
#22975

from nim.

narimiran avatar narimiran commented on May 26, 2024

FWIW, I had the same error when I tried to update my devel version of Nim one month ago.

It worked once I downloaded nim binary from nightlies, and @Araq said to me it is because "you need to use a nim binary from csources_v2".

from nim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.