Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 30 13:52
    auscompgeek commented #35
  • Nov 25 09:00
    PBCOnGit commented #54
  • Nov 24 16:14
    virtuald commented #54
  • Nov 24 10:02
    PBCOnGit edited #54
  • Nov 24 10:01
    PBCOnGit edited #54
  • Nov 24 10:01
    PBCOnGit edited #54
  • Nov 24 10:00
    PBCOnGit edited #54
  • Nov 24 09:59
    PBCOnGit edited #54
  • Nov 24 09:58
    PBCOnGit edited #54
  • Nov 24 09:57
    PBCOnGit edited #54
  • Nov 24 09:52
    PBCOnGit edited #54
  • Nov 24 09:51
    PBCOnGit opened #54
  • Nov 23 12:01
    PBCOnGit commented #52
  • Nov 22 07:03
    virtuald commented #52
  • Nov 20 16:33
    virtuald commented #52
  • Nov 20 16:31
    virtuald opened #53
  • Nov 20 16:31

    virtuald on fn-rework

    Temp commit (compare)

  • Nov 20 16:29

    virtuald on fn-rework

    Reorder some conditions for per… Replace consume_parens with gen… Remove unnecessary operator() c… and 1 more (compare)

  • Nov 20 16:25
    virtuald commented #52
  • Nov 20 09:10
    PBCOnGit commented #52
Dustin Spicuzza
@virtuald
@benjiboy50fonz does sympy require compilation? probably
the roborio only has 256MB of ram, so it's generally not a good fit for compilation
Cannot allocate memory
we have a docker image that you can use to cross-compile wheels
.. it's this: https://github.com/robotpy/robotpy-cross-docker , but I think there's a version on docker hub that you can use
Dustin Spicuzza
@virtuald
Ben Bistline
@benjiboy50fonz
@virtuald Thanks! Also, is there anything scheduled for commands-v2? I see no commits on Github.
Dustin Spicuzza
@virtuald
commands-v2 is a really challenging technical problem, and I've only recently started re-contemplating it
unfortunately, my motivation for getting things done during the pandemic has been highly variable
Ben Bistline
@benjiboy50fonz
@virtuald, all good. Just checking in.
Dustin Spicuzza
@virtuald
FWIW, I have an idea of how it could work, just need to dig in and actually try it
Ben Bistline
@benjiboy50fonz
Also, out of curiosity, could you clarify the instructions in your docker file. Do I not need to rebuild this with a path or anything? And what exactly do you mean by "use pip as normal".
Dustin Spicuzza
@virtuald
the cross-env is used to build a wheel
then you copy the wheel over to the rio and install it
let me look, I know I didn't document it well, but I've forgotten how to use it myself
ah, it's missing the docker run
$ docker run --rm -it robotpy/roborio-cross-ubuntu:2020-18.04
root@a6f45b795c7e:/# source /build/venv/bin/activate
(cross) root@a6f45b795c7e:/#
that puts you in a virtualenv
and anything you build there should be cross-compiled for arm
so
pip wheel packagename
should create a wheel for arm
(cross) root@a6f45b795c7e:/# pip wheel pyyaml
Collecting pyyaml
  Downloading https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz (269kB)
     |████████████████████████████████| 276kB 4.9MB/s 
Building wheels for collected packages: pyyaml
  Building wheel for pyyaml (setup.py) ... done
  Created wheel for pyyaml: filename=PyYAML-5.3.1-cp38-cp38-linux_armv7l.whl size=44618 sha256=5f1a345b17d8a1741eaa5f30134a26673bedb8d3ac660bc076431e964cb91cb7
  Stored in directory: /
Successfully built pyyaml
WARNING: You are using pip version 19.2.3, however version 20.2.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(cross) root@a6f45b795c7e:/#
see, it built a arm71 wheel
Dustin Spicuzza
@virtuald
oh, you'll want to mount a volume to get something out of the container
Ben Bistline
@benjiboy50fonz
Wow, that's a lot of information in a short period of time.
Dustin Spicuzza
@virtuald
I even just added all of that to the README so I don't have to type it in the future :p
Ben Bistline
@benjiboy50fonz
Ah I see. This makes much more sense.
Dustin Spicuzza
@virtuald
saves sooooo much time
the roborio is really slow
Ben Bistline
@benjiboy50fonz
Tell me about it
Dustin Spicuzza
@virtuald
roborio also has memory/disk limitations
when I first created cscore bindings, took 45 minutes to compile in a QEMU roborio VM
someone bought me an odroid ARM device, which allowed me to run roborio ARM images natively -- I think cscore took maybe 5-10 minutes to compile?
but now with this docker image I can run it locally, and I have a lot more RAM/processor. I think it's only a minute or two.
Ben Bistline
@benjiboy50fonz
Yeah docker is pretty sweet. And I couldn't even imagine binding cscore on a virtual machine lol
Dustin Spicuzza
@virtuald
it does work
just really sllllooow
Ben Bistline
@benjiboy50fonz
Right
Ben Bistline
@benjiboy50fonz

So, copied the whl's to the Rio, however while trying to install the wheels, received an error reading

lvuser@roboRIO-2539-FRC:~/py$ pip3 install sympy-1.6.2-py3-none-any.whl
Processing ./sympy-1.6.2-py3-none-any.whl
ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

Where am I screwing up here?
I got the wheel over to the Rio . . .
Can I not install it with pip like this?

Ben Bistline
@benjiboy50fonz
Nevermind. Figured it out. Of couse I have to unpack the wheel instead with the wheel package.
Dustin Spicuzza
@virtuald
@benjiboy50fonz pip3 install should have worked :-/
the 'no space on device' error is more likely the problem
Ben Bistline
@benjiboy50fonz
@virtuald well that’s fantastic. I didn’t try to utilize the package in code yet so I’ll check that out later. Do you have any ideas why that provided that message then?
Dustin Spicuzza
@virtuald
I'm guessing your roborio is out of space :)
particularly if you had installed compilers and stuff previously
might want to uninstall those
Ben Bistline
@benjiboy50fonz
Yeah, that’s the unfortunate answer I was hoping not to hear. I’ll see what I can do
Ben Bistline
@benjiboy50fonz
@virtuald Ok, so I just reflashed my Rio, essentially erasing all unwanted data and leaving necessities, and i tried to install the wheel; it brought up the same space error as before. Perhaps this lib is simply too large?
Dustin Spicuzza
@virtuald
maybe