Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Pylon 6 #1

Open
roflmaostc opened this issue Oct 18, 2021 · 7 comments
Open

Support for Pylon 6 #1

roflmaostc opened this issue Oct 18, 2021 · 7 comments

Comments

@roflmaostc
Copy link

Hi,
thanks for the package, exactly what I need!

But, my machine has Pylon 6 installed

ls /opt/ | grep pyl        
pylon6

which somehow fails:

export LD_LIBRARY_PATH=/opt/pylon6/lib64                                                                                            [18-10-21 | 2:10:44]
╭─fxw@earth ~/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl  ‹master› 
╰─➤  julia --eval 'using Pkg; pkg"activate ."; pkg"instantiate"; pkg"build"'                                                             [18-10-21 | 2:10:46]
At startup Revise.jl and OhMyREPL.jl loaded┌ Warning: The Pkg REPL interface is intended for interactive use, use with caution from scripts.
└ @ Pkg.REPLMode /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:378
  Activating environment at `~/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/Project.toml`
Precompiling project...
  ? PylonCameras
  3 dependencies successfully precompiled in 26 seconds (23 already precompiled)
  1 dependency failed but may be precompilable after restarting julia
    Building SpecialFunctions  `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/3bdd374b6fd78faf0119b8c5d538788dbf910c6e/build.log`
    Building CxxWrap ───────── `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/8da57ef9a68690903b0fc625e935b49f53ba58f9/build.log`
    Building PylonCameras ──── `~/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/deps/build.log`
ERROR: Error building `PylonCameras`: 
[ Info: Downloading https://github.com/IHPSystems/pylon_julia_wrapper/releases/download/v0.3.2/pylon_julia_wrapper.v0.3.2.x86_64-linux-gnu-gcc7-cxx11.tar.gz to /home/fxw/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/deps/usr/downloads/pylon_julia_wrapper.v0.3.2.x86_64-linux-gnu-gcc7-cxx11.tar.gz...
ERROR: LoadError: LibraryProduct(nothing, ["libpylon_julia_wrapper"], :pylon_julia_wrapper, "Prefix(/home/fxw/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/deps/usr)") is not satisfied, cannot generate deps.jl!
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] write_deps_file(depsjl_path::String, products::Vector{LibraryProduct}; verbose::Bool)
   @ BinaryProvider ~/.julia/packages/BinaryProvider/kcGxO/src/Products.jl:414
 [3] top-level scope
   @ ~/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/deps/build.jl:39
 [4] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [5] top-level scope
   @ none:5
in expression starting at /home/fxw/Documents/Uni/my_projects/Duke_Sensor_Array/basler_pylon/PylonCameras.jl/deps/build.jl:39
[14:11:34] ######################################################################## 100.0%
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
  [2] (::Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec})()
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1048
  [3] withenv(::Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, ::Pair{String, String}, ::Vararg{Pair{String, B} where B, N} where N)
    @ Base ./env.jl:161
  [4] (::Pkg.Operations.var"#109#113"{String, Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec})()
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1546
  [5] with_temp_env(fn::Pkg.Operations.var"#109#113"{String, Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec}, temp_env::String)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1448
  [6] (::Pkg.Operations.var"#108#112"{Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1521
  [7] mktempdir(fn::Pkg.Operations.var"#108#112"{Pkg.Operations.var"#82#87"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String)
    @ Base.Filesystem ./file.jl:729
  [8] mktempdir(fn::Function, parent::String) (repeats 2 times)
    @ Base.Filesystem ./file.jl:727
  [9] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1487
 [10] build_versions(ctx::Pkg.Types.Context, uuids::Vector{Base.UUID}; verbose::Bool)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1029
 [11] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, verbose::Bool)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:910
 [12] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::Base.Iterators.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:900
 [13] build(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:80
 [14] build(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:78
 [15] do_cmd!(command::Pkg.REPLMode.Command, repl::Pkg.REPLMode.MiniREPL)
    @ Pkg.REPLMode /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:408
 [16] do_cmd(repl::Pkg.REPLMode.MiniREPL, input::String; do_rethrow::Bool)
    @ Pkg.REPLMode /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/REPLMode/REPLMode.jl:386
 [17] top-level scope
    @ none:1

Anything I'm doing wrong here?

Thanks,
Felix

@stemann
Copy link
Owner

stemann commented Oct 18, 2021

Hi Felix

Good to know the package is getting used.

Basler pylon unfortunately is not the greatest at binary compatibility. As a consequence, you currently need to have pylon 5.1(.0?) (first) in you LD_LIBRARY_PATH as this was the version pylon_julia_wrapper 0.3 (and 0.4) was compiled with - cf. the Dockerfile or build_tarballs.jl for the specific version number.

There will be a new version ready soon - end of October - with Julia 1.3+ (Julia 1.6/1.7 at least) compatibility.

Best regards,
Jesper

@roflmaostc
Copy link
Author

Yeah with /opt/pylon5/ it's also not working.
Is it because I use Julia 1.6.3?

@stemann
Copy link
Owner

stemann commented Oct 18, 2021

Quite likely. It’s only verified to work with Julia 1.0 (have been running like that in a container for a few years).

@roflmaostc
Copy link
Author

Okay, that's unfortunate, I cannot make a clue from that stack trace.

I try PyCall since I anyway have to use that for a Thorlabs stage 😢

@roflmaostc
Copy link
Author

But I'm looking forward to the new version!

@stemann
Copy link
Owner

stemann commented Oct 18, 2021

Will try to find time to finish the job earlier.

@stemann
Copy link
Owner

stemann commented Nov 29, 2021

Struggling a bit to get a Julia 1.3/1.6-ready JLL built and tested, but at least the Julia 1.3/1.6 version of the underlying dependency has been ready for a while: stemann/pylon_julia_wrapper@993ae34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants