Skip to content

Feature: Build feature to automatically download arrayfire binaries #330

Open

Description

@philpax

Description

Hi there! I'm thinking about using arrayfire-rust (through mushin) and will get around to trying it out sometime, but I noticed the need to manually download and install the AF binaries. This is not that much of an issue (and won't stop me from using it), but as a matter of convenience, is it possible to offer a feature that will automatically download the AF binaries as part of the build script?

There is precedent for this (e.g. here's an old example), but as it'd make the build non-isolated / potentially unreproducible, it should be an optional feature.

The ideal solution is still probably #192, but this should be a reasonable middle ground if users don't mind the downstream application downloading/bundling copies of AF.

Activity

  1. cavemanloverboy commented on Aug 17, 2022

    @cavemanloverboy

    Bump. I thought about adding my own build.rs to my project for the arrayfire dependency, but it should really be at this crate's level

  2. 9prady9 commented on Aug 29, 2022

    @9prady9
    Member

    @philpax @cavemanloverboy

    I totally agree that it would be less work for the user if ArrayFire is made available automatically. Realistically, #192 is however is not going happen anytime soon - especially so until CUDA backend of ArrayFire comes down in it's binary size.

    Downloading it is perhaps the only viable option at the moment, but this has to be done via user consent. I think providing another rust script (OS agnostic) to download and install ArrayFire to the user's home folder is better route instead of complicating the build.rs with logic to attempt download. I am fine if build.rs can take command line arguments which can be equivalent of explicit action by user but I don't think it can.

    If you have any other better ideas, please please do share.

    Thanks for bringing this up!

  3. added this to the milestone on Aug 29, 2022
  4. modified the milestones: , 3.9.0, timeless on Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions