GenieFramework / SearchLight.jl

ORM layer for Genie.jl, the highly productive Julia web framework
https://genieframework.com
MIT License
139 stars 16 forks source link

how to install SearchLight on Genie #1

Closed behrooz closed 5 years ago

behrooz commented 6 years ago

hi I am trying to install SearchLight on Genie web framework

julia> Pkg.add("SearchLight") ERROR: unknown package SearchLight macro expansion at .\pkg\entry.jl:53 [inlined] (::Base.Pkg.Entry.##1#3{String,Base.Pkg.Types.VersionSet})() at .\task.jl:335

============================================== julia> julia> Pkg.clone("https://github.com/essenciary/SearchLight.jl") # Genie's ORM ERROR: UndefVarError: julia not defined Stacktrace: [1] eval(::Module, ::Any) at .\boot.jl:235 [2] eval(::Any) at .\boot.jl:234 [3] macro expansion at C:\Users\tips.julia\v0.6\Atom\src\repl.jl:186 [inlined] [4] anonymous at .\:?

essenciary commented 6 years ago

Can you add output from julia> versioninfo() and julia> Pkg.status()

behrooz commented 6 years ago

here it is

julia> versioninfo() Julia Version 0.6.2 Commit d386e40c17* (2017-12-13 18:08 UTC) Platform Info: OS: Windows (x86_64-w64-mingw32) CPU: Intel(R) Core(TM) i3-4170 CPU @ 3.70GHz WORD_SIZE: 64 BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NOAFFINITY Haswell) LAPACK: libopenblas64 LIBM: libopenlibm LLVM: libLLVM-3.9.1 (ORCJIT, haswell)

=========================== julia> Pkg.status() 7 required packages: AMQPClient 0.1.0 Atom 0.6.9 Blink 0.6.1 BuildExecutable 0.1.2 JSON 0.16.4 JuliaWebAPI 0.3.6 ZMQ 0.5.1 53 additional packages: ASTInterpreter2 0.1.1 AbstractTrees 0.1.0 ArgParse 0.5.0 BinDeps 0.8.6 BufferedStreams 0.3.3 CodeTools 0.4.7 Codecs 0.4.0 Compat 0.53.0 Crayons 0.4.1 DataStructures 0.7.4 DateParser 0.1.1 DebuggerFramework 0.1.2 Distances 0.5.0 DocSeeker 0.1.0 Flax 0.0.0- master (unregistered) Genie 0.0.0- master (unregistered) Gumbo 0.4.0 Hiccup 0.1.1 HttpCommon 0.4.0 HttpParser 0.3.1 HttpServer 0.3.0 IterTools 0.2.1 Juno 0.4.0 LNR 0.0.2 Lazy 0.12.0 LibExpat 0.4.1 Libz 0.2.4 LightXML 0.6.0 Logging 0.3.1 Lumberjack 2.1.1 MacroTools 0.4.0 MbedTLS 0.5.5 Media 0.3.0 Memoize 0.2.0 Millboard 0.1.0 Mocking 0.5.0 Mustache 0.3.0 Mux 0.2.3 Nettle 0.3.0 Nullables 0.0.3 OhMyREPL 0.2.11 Reexport 0.1.0 Requires 0.4.3 SHA 0.5.6 StackTraces 0.1.1 StringDistances 0.2.0 TextWrap 0.2.0 TimeZones 0.6.2 Tokenize 0.4.2 URIParser 0.3.0 WebSockets 0.4.0 WinRPM 0.3.1 YAML 0.2.1

essenciary commented 6 years ago

Thanks - I pushed some updates. Can you try now?

If all works well, you don't need to install anything -- Genie will install SearchLight by itself. Just do Pkg.update() and try again. If it still doesn't work let me know what steps did you take so far so I'll try to reproduce.

rwatts3 commented 6 years ago

Just tried using Julia Version 0.7.0-rc2.0 (2018-08-02 19:14 UTC)

ERROR: Unsatisfiable requirements detected for package SearchLight [340e8cb6]: SearchLight [340e8cb6] log: ├─SearchLight [340e8cb6] has no known versions! └─restricted to versions * by Genie [c6d403a6] - no versions left └─Genie [c6d403a6] log: ├─possible versions are: 0.1.0 or uninstalled └─Genie [c6d403a6] is fixed to version 0.1.0

essenciary commented 6 years ago

Things are a bit messy at this point as I've migrated the packages to Julia 0.7 but there's still work to be done.

Pkg3 has been a moving target and to be honest I'm still getting the hang of it. I've had this problem too and fixed it, though I can't remember how I solved it exactly. I need to dig deeper.

HerSta commented 6 years ago

Any update on this? I'm getting the exact same error as rwatts3.

essenciary commented 6 years ago

Just tested out on a clean Mac. This seems to work:

pkg> add LibPQ#master
pkg> add Nettle#master
pkg> add https://github.com/essenciary/SearchLight.jl
pkg> add https://github.com/essenciary/Genie.jl

You might not need the first two -- they just don't build on macOS so I need the master branch.

(v0.7) pkg> st
    Status `~/.julia/environments/v0.7/Project.toml`
  [c43c736e] Genie v0.1.0 #master (https://github.com/essenciary/Genie.jl)
  [194296ae] LibPQ v0.3.0+ #master (https://github.com/invenia/LibPQ.jl.git)
  [49dea1ee] Nettle v0.3.0+ #master (https://github.com/staticfloat/Nettle.jl.git)
  [340e8cb6] SearchLight v0.1.0 #master (https://github.com/essenciary/SearchLight.jl)
HerSta commented 6 years ago

Thanks for fast reply. After doing

pkg> add LibPQ#master
pkg> add Nettle#master
pkg> add https://github.com/essenciary/SearchLight.jl
pkg> add https://github.com/essenciary/Genie.jl

succefully

(v0.7) pkg> st
    Status `~/.julia/environments/v0.7/Project.toml`
  [c43c736e] Genie v0.1.0 #master (https://github.com/essenciary/Genie.jl)
  [58cfbd8c] HttpServer v0.3.1
  [194296ae] LibPQ v0.3.0+ #master (https://github.com/invenia/LibPQ.jl.git)
  [f28f55f0] Memento v0.9.0+ #master (https://github.com/invenia/Memento.jl.git)
  [49dea1ee] Nettle v0.3.0+ #master (https://github.com/staticfloat/Nettle.jl.git)
  [340e8cb6] SearchLight v0.1.0 #master (https://github.com/essenciary/SearchLight.jl)

I tried to bring Genie into scope:

julia 0.7:

julia> using Genie
[ Info: Precompiling Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e]

signal (11): Segmentation fault: 11
in expression starting at no file:0
jl_typemap_entry_assoc_exact at /Users/osx/buildbot/slave/package_osx64/build/src/typemap.c:102
jl_typemap_level_assoc_exact at /Users/osx/buildbot/slave/package_osx64/build/src/typemap.c:838
jl_typemap_assoc_exact at /Users/osx/buildbot/slave/package_osx64/build/src/./julia_internal.h:886 [inlined]
jl_lookup_generic_ at /Users/osx/buildbot/slave/package_osx64/build/src/gf.c:2133
jl_apply_generic at /Users/osx/buildbot/slave/package_osx64/build/src/gf.c:2179
jl_apply at /Users/osx/buildbot/slave/package_osx64/build/src/./julia.h:1538 [inlined]
jl_module_run_initializer at /Users/osx/buildbot/slave/package_osx64/build/src/toplevel.c:90
_julia_init at /Users/osx/buildbot/slave/package_osx64/build/src/init.c:820
julia_init__threading at /Users/osx/buildbot/slave/package_osx64/build/src/task.c:302
main at /Applications/Julia-0.7.app/Contents/Resources/julia/bin/julia (unknown line)
Allocations: 2484 (Pool: 2476; Big: 8); GC: 0
ERROR: LoadError: LoadError: Failed to precompile HTTP [cd3eb016-35fb-5094-929b-558a96fad6f3] to /Users/god/.julia/compiled/v0.7/HTTP/zXWya.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:1185
 [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 at ./sysimg.jl:29 [inlined]
 [11] include(::String) at /Users/god/.julia/packages/Genie/m3fVI/src/Genie.jl:4
 [12] top-level scope at none:0
 [13] include at ./boot.jl:317 [inlined]
 [14] include_relative(::Module, ::String) at ./loading.jl:1038
 [15] include(::Module, ::String) at ./sysimg.jl:29
 [16] top-level scope at none:2
 [17] eval at ./boot.jl:319 [inlined]
 [18] eval(::Expr) at ./client.jl:399
 [19] top-level scope at ./none:3
in expression starting at /Users/god/.julia/packages/Genie/m3fVI/src/Cookies.jl:6
in expression starting at /Users/god/.julia/packages/Genie/m3fVI/src/Genie.jl:31
ERROR: Failed to precompile Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e] to /Users/god/.julia/compiled/v0.7/Genie/8eazC.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:1185
 [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
essenciary commented 6 years ago

Strange - are you running this on 0.7 or 1.0?


The ecosystem is not ready for 1.0 -- the recommendation is to stay on 0.7 for a while. If you're on 0.7 I suggest

pkg> add Memento#master
cuitongji commented 6 years ago

@HerSta Thank you very much, you help me solve my problem for the following code. pkg> add LibPQ#master pkg> add Nettle#master pkg> add https://github.com/essenciary/SearchLight.jl pkg> add https://github.com/essenciary/Genie.jl But I find something new beforepkg> add https://github.com/essenciary/SearchLight.jl, should type that: pkg> add https://github.com/JuliaData/NamedTuples.jl or you will meet this problem: ERROR: Unsatisfiable requirements detected for package NamedTuples [73a701b4]: and the last step should be replaced by julia> Pkg.clone("https://github.com/essenciary/Genie.jl") beause my version is 1.0, to avoid that WARNING: could not import Base.reload into Util when you use Genie

michi-zuri commented 6 years ago

julia> Pkg.clone("https://github.com/essenciary/Genie.jl") hangs after throwing WARNING: could not import Base.reload into Util whereas pkg> add https://github.com/essenciary/Genie.jl only gives me the warning.

xiuliren commented 5 years ago

I have a similar issue. After installing SearchLight from master, my Genie is not working. I have seen some downgrade of packages, such as websocket.jl

lia> using Genie
[ Info: Precompiling Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e]
┌ Warning: Deprecated syntax `type` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:45.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:45
┌ Warning: Deprecated syntax `type` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:52.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:52
┌ Warning: Deprecated syntax `type` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:265.
│ Use `mutable struct` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:265
┌ Warning: Deprecated syntax `call to `&` inside call to bitshift operator` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:347.
│ Use `parenthesized call to `&`` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:347
┌ Warning: Deprecated syntax `call to `&` inside call to bitshift operator` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:355.
│ Use `parenthesized call to `&`` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:355
┌ Warning: Deprecated syntax `immutable` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:472.
│ Use `struct` instead.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:472
┌ Warning: Deprecated syntax `try without catch or finally` at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:488.
└ @ ~/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:488
┌ Warning: Deprecated syntax `@doc call with ->` at /home/jingpeng/.julia/packages/HttpServer/ZGldt/src/HttpServer.jl:229.
│ Use `a line break` instead.
└ @ ~/.julia/packages/HttpServer/ZGldt/src/HttpServer.jl:229
WARNING: importing deprecated binding Base.listen into HttpServer.
ERROR: LoadError: UndefVarError: TCPServer not defined
Stacktrace:
 [1] getproperty(::Module, ::Symbol) at ./sysimg.jl:13
 [2] top-level scope at none:0
 [3] include at ./boot.jl:317 [inlined]
 [4] include_relative(::Module, ::String) at ./loading.jl:1038
 [5] include(::Module, ::String) at ./sysimg.jl:29
 [6] top-level scope at none:2
 [7] eval at ./boot.jl:319 [inlined]
 [8] eval(::Expr) at ./client.jl:399
 [9] top-level scope at ./none:3
in expression starting at /home/jingpeng/.julia/packages/HttpServer/ZGldt/src/HttpServer.jl:31
ERROR: LoadError: Failed to precompile HttpServer [58cfbd8c-6b7d-5447-85c1-563540e28d27] to /home/jingpeng/.julia/compiled/v0.7/HttpServer/SC4ql.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:1185
 [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:399
 [14] top-level scope at ./none:3
in expression starting at /home/jingpeng/.julia/packages/WebSockets/sScIZ/src/WebSockets.jl:24
ERROR: LoadError: LoadError: Failed to precompile WebSockets [104b5d7c-a370-577a-8038-80a2059c5097] to /home/jingpeng/.julia/compiled/v0.7/WebSockets/SeUn1.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:1185
 [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 at ./sysimg.jl:29 [inlined]
 [11] include(::String) at /home/jingpeng/.julia/packages/Genie/nYbXj/src/Genie.jl:4
 [12] top-level scope at none:0
 [13] include at ./boot.jl:317 [inlined]
 [14] include_relative(::Module, ::String) at ./loading.jl:1038
 [15] include(::Module, ::String) at ./sysimg.jl:29
 [16] top-level scope at none:2
 [17] eval at ./boot.jl:319 [inlined]
 [18] eval(::Expr) at ./client.jl:399
 [19] top-level scope at ./none:3
in expression starting at /home/jingpeng/.julia/packages/Genie/nYbXj/src/Router.jl:4
in expression starting at /home/jingpeng/.julia/packages/Genie/nYbXj/src/Genie.jl:36
ERROR: Failed to precompile Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e] to /home/jingpeng/.julia/compiled/v0.7/Genie/8eazC.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:1185
 [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
essenciary commented 5 years ago

Looks like some very old version of WebSockets. Have you tried a pkg> up What version of Julia are you using? Can you show the output of pkg> st?

xiuliren commented 5 years ago

I was using Julia 0.7. I was trying in my laptop, have not take it today. So can not show the package status now.