UndefVarError: `Point2f` not defined

Without apparent modifications after compiling / running in the terminal of VSCode/ VSCodium the message:

ERROR: UndefVarError: Point2f not defined

appears, referring to a line that attempts to declare an observable of the type Point2f.

Before running

import Pkg; Pkg.add("GLMakie"); using GLMakie;

FirstPoints = Observable(Point2[])
points = Observable(Point2f[])

I input in the terminal “ ] registry rm General “, and delete Manifest.toml and Project.toml in the present Julia environment.

It looks like the type in GLMakie is called Point2f0, not Point2f? Try using Makie.jl, which is the modern replacement for GLMakie.jl (which is deprecated). Makie.jl defines Point2f, it looks like.

Seems like a typo.

Are you sure? The Makie docs still recommend adding and using GLMakie.

Sorry, the GLMakie.jl repository is deprecated, but the package has been moved into Makie.jl. Make sure you have installed the latter rather than the former.

1 Like

The GLMakie GitHub repo is deprecated but not the GLMakie package (it’s now part of the Makie monorepo). It’s correct to install the GLMakie package in order to use that backend.

Point2f is correct (Point2f0 is the old deprecated name). It should be exported by GLMakie. If not, probably @Wulf installed an old version of GLMakie for some reason. What does ]status say?

(Point2 is also a valid (abstract) type)


No typo. So far I managed to run run that used Point2f by replacing it with Point2.

I had tried to enforce an old version of GLMakie, but that did not help. Today I kept it undefined, and got GLMakie v0.8.6. However I would appreciate more insight how to get better control of the packages in order to achieve reproducible conditions.

About the old version of GLMakie: Recently I reinstalled julia to version 1.9.2 hoping to remedy such an issue, but it did not influence the behaviour.

Also with Makie I get about one error less run, and about two with errors about Point2f. Typed the two line program into a Windows tablet to check about problems related to the use of an NTFS file system an a dual boot configuration. Get the same UndefVarError: Point2f not defined .

Could you run ]status -m and post the output here?

import Pkg; Pkg.add(“Makie”); using Makie;
FirstPoints = Observable(Point2)
points = Observable(Point2f)

[3f19e933] + p7zip_jll v17.4.0+0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use status --outdated -m
Precompiling project…
36 dependencies successfully precompiled in 181 seconds. 158 already precompiled. 1 skipped during auto due to previous errors.
Observable(Point{2, Float32})

(ODEs) pkg> status -m
Status /media/wulf/EVO500dataNtfs/wulf/science/applied/information_processing/create/code/julia/DifferentialEquations/ODEs/Manifest.toml
[621f4979] AbstractFFTs v1.4.0
[1520ce14] AbstractTrees v0.4.4
[79e6a3ab] Adapt v3.6.2
[27a7e980] Animations v0.4.1
[67c07d97] Automa v0.8.3
[13072b0f] AxisAlgorithms v1.0.1
[39de3d68] AxisArrays v0.4.6
[fa961155] CEnum v0.4.2
[49dc2e85] Calculus v0.5.1
[d360d2e6] ChainRulesCore v1.16.0
[a2cac450] ColorBrewer v0.4.0
[35d6a980] ColorSchemes v3.21.0
[3da002f7] ColorTypes v0.11.4
[c3611d14] ColorVectorSpace v0.9.10
[5ae59095] Colors v0.12.10
[34da2185] Compat v4.7.0
[187b0558] ConstructionBase v1.5.2
[d38c429a] Contour v0.6.2
[9a962f9c] DataAPI v1.15.0
[864edb3b] DataStructures v0.18.14
[e2d170a0] DataValueInterfaces v1.0.0
[31c24e10] Distributions v0.25.98
[ffbed154] DocStringExtensions v0.9.3
[fa6b7ba4] DualNumbers v0.6.8
[411431e0] Extents v0.1.1
[c87230d0] FFMPEG v0.4.1
[7a1cc6ca] FFTW v1.7.1
[5789e2e9] FileIO v1.16.1
[1a297f60] FillArrays v1.4.0
[53c48c17] FixedPointNumbers v0.8.4
[59287772] Formatting v0.4.2
[b38be410] FreeType v4.0.0
[663a7486] FreeTypeAbstraction v0.10.0
[46192b85] GPUArraysCore v0.1.5
[cf35fbd7] GeoInterface v1.3.1
[5c1252a2] GeometryBasics v0.4.7
[a2bd30eb] Graphics v1.1.2
[3955a311] GridLayoutBase v0.9.1
[42e2da0e] Grisu v1.0.2
[34004b35] HypergeometricFunctions v0.3.20
[2803e5a7] ImageAxes v0.6.10
[c817782e] ImageBase v0.1.5
[a09fc81d] ImageCore v0.9.4
[82e4d734] ImageIO v0.6.6
[bc367c6b] ImageMetadata v0.9.8
[9b13fd28] IndirectArrays v1.0.0
[d25df0c9] Inflate v0.1.3
[a98d9a8b] Interpolations v0.14.7
[8197267c] IntervalSets v0.7.4
[92d709cd] IrrationalConstants v0.2.2
[f1662d9f] Isoband v0.1.1
[c8e1da08] IterTools v1.8.0
[82899510] IteratorInterfaceExtensions v1.0.0
[692b3bcd] JLLWrappers v1.4.1
[682c06a0] JSON v0.21.4
[b835a17e] JpegTurbo v0.1.2
[5ab0869b] KernelDensity v0.6.7
[b964fa9f] LaTeXStrings v1.3.0
[8cdb02fc] LazyModules v0.3.1
[2ab3a3ac] LogExpFunctions v0.3.24
[1914dd2f] MacroTools v0.5.10
[ee78f7c6] Makie v0.19.6
[20f20a25] MakieCore v0.6.3
[dbb5928d] MappedArrays v0.4.2
[7eb4fadd] Match v1.2.0
[0a4f8689] MathTeXEngine v0.5.6
[978d7f02] MiniQhull v0.4.0
[e1d29d7a] Missings v1.1.0
[e94cdb99] MosaicViews v0.3.4
[77ba4419] NaNMath v1.0.2
[f09324ee] Netpbm v1.1.0
[510215fc] Observables v0.5.4
[6fe1bfb0] OffsetArrays v1.12.10
[52e1d378] OpenEXR v0.3.2
[bac558e1] OrderedCollections v1.6.0
[90014a1f] PDMats v0.11.17
[f57f5aa1] PNGFiles v0.3.17
[19eb6ba3] Packing v0.5.0
[5432bcbf] PaddedViews v0.5.12
[69de0a69] Parsers v2.7.1
[eebad327] PkgVersion v0.3.2
[995b91a9] PlotUtils v1.3.5
[647866c9] PolygonOps v0.1.2
[aea7be01] PrecompileTools v1.1.2
[21216c6a] Preferences v1.4.0
[92933f4c] ProgressMeter v1.7.2
[4b34888f] QOI v1.0.0
[1fd47b50] QuadGK v2.8.2
[b3c3ace0] RangeArrays v0.3.2
[c84ed2f1] Ratios v0.4.5
[189a3867] Reexport v1.2.2
[05181044] RelocatableFolders v1.0.0
[ae029012] Requires v1.3.0
[79098fc4] Rmath v0.7.1
[fdea26ae] SIMD v3.4.5
[7b38b023] ScanByte v0.4.0
[6c6a2e73] Scratch v1.2.0
[efcf1570] Setfield v1.1.1
[992d4aef] Showoff v1.0.3
[73760f76] SignedDistanceFields v0.4.0
[699a6c99] SimpleTraits v0.9.4
[45858cf5] Sixel v0.1.2
[a2af1166] SortingAlgorithms v1.1.1
[276daf66] SpecialFunctions v2.3.0
[c5dd0088] StableHashTraits v0.3.1
[cae243ae] StackViews v0.1.1
[90137ffa] StaticArrays v1.6.1
[1e83bf80] StaticArraysCore v1.4.1
[82ae8749] StatsAPI v1.6.0
[2913bbd2] StatsBase v0.34.0
[4c63d2b9] StatsFuns v1.3.0
[09ab397b] StructArrays v0.6.15
[3783bdb8] TableTraits v1.0.1
[bd369af6] Tables v1.10.1
[62fd8b95] TensorCore v0.1.1
[731e570b] TiffImages v0.6.4
[3bb67fe8] TranscodingStreams v0.9.13
[981d1d27] TriplotBase v0.1.0
[9d95972d] TupleTools v1.3.0
[1cfade01] UnicodeFun v0.4.1
[efce3f68] WoodburyMatrices v0.5.5
[6e34b625] Bzip2_jll v1.0.8+0
[83423d85] Cairo_jll v1.16.1+1
[5ae413db] EarCut_jll v2.2.4+0
[2e619515] Expat_jll v2.5.0+0
[b22a6f82] FFMPEG_jll v4.4.2+2
[f5851436] FFTW_jll v3.3.10+0
[a3f928ae] Fontconfig_jll v2.13.93+0
⌅ [d7e528f0] FreeType2_jll v2.10.4+0
[559328eb] FriBidi_jll v1.0.10+0
[78b55507] Gettext_jll v0.21.0+0
[7746bdde] Glib_jll v2.74.0+2
[3b182d85] Graphite2_jll v1.3.14+0
[2e76f6c2] HarfBuzz_jll v2.8.1+1
[905a6f67] Imath_jll v3.1.7+0
[1d5cc7b8] IntelOpenMP_jll v2023.1.0+0
[aacddb02] JpegTurbo_jll v2.1.91+0
[c1c5ebd0] LAME_jll v3.100.1+0
[1d63c593] LLVMOpenMP_jll v15.0.4+0
[dd4b983a] LZO_jll v2.10.1+0
⌅ [e9f186c6] Libffi_jll v3.2.2+1
[d4300ac3] Libgcrypt_jll v1.8.7+0
[7add5ba3] Libgpg_error_jll v1.42.0+0
[94ce4f54] Libiconv_jll v1.16.1+2
[4b2f31a3] Libmount_jll v2.35.0+0
[38a345b3] Libuuid_jll v2.36.0+0
[856f044c] MKL_jll v2023.1.0+0
[e7412a2a] Ogg_jll v1.3.5+1
[18a262bb] OpenEXR_jll v3.1.4+0
⌅ [458c3c95] OpenSSL_jll v1.1.21+0
[efe28fd5] OpenSpecFun_jll v0.5.5+0
[91d4177d] Opus_jll v1.3.2+0
[30392449] Pixman_jll v0.42.2+0
[460c41e3] QhullMiniWrapper_jll v1.0.0+1
⌅ [784f63db] Qhull_jll v8.0.1003+0
[f50d1b31] Rmath_jll v0.4.0+0
[02c8fc9c] XML2_jll v2.10.3+0
[aed1982a] XSLT_jll v1.1.34+0
[4f6342f7] Xorg_libX11_jll v1.8.6+0
[0c0b7dd1] Xorg_libXau_jll v1.0.11+0
[a3789734] Xorg_libXdmcp_jll v1.1.4+0
[1082639a] Xorg_libXext_jll v1.3.4+4
[ea2f1a96] Xorg_libXrender_jll v0.9.10+4
[14d82f49] Xorg_libpthread_stubs_jll v0.1.1+0
[c7cfdc94] Xorg_libxcb_jll v1.15.0+0
[c5fb5394] Xorg_xtrans_jll v1.5.0+0
[9a68df92] isoband_jll v0.2.3+0
[a4ae2306] libaom_jll v3.4.0+0
[0ac62f75] libass_jll v0.15.1+0
[f638f0a6] libfdk_aac_jll v2.0.2+0
[b53b4c65] libpng_jll v1.6.38+0
[075b6546] libsixel_jll v1.10.3+0
[f27f6e37] libvorbis_jll v1.3.7+1
[1270edf5] x264_jll v2021.5.5+0
[dfaa095f] x265_jll v3.5.0+0
[0dad84c5] ArgTools v1.1.1
[56f22d72] Artifacts
[2a0f44e3] Base64
[8bf52ea8] CRC32c
[ade2ca70] Dates
[8ba89e20] Distributed
[f43a241f] Downloads v1.6.0
[7b1f6079] FileWatching
[9fa8497b] Future
[b77e0a4c] InteractiveUtils
[4af54fe1] LazyArtifacts
[b27032c2] LibCURL v0.6.3
[76f85450] LibGit2
[8f399da3] Libdl
[37e2e46d] LinearAlgebra
[56ddb016] Logging
[d6f4376e] Markdown
[a63ad114] Mmap
[ca575930] NetworkOptions v1.2.0
[44cfe95a] Pkg v1.9.2
[de0858da] Printf
[3fa0cd96] REPL
[9a3f8284] Random
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization
[1a1011a3] SharedArrays
[6462fe0b] Sockets
[2f01184e] SparseArrays
[10745b16] Statistics v1.9.0
[4607b0f0] SuiteSparse
[fa267f1f] TOML v1.0.3
[a4e569a6] Tar v1.10.0
[8dfed614] Test
[cf7118a7] UUIDs
[4ec0a83e] Unicode
[e66e0078] CompilerSupportLibraries_jll v1.0.5+0
[deac9b47] LibCURL_jll v7.84.0+0
[29816b5a] LibSSH2_jll v1.10.2+0
[c8ffd9c3] MbedTLS_jll v2.28.2+0
[14a3606d] MozillaCACerts_jll v2022.10.11
[4536629a] OpenBLAS_jll v0.3.21+4
[05823500] OpenLibm_jll v0.8.1+0
[efcefdf7] PCRE2_jll v10.42.0+0
[bea87d4a] SuiteSparse_jll v5.10.1+6
[83775a58] Zlib_jll v1.2.13+0
[8e850b90] libblastrampoline_jll v5.8.0+0
[8e850ede] nghttp2_jll v1.48.0+0
[3f19e933] p7zip_jll v17.4.0+0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use status --outdated -m

This was a run without error. What I find strange is this:
158 already precompiled. 1 skipped during auto due to previous errors.

in view of all my efforts to get clean new start.

Ah I misunderstood, I thought you still had problems with Point2f (as I understand you are now on the current Makie and it works as expected). For the failed precompiled package I think you can run ]precompile to get more information.

I do not regard the issue as resolved. Point2f fails apparently randomly. Presently I can proceed with my project using Point2. However at sometime this might be no more the case. Thanks for the ]precompile hint.

It’s not surprising that Point2f fails when you use an outdated version of Makie, for example when you manually enforce an old version.

From your first message I understand that you had working code using Point2f and then without you changing anything, you started to get this error. I can see at least two three explanations:

  • The original problem was actually something else, and while trying to fix it you downgraded Makie and ended up with this error.
  • Something (some tool, or some command you ran somewhere…) caused Makie to be downgraded. Maybe this can happen when you install a package that (directly or through a dependency) requires an older Makie version.
  • The code failed because it was executed using the wrong environment, for example maybe you had the global environment active in VsCode when you executed the code, instead of the project environment.

Does any of these explanations sound plausible to you?

Note that you can use the ]pin command to fix GLMakie to some version, see ]help pin for details.