PackageCompiler.create_app("MyPackage", "MyPackageApp", precompile_execution_file="MyPackage/precompile.jl", force=true)
┌ Warning: it is not recommended to create an app/library without a preexisting manifest
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/X7R0D/src/PackageCompiler.jl:66
┌ Warning: it is not recommended to create an app/library without a preexisting manifest
└ @ PackageCompiler ~/.julia/packages/PackageCompiler/X7R0D/src/PackageCompiler.jl:66
⠋ [01m:02s] PackageCompiler: compiling base system image (incremental=false)
I searched the documentation and found that one example triggers this warning, but it isn’t explained there what it means.
(I do have a file MyPackage/Manifest.toml)
It means, that the “manifest.toml” of the project is not valid.
I had this warning, when i tried to create a sysimage without any package.
So my personal default is:
using Pkg
cd(Base.source_dir())
Pkg.activate(".")
Pkg.update()
"StatsPlots" ∉ keys(Pkg.project().dependencies) && Pkg.add("StatsPlots")
The installation of “StatsPlots” (or another package) creates a valid “manifest.toml”
for the PackageCompiler and the compiler can generate a sysimage without warning.
# This file is machine-generated - editing it directly is not advised
julia_version = "1.7.3"
manifest_format = "2.0"
[deps]
but PackageCompiler defines valid as nonempty, and so your solution (adding a package) removes the warning. I now believe that it is safe to ignore the warning in my case because my code depends on no packages, so it is okay to have an empty manifest.