Archiconda / build-tools

necessary build tools for the archiconda distribution
BSD 2-Clause "Simplified" License
284 stars 50 forks source link

Error building jupyterhub Docker image #22

Closed jmreicha closed 5 years ago

jmreicha commented 5 years ago

I'm using the Archiconda3-0.2.3-Linux-aarch64.sh in the Dockerfile to install anaconda in the Jupyterhub build but getting some errors.

PackagesNotFoundError: The following packages are not available from current channels:

- configurable-http-proxy
- pycurl
- nodejs

Current channels:

- https://conda.anaconda.org/conda-forge/linux-aarch64
- https://conda.anaconda.org/conda-forge/noarch
- https://conda.anaconda.org/c4aarch64/linux-aarch64
- https://conda.anaconda.org/c4aarch64/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

The command '/bin/sh -c wget -q https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh -O /tmp/miniconda.sh && bash /tmp/miniconda.sh -f -b -p /opt/conda && /opt/conda/bin/conda install --yes -c conda-forge python=3.6 sqlalchemy tornado jinja2 traitlets requests pip pycurl nodejs configurable-http-proxy && /opt/conda/bin/pip install --upgrade pip && rm /tmp/miniconda.sh' returned a non-zero code: 1 

Any idea if there is a way to get around this?

hmaarrfk commented 5 years ago

Build those too? Otherwise, try to remove them as dependencies

jmreicha commented 5 years ago

I don't have much experience with Conda, where would I add those packages to build? Would it be possible for me to add them upstream somewhere?

hmaarrfk commented 5 years ago

ah i thought you were building your own packages for Archiconda.

Much of this effort has gone upstream to conda-forge, but we are somewhat stuck understanding if numpy is working correctly, or failing on specific architectures. https://github.com/conda-forge/numpy-feedstock/pull/138

Numpy 1.14 and 1.15 are built, but we are waiting on numpy 1.16.

What packages do you need to be running?

jmreicha commented 5 years ago

Gotcha, I think I just need to build configurable-http-proxy, pycurl and nodejs to get jupyterhub up and running but who knows what other problems will surface after that.

Here's my forked Dockerfile for reference.

I'll keep an eye on that issue you linked as well, thanks.

jmreicha commented 5 years ago

Is this the place to add the package builds? https://github.com/jjhelmus/conda4aarch64

hmaarrfk commented 5 years ago

jjhelmus's project and mine were a little different. We were both trying to get a baseline package set up and running. Can you install the things you need with Pip?

If you are so inclined, I can give you the right to this organization.

But often, I just typed conda build -m .ci_support/linux_python_36.yaml . and things were magically built for me.

jmreicha commented 5 years ago

I should be able to get pycurl with pip but I think the other packages will need to be built since they are javascripty.

I will have to play around with some of these things a little more I think, thanks for the pointer.

jmreicha commented 5 years ago

It looks like this is going to be more complicated than I had hoped.

I have a little PoC here that is failing https://app.shippable.com/github/jmreicha/configurable-http-proxy-feedstock/runs/5/1/console.

hmaarrfk commented 5 years ago

Did you build node?

hmaarrfk commented 5 years ago

Or do you have a circular dependency?

hmaarrfk commented 5 years ago

You need to build node, change the secret to your own secret, and add your channel to conda

jmreicha commented 5 years ago

You beat me to it, I just got node to build https://app.shippable.com/github/jmreicha/nodejs-feedstock/runs/4/1/console.

hmaarrfk commented 5 years ago

Yeah. You need to create a binstar token.

hmaarrfk commented 5 years ago

Binstar is the old name for anaconda. You need to encrypt it with Shippables online gui.

You can always compile locally too if you have the hardware

jmreicha commented 5 years ago

I have been having problems getting node6 to build, so I think I am probably just going to skip it (for now at least). I have node8/10 building now, which I think should be find anyway.

Would it be easiest to fork the nodejs-feedstock repo into the Archiconda org or just maintain it separately? Not sure what the easiest/best thing to do here for adding it into upstream package repos?

hmaarrfk commented 5 years ago

why do you need old nodejs? just build the latest ones. building old stuff just doesn't work on arm....

i think it is easiest to uplaod to your own channel. and iterate quickly while conda-forge moves forward.

jmreicha commented 5 years ago

Sounds good, thanks for helping get me started!

hmaarrfk commented 5 years ago

I gave you access to Archiconda, feel free to experiment here if ti helps you.

jmreicha commented 5 years ago

Sounds good, thanks.