ScottPJones / Mongo.jl

Mongo bindings for the Julia programming language
Other
43 stars 21 forks source link

Support for 1.0 #34

Open essenciary opened 6 years ago

essenciary commented 6 years ago

What is the status for 1.0, please? I see some commits that address this issue, but it fails for me (macOS):

(v1.0) pkg> add Mongo
 Resolving package versions...
 Installed Mongo ─── v0.3.0
 Installed LibBSON ─ v0.3.0
  Updating `~/.julia/environments/v1.0/Project.toml`
  [f08002d9] + Mongo v0.3.0
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [d9be37ee] + Homebrew v0.7.0
  [b5cb2838] + LibBSON v0.3.0
  [f08002d9] + Mongo v0.3.0
  Building LibBSON → `~/.julia/packages/LibBSON/2p4EI/deps/build.log`
┌ Error: Error building `LibBSON`:
│ ERROR: LoadError: LoadError: UndefVarError: is_apple not defined
│ Stacktrace:
│  [1] top-level scope at none:0
│  [2] eval at ./boot.jl:319 [inlined]
│  [3] @static(::LineNumberNode, ::Module, ::Any) at ./osutils.jl:19
│  [4] include at ./boot.jl:317 [inlined]
│  [5] include_relative(::Module, ::String) at ./loading.jl:1038
│  [6] include(::Module, ::String) at ./sysimg.jl:29
│  [7] include(::String) at ./client.jl:388
│  [8] top-level scope at none:0
│ in expression starting at /Users/adrian/.julia/packages/LibBSON/2p4EI/deps/build.jl:21
│ in expression starting at /Users/adrian/.julia/packages/LibBSON/2p4EI/deps/build.jl:21
└ @ Pkg.Operations /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
  Building Mongo ──→ `~/.julia/packages/Mongo/w1nap/deps/build.log`
┌ Error: Error building `Mongo`:
│ ERROR: LoadError: LoadError: UndefVarError: is_apple not defined
│ Stacktrace:
│  [1] top-level scope at none:0
│  [2] eval at ./boot.jl:319 [inlined]
│  [3] @static(::LineNumberNode, ::Module, ::Any) at ./osutils.jl:19
│  [4] include at ./boot.jl:317 [inlined]
│  [5] include_relative(::Module, ::String) at ./loading.jl:1038
│  [6] include(::Module, ::String) at ./sysimg.jl:29
│  [7] include(::String) at ./client.jl:388
│  [8] top-level scope at none:0
│ in expression starting at /Users/adrian/.julia/packages/Mongo/w1nap/deps/build.jl:21
│ in expression starting at /Users/adrian/.julia/packages/Mongo/w1nap/deps/build.jl:21
└ @ Pkg.Operations /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068

(v1.0) pkg> add Mongo#master
   Cloning git-repo `https://github.com/ScottPJones/Mongo.jl.git`
  Updating git-repo `https://github.com/ScottPJones/Mongo.jl.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
  [f08002d9] ↑ Mongo v0.3.0 ⇒ v0.3.0+ #master (https://github.com/ScottPJones/Mongo.jl.git)
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [f08002d9] ↑ Mongo v0.3.0 ⇒ v0.3.0+ #master (https://github.com/ScottPJones/Mongo.jl.git)
  Building Mongo → `~/.julia/packages/Mongo/XbZhn/deps/build.log`

julia> using Mongo
[ Info: Precompiling Mongo [f08002d9-bb2c-5ca6-9977-d4081ea2ff9e]
┌ Warning: Package Mongo does not have Libdl in its dependencies:
│ - If you have Mongo checked out for development and have
│   added Libdl as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with Mongo
└ Loading Libdl into Mongo from project dependency, future warnings for Mongo are suppressed.
ERROR: LoadError: could not open file /Users/adrian/.julia/packages/LibBSON/2p4EI/deps/deps.jl
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /Users/adrian/.julia/packages/LibBSON/2p4EI/src/LibBSON.jl:1
 [5] top-level scope at none:0
 [6] include at ./boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1038
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:319 [inlined]
 [11] eval(::Expr) at ./client.jl:389
 [12] top-level scope at ./none:3
in expression starting at /Users/adrian/.julia/packages/LibBSON/2p4EI/src/LibBSON.jl:5
ERROR: LoadError: Failed to precompile LibBSON [b5cb2838-5506-56c8-b038-21e3582abe5d] to /Users/adrian/.julia/compiled/v1.0/LibBSON/yHlPa.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184
 [4] _require(::Base.PkgId) at ./logging.jl:311
 [5] require(::Base.PkgId) at ./loading.jl:852
 [6] macro expansion at ./logging.jl:311 [inlined]
 [7] require(::Module, ::Symbol) at ./loading.jl:834
 [8] include at ./boot.jl:317 [inlined]
 [9] include_relative(::Module, ::String) at ./loading.jl:1038
 [10] include(::Module, ::String) at ./sysimg.jl:29
 [11] top-level scope at none:2
 [12] eval at ./boot.jl:319 [inlined]
 [13] eval(::Expr) at ./client.jl:389
 [14] top-level scope at ./none:3
in expression starting at /Users/adrian/.julia/packages/Mongo/XbZhn/src/Mongo.jl:17
ERROR: Failed to precompile Mongo [f08002d9-bb2c-5ca6-9977-d4081ea2ff9e] to /Users/adrian/.julia/compiled/v1.0/Mongo/NbAnB.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184
 [4] macro expansion at ./logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at ./loading.jl:941
 [6] require(::Base.PkgId) at ./loading.jl:852
 [7] macro expansion at ./logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at ./loading.jl:834

julia> versioninfo()
Julia Version 1.0.0
Commit 5d4eaca0c9 (2018-08-08 20:58 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, skylake)

julia>
EricForgy commented 6 years ago

Just a note...

Interesting to see you guys looking at this. I'll be needing it soon, so look forward to helping out if I can.

essenciary commented 6 years ago

Oh, I think this worked:

(v1.0) pkg> build LibBSON
  Building Homebrew → `~/.julia/packages/Homebrew/l8kUw/deps/build.log`
  Building LibBSON ─→ `~/.julia/packages/LibBSON/2p4EI/deps/build.log`
┌ Error: Error building `LibBSON`:
│ ERROR: LoadError: LoadError: UndefVarError: is_apple not defined
│ Stacktrace:
│  [1] top-level scope at none:0
│  [2] eval at ./boot.jl:319 [inlined]
│  [3] @static(::LineNumberNode, ::Module, ::Any) at ./osutils.jl:19
│  [4] include at ./boot.jl:317 [inlined]
│  [5] include_relative(::Module, ::String) at ./loading.jl:1038
│  [6] include(::Module, ::String) at ./sysimg.jl:29
│  [7] include(::String) at ./client.jl:388
│  [8] top-level scope at none:0
│ in expression starting at /Users/adrian/.julia/packages/LibBSON/2p4EI/deps/build.jl:21
│ in expression starting at /Users/adrian/.julia/packages/LibBSON/2p4EI/deps/build.jl:21
└ @ Pkg.Operations /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068

(v1.0) pkg> add LibBSON#master
   Cloning git-repo `https://github.com/ScottPJones/LibBSON.jl.git`
  Updating git-repo `https://github.com/ScottPJones/LibBSON.jl.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
  [b5cb2838] + LibBSON v0.3.0+ #master (https://github.com/ScottPJones/LibBSON.jl.git)
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [d9be37ee] - Homebrew v0.7.0
  [b5cb2838] ↑ LibBSON v0.3.0 ⇒ v0.3.0+ #master (https://github.com/ScottPJones/LibBSON.jl.git)
  Building LibBSON → `~/.julia/packages/LibBSON/NaUnQ/deps/build.log`

(v1.0) pkg> build LibBSON
  Building LibBSON → `~/.julia/packages/LibBSON/NaUnQ/deps/build.log`

(v1.0) pkg> build Mongo
  Building LibBSON → `~/.julia/packages/LibBSON/NaUnQ/deps/build.log`
  Building Mongo ──→ `~/.julia/packages/Mongo/XbZhn/deps/build.log`
essenciary commented 6 years ago

I spoke too soon. Sadly, it fails later on:

Precompiling Mongo
[ Info: Precompiling Mongo [f08002d9-bb2c-5ca6-9977-d4081ea2ff9e]
ERROR: LoadError: LoadError: UndefVarError: Associative not defined
Stacktrace:
 [1] top-level scope at none:0
 [2] include at ./boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at /Users/adrian/.julia/packages/Mongo/XbZhn/src/Mongo.jl:3
 [6] top-level scope at none:0
 [7] include at ./boot.jl:317 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1038
 [9] include(::Module, ::String) at ./sysimg.jl:29
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:319 [inlined]
 [12] eval(::Expr) at ./client.jl:389
 [13] top-level scope at ./none:3
in expression starting at /Users/adrian/.julia/packages/Mongo/XbZhn/src/MongoClient.jl:57
in expression starting at /Users/adrian/.julia/packages/Mongo/XbZhn/src/Mongo.jl:30
ERROR: Failed to precompile Mongo [f08002d9-bb2c-5ca6-9977-d4081ea2ff9e] to /Users/adrian/.julia/compiled/v1.0/Mongo/NbAnB.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1184
 [4] precompile(::Pkg.Types.Context) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:489
 [5] do_precompile!(::Dict{Symbol,Any}, ::Array{String,1}, ::Dict{Symbol,Any}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:586
 [6] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:686
 [7] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:685
 [8] do_cmd!(::Pkg.REPLMode.PkgCommand, ::REPL.LineEditREPL) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:542
 [9] #do_cmd#30(::Bool, ::Function, ::REPL.LineEditREPL, ::String) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:507
 [10] do_cmd at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:503 [inlined]
 [11] (::getfield(Pkg.REPLMode, Symbol("##41#44")){REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/REPLMode.jl:842
 [12] #invokelatest#1 at ./essentials.jl:686 [inlined]
 [13] invokelatest at ./essentials.jl:685 [inlined]
 [14] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/REPL/src/LineEdit.jl:2261
 [15] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:1029
 [16] run_repl(::REPL.AbstractREPL, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:191
 [17] (::getfield(Base, Symbol("##720#722")){Bool,Bool,Bool,Bool})(::Module) at ./logging.jl:311
 [18] #invokelatest#1 at ./essentials.jl:686 [inlined]
 [19] invokelatest at ./essentials.jl:685 [inlined]
 [20] macro expansion at ./logging.jl:308 [inlined]
 [21] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:330
 [22] exec_options(::Base.JLOptions) at ./client.jl:242
 [23] _start() at ./client.jl:421
felipenoris commented 5 years ago

I got some good news for ya.

https://github.com/felipenoris/Mongoc.jl

EricForgy commented 5 years ago

I got some good news for ya.

I am on Windows 😭

felipenoris commented 5 years ago

@EricForgy Don't worry. It'll be available soon. See https://github.com/felipenoris/Mongoc.jl/issues/1.