Skip to content

LibCURL build fails for Windows XP sp3 (32-bits related) #15

@stanpetit

Description

@stanpetit

Hi @amitmurthy !

I try to get IJulia running for Julia ...

Version 0.3.0-prerelease+4095 (2014-07-09 02:16 UTC)
Commit 2b6d708 (4 days old master)
i686-w64-mingw32

While LibCURL doesn't build, Nettle can't either.

===============================[ ERROR: LibCURL ]===============================


None of the selected providers can install dependency libcurl-4
while loading C:\Documents and Settings\Administrateur\.julia\v0.3\LibCURL\deps\
build.jl, in expression starting on line 13

===============================================================================


================================[ BUILD ERRORS ]================================


WARNING: LibCURL had build errors.

 - packages with build errors remain installed in C:\Documents and Settings\Admi
nistrateur\.julia\v0.3
 - build a package and all its dependencies with `Pkg.build(pkg)`
 - build a single package by running its `deps/build.jl` script

================================================================================

Here is deps/build.jl
From the @windows_only macro, expression starting on line 13 (@BinDeps.install)is waiting for a dependency provided by "WinRPM"

using BinDeps

@BinDeps.setup

@windows_only begin
# note that there is a 32-bit version of libcurl.dll
# included with Git, which will not work with 64 bit Julia
libcurl = library_dependency("libcurl-4")
using WinRPM
provides(WinRPM.RPM, "libcurl", libcurl, os = :Windows)
end

@BinDeps.install
  • In my case, the problem seem to come from "WinRPM" that doesn't provide the expected data : I am expecting a win32 version of libcurl.
  • How can we be sure that Autoconf (in BinDeps.jl) is properly setting up for a win32 or a win64 case ?
    As a matter of fact, I even doubt it does so : "BinDeps.jl" gets instructed to fetch "libcurl-4", with "os = :Windows", whatever Windows is win32 or win64, and "libcurl-4" seems to be the win64 version :
    BinDeps.jl will resolve windows version for autotools with a win64 version of libcurl in any case.
  • At this level of the code, it is under "build.jl" responsibility to provide "BinDeps.jl" the proper version of the source to build with.
    It must be possible to detect 32 | 64 version at "build.jl" level. I am a beginner in Julia language (roughly read into it to understand a bit, but no more yet !) : would you mind posting some sample code about this, or forward me to where I can get the info?

Also, there is a part of the "Pkg" functionality that is very unclear to me :
when running "Pkg.status()", and more with "Pkg.installed()", shouldn't we expect "the-real-build-status-with-individual-dependancies-resolving" of the packages instead of just release numbers ? Or : Should Julia be aware of it's extended aptitudes, or not ...

Best regards, Stan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions