Code Monkey home page Code Monkey logo

Comments (7)

Roger-luo avatar Roger-luo commented on June 18, 2024 1

on the other hand, I think eventually we are going to make IonCLI a self-contained executable, which means it will ship with a small libjulia so I think all these issues won't happen for IonCLI side in the future, but I still need to wait for the progress of PackageCompiler.

from comonicon.jl.

johnnychen94 avatar johnnychen94 commented on June 18, 2024

let users to build it manually via a generated function XX.comonicon_build()

Here's my reasoning: If building the sysimage is just an optional optimization step, and if users could use XX without building the symimage, it is okay to not build them by default. But if not, since he/she has to build the sysimage manually to use the functionality, not running a fallback solution seems not that friendly.

from comonicon.jl.

johnnychen94 avatar johnnychen94 commented on June 18, 2024

Whether we should build sysimage as a fallback solution is not the key problem here. It is just a way to make sure things functioning; it could be slow to build but it is reliable.

Take the example of IonCLI, we should either provide a way to use IonCLI without sysimage, or provide better sysimage support/coverage.

from comonicon.jl.

Roger-luo avatar Roger-luo commented on June 18, 2024

for a complicated CLI application like IonCLI, it will take a lot of time to start, I think fallback to local system build should be a better workaround.

provide better sysimage support/coverage.

The main issue is PackageCompiler cannot generate the correct system image on GitHub action, and I'm not sure about why. Yeah, I agree if we treat the downloaded system image as an optimization, then building locally is something acceptable. I'll bring back the old behaviour on this.

from comonicon.jl.

johnnychen94 avatar johnnychen94 commented on June 18, 2024

It seems that this still doesn't work:

┌ Error: Error building `IonCLI`:
│ ERROR: LoadError: ArgumentError: Package Test not found in current path:- Run `import Pkg; Pkg.add("Test")` to install the Test package.
│
│ Stacktrace:
│  [1] require(::Module, ::Symbol) at ./loading.jl:893
│  [2] include(::Function, ::Module, ::String) at ./Base.jl:380
│  [3] include(::Module, ::String) at ./Base.jl:368
│  [4] exec_options(::Base.JLOptions) at ./client.jl:296
│  [5] _start() at ./client.jl:506in expression starting at /Users/jc/.julia/packages/IonCLI/04Jl6/test/runtests.jl:3
│ ┌ Error: Download failed: curl: (22) The requested URL returned error: 404 Not Found
│ └ @ Base download.jl:43
│ ┌ Warning: fail to download https://github.com/Roger-luo/IonCLI.jl/releases/download/v0.5.0/ion-1.5.1-darwin-x86_64.tar.gz, building the system image locally
│ └ @ Comonicon.BuildTools ~/.julia/packages/Comonicon/aSFTN/src/tools/build.jl:295

from comonicon.jl.

Roger-luo avatar Roger-luo commented on June 18, 2024

Yeah, this is because when building system image, we will execute tests to generate precompile statements. I just updated IonCLI, can you check if this works for you now?

from comonicon.jl.

johnnychen94 avatar johnnychen94 commented on June 18, 2024

Great! It works now. 🎉

from comonicon.jl.

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.