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

NLopt build error #138

Closed
azev77 opened this issue Jan 6, 2020 · 3 comments · Fixed by #145
Closed

NLopt build error #138

azev77 opened this issue Jan 6, 2020 · 3 comments · Fixed by #145

Comments

@azev77
Copy link

azev77 commented Jan 6, 2020

Building NLopt 0.5.1 gave these errors on Windows 10, Julia 1.3.0:

(v1.3) pkg> build NLopt
Building CMake → C:\Users\azevelev\.julia\packages\CMake\nSK2r\deps\build.log
┌ Error: Error building CMake:
│ ┌ Warning: On Windows, creating file symlinks requires Administrator privileges
│ └ @ Base.Filesystem file.jl:848
│ [ Info: Attempting to create directory C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\downloads
│ [ Info: Directory C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\downloads already exists
│ [ Info: Downloading file https://github.com/Kitware/CMake/releases/download/v3.12.3/cmake-3.12.3-win64-x64.zip
│ [ Info: Done downloading file https://github.com/Kitware/CMake/releases/download/v3.12.3/cmake-3.12.3-win64-x64.zip
│ [ Info: Attempting to create directory C:\Users\azevelev.julia\packages\CMake\nSK2r\deps
│ [ Info: Directory C:\Users\azevelev.julia\packages\CMake\nSK2r\deps already exists
│ ERROR: LoadError: IOError: could not spawn 'C:\Users\azevelev\AppData\Local\Julia-1.3.0\bin\7z.exe' x 'C:\Users\azevelev\.julia\packages\CMake\nSK2r\deps\downloads\cmake-3.12.3-win64-x64.zip' -y '-oC:\Users\azevelev\.julia\packages\CMake\nSK2r\deps\downloads': no such file or directory (ENOENT)
│ Stacktrace:
│ [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at .\process.jl:99
│ [2] setup_stdios(::Base.var"#554#555"{Cmd}, ::Array{Any,1}) at .\process.jl:112
│ [3] _spawn at .\process.jl:111 [inlined]
│ [4] #run#565(::Bool, ::typeof(run), ::Cmd) at .\process.jl:439
│ [5] run(::Cmd) at .\process.jl:438
│ [6] run(::BinDeps.PathRule) at C:\Users\azevelev.julia\packages\BinDeps\ZEval\src\BinDeps.jl:503
│ [7] run(::BinDeps.SynchronousStepCollection) at C:\Users\azevelev.julia\packages\BinDeps\ZEval\src\BinDeps.jl:521
│ [8] run(::FileRule) at C:\Users\azevelev.julia\packages\BinDeps\ZEval\src\BinDeps.jl:483
│ [9] run(::BinDeps.SynchronousStepCollection) at C:\Users\azevelev.julia\packages\BinDeps\ZEval\src\BinDeps.jl:521
│ [10] top-level scope at C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\build.jl:155
│ [11] include at .\boot.jl:328 [inlined]
│ [12] include_relative(::Module, ::String) at .\loading.jl:1105
│ [13] include(::Module, ::String) at .\Base.jl:31
│ [14] include(::String) at .\client.jl:424
│ [15] top-level scope at none:5
│ in expression starting at C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\build.jl:155
│ caused by [exception 1]
│ IOError: symlink: operation not permitted (EPERM)
│ Stacktrace:
│ [1] uv_error at .\libuv.jl:97 [inlined]
│ [2] symlink(::String, ::String) at .\file.jl:851
│ [3] probe_symlink_creation(::String) at C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\build.jl:27
│ [4] install_binaries(::String, ::String, ::String) at C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\build.jl:43
│ [5] top-level scope at C:\Users\azevelev.julia\packages\CMake\nSK2r\deps\build.jl:139
│ [6] include at .\boot.jl:328 [inlined]
│ [7] include_relative(::Module, ::String) at .\loading.jl:1105
│ [8] include(::Module, ::String) at .\Base.jl:31
│ [9] include(::String) at .\client.jl:424
│ [10] top-level scope at none:5
└ @ Pkg.Operations D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\backwards_compatible_isolation.jl:649
Building NLopt → C:\Users\azevelev\.julia\packages\NLopt\eqN9a\deps\build.log
┌ Error: Error building NLopt:
│ ERROR: LoadError: CMake not properly installed. Please run
│ Pkg.build("CMake")
│ Stacktrace:
│ [1] error(::String) at .\error.jl:33
│ [2] top-level scope at C:\Users\azevelev.julia\packages\CMake\nSK2r\src\CMake.jl:13
│ [3] include at .\boot.jl:328 [inlined]
│ [4] include_relative(::Module, ::String) at .\loading.jl:1105
│ [5] include(::Module, ::String) at .\Base.jl:31
│ [6] top-level scope at none:2
│ [7] eval at .\boot.jl:330 [inlined]
│ [8] eval(::Expr) at .\client.jl:425
│ [9] top-level scope at .\none:3
│ in expression starting at C:\Users\azevelev.julia\packages\CMake\nSK2r\src\CMake.jl:12
│ ERROR: LoadError: Failed to precompile CMake [631607c0-34d2-5d66-819e-eb0f9aa2061a] to C:\Users\azevelev.julia\compiled\v1.3\CMake\TDh52_JJC1e.ji.
│ Stacktrace:
│ [1] error(::String) at .\error.jl:33
│ [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1283
│ [3] _require(::Base.PkgId) at .\loading.jl:1024
│ [4] require(::Base.PkgId) at .\loading.jl:922
│ [5] require(::Module, ::Symbol) at .\loading.jl:917
│ [6] include at .\boot.jl:328 [inlined]
│ [7] include_relative(::Module, ::String) at .\loading.jl:1105
│ [8] include(::Module, ::String) at .\Base.jl:31
│ [9] top-level scope at none:2
│ [10] eval at .\boot.jl:330 [inlined]
│ [11] eval(::Expr) at .\client.jl:425
│ [12] top-level scope at .\none:3
│ in expression starting at C:\Users\azevelev.julia\packages\CMakeWrapper\Aj38O\src\CMakeWrapper.jl:21
│ ┌ Warning: On Windows, creating file symlinks requires Administrator privileges
│ └ @ Base.Filesystem file.jl:848
│ ERROR: LoadError: LoadError: Failed to precompile CMakeWrapper [d5fb7624-851a-54ee-a528-d3f3bac0b4a0] to C:\Users\azevelev.julia\compiled\v1.3\CMakeWrapper\geahK_JJC1e.ji.
│ Stacktrace:
│ [1] error(::String) at .\error.jl:33
│ [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1283
│ [3] _require(::Base.PkgId) at .\loading.jl:1024
│ [4] require(::Base.PkgId) at .\loading.jl:922
│ [5] require(::Module, ::Symbol) at .\loading.jl:917
│ [6] include at .\boot.jl:328 [inlined]
│ [7] include_relative(::Module, ::String) at .\loading.jl:1105
│ [8] include(::Module, ::String) at .\Base.jl:31
│ [9] include(::String) at .\client.jl:424
│ [10] top-level scope at C:\Users\azevelev.julia\packages\NLopt\eqN9a\deps\build.jl:2
│ [11] include at .\boot.jl:328 [inlined]
│ [12] include_relative(::Module, ::String) at .\loading.jl:1105
│ [13] include(::Module, ::String) at .\Base.jl:31
│ [14] include(::String) at .\client.jl:424
│ [15] top-level scope at none:5
│ in expression starting at C:\Users\azevelev.julia\packages\NLopt\eqN9a\deps\compile.jl:2
│ in expression starting at C:\Users\azevelev.julia\packages\NLopt\eqN9a\deps\build.jl:2
│ caused by [exception 1]
│ IOError: symlink: operation not permitted (EPERM)
│ Stacktrace:
│ [1] uv_error at .\libuv.jl:97 [inlined]
│ [2] symlink(::String, ::String) at .\file.jl:851
│ [3] probe_symlink_creation(::String) at C:\Users\azevelev.julia\packages\BinaryProvider\kcGxO\src\PlatformEngines.jl:121
│ [4] #probe_platform_engines!#30(::Bool, ::typeof(BinaryProvider.probe_platform_engines!)) at C:\Users\azevelev.julia\packages\BinaryProvider\kcGxO\src\PlatformEngines.jl:175
│ [5] probe_platform_engines! at C:\Users\azevelev.julia\packages\BinaryProvider\kcGxO\src\PlatformEngines.jl:169 [inlined]
│ [6] init() at C:\Users\azevelev.julia\packages\BinaryProvider\kcGxO\src\BinaryProvider.jl:28
│ [7] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:692
│ [8] _require_search_from_serialized(::Base.PkgId, ::String) at .\loading.jl:776
│ [9] _require(::Base.PkgId) at .\loading.jl:1001
│ [10] require(::Base.PkgId) at .\loading.jl:922
│ [11] require(::Module, ::Symbol) at .\loading.jl:917
│ [12] include at .\boot.jl:328 [inlined]
│ [13] include_relative(::Module, ::String) at .\loading.jl:1105
│ [14] include(::Module, ::String) at .\Base.jl:31
│ [15] include(::String) at .\client.jl:424
│ [16] top-level scope at none:5
└ @ Pkg.Operations D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\backwards_compatible_isolation.jl:649
@stevengj
Copy link
Collaborator

stevengj commented Jan 7, 2020

It's frustrating that we can't recover from this error, since CMake is not even needed except as a fallback if binaries aren't available…

@mzaffalon
Copy link
Contributor

I am not sure it is related, but I remember seeing the IOError: symlink: operation not permitted (EPERM) error and it was me renaming .julia/environment/v1.2 to v1.3. It went away when I installed NLopt the standard way in a clean environment.

@azev77
Copy link
Author

azev77 commented Feb 5, 2020

I reinstalled Julia from scratch. No longer have this problem....

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

Successfully merging a pull request may close this issue.

3 participants