BinDeps.jl icon indicating copy to clipboard operation
BinDeps.jl copied to clipboard

ERROR: UndefVarError: STDOUT not defined

Open skanskan opened this issue 5 years ago • 5 comments

Hello.

When I try to execute BinDeps.debug("Cairo") I get this error. ERROR: UndefVarError: STDOUT not defined

I'm using Julia 1.0.2 on Windows 10.

skanskan avatar Nov 29 '18 15:11 skanskan

Hi @skanskan please see #387 Just had a look out of curiosity, and did a hack to see BinDeps.debugs output (because of pkg.Dir depreceated) PS: libCairo refuses to build on Win10/1.0.2 for me too.

`julia> BinDeps.debug("Cairo") [ Info: Reading build script... [ Info: Recompiling stale cache file C:\Users\Tho.julia\compiled\v1.0\WinRPM\ko3j0.ji for WinRPM [c17dfb99-b4f7-5aad-8812-456da1ad7187] The package declares 1 dependencies.

  • Library Group "cairo"[ Info: Updating WinRPM package list [ Info: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml [ Info: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_Leap_42.2/repodata/repomd.xml

    • Library "png" (not applicable to this system)
    • Library "pixman" (not applicable to this system)
    • Library "ffi" (not applicable to this system)
    • Library "gettext" (not applicable to this system)
    • Library "gobject"
      • Satisfied by:
        • WinRPM.RPM package ["glib2", "libgobject-2_0-0"] at C:\Users\Tho.julia\packages\WinRPM\Y9QdZ\deps\usr\i686-w64-mingw32\sys-root\mingw\bin\libgobject-2.0-0.dll
      • Providers:
        • WinRPM.RPM package ["glib2", "libgobject-2_0-0"]
        • AptGet package libglib2.0-0 (can't provide)
        • Yum package glib2 (can't provide)
        • Zypper package libglib-2_0 (can't provide)
        • Autotools Build
    • Library "freetype" (not applicable to this system)
    • Library "fontconfig" (not applicable to this system)
    • Library "cairo"
      • Providers:
        • WinRPM.RPM package ["libcairo2", "libharfbuzz0"]
        • AptGet package libcairo2 (can't provide)
        • Yum package cairo (can't provide)
        • Zypper package libcairo2 (can't provide)
        • Autotools Build
    • Library "pango"
      • Providers:
        • WinRPM.RPM package libpango-1_0-0
        • AptGet package libpango1.0-0 (can't provide)
        • Yum package pango (can't provide)
        • Zypper package libpango-1_0 (can't provide)
        • Autotools Build
    • Library "pangocairo"
      • Providers:
        • WinRPM.RPM package libpango-1_0-0
        • AptGet package libpango1.0-0 (can't provide)
        • Yum package pango (can't provide)
        • Zypper package libpango-1_0 (can't provide)
        • Autotools Build
    • Library "zlib"
      • Satisfied by:
        • System Paths at C:\Users\Tho\AppData\Local\Julia-1.0.2\bin\zlib1.DLL
        • System Paths at C:\Users\Tho\AppData\Local\Julia-1.0.2\bin\zlib1.dll
      • Providers:
        • WinRPM.RPM package zlib-devel

julia>`

arjunae avatar Nov 30 '18 19:11 arjunae

Any progress on this? See the exact same issue with this use case.

arnavs avatar Dec 20 '18 23:12 arnavs

see https://github.com/JuliaGraphics/Cairo.jl/issues/265 in short, stdout handling changed btw 0.7 and 1.0. and further - winRPM fetched (mingw) cairo libs depend on SJLJ but dont include that symbols themselfs. Current Mingw switched to SEH and such Libdl.dlopen fails because of unfilled lib dependencies even when one has a copy of Mingw installed.

arjunae avatar Dec 30 '18 10:12 arjunae

follow up: STDOUT (used last line in debug.jl) was renamed in v1.0 to stdout (see JuliaLang/julia#25959) any chance of a v1.0 only tag? I am having deprecation issues:

julia> BinDeps.debug(stdout, "Cairo")
[ Info: Reading build script...
┌ Warning: `Pkg.dir(pkgname, paths...)` is deprecated; instead, do `import Cairo; joinpath(dirname(pathof(Cairo)), "..", paths...)`.
└ @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:454
ERROR: MethodError: no method matching joinpath(::Nothing, ::String, ::String)
Closest candidates are:
  joinpath(::AbstractString, ::AbstractString, ::AbstractString...) at path.jl:214
  joinpath(::String, ::String) at path.jl:217
  joinpath(::AbstractString, ::AbstractString) at path.jl:226
Stacktrace:
 [1] macro expansion at ./logging.jl:308 [inlined]
 [2] debug_context(::String) at /home/hamza/.julia/packages/BinDeps/ZEval/src/debug.jl:48
 [3] debug(::Base.TTY, ::String) at /home/hamza/.julia/packages/BinDeps/ZEval/src/debug.jl:57
 [4] top-level scope at none:0

julia> VERSION
v"1.0.0"

(v1.0) pkg> status
    Status `~/.julia/environments/v1.0/Project.toml`
  #... 
  [9e28174c] BinDeps v0.8.10

hamzaelsaawy avatar Feb 03 '19 18:02 hamzaelsaawy

On master (]add BinDeps#master) this works fine. Should have been fixed by #389, @rdeits?

jonas-schulze avatar Jul 10 '19 17:07 jonas-schulze