2017 mjpg-streamer packages uploaded

Because cscore has been delayed more than I had anticipated, I’ve uploaded a build of mjpg-streamer. See https://github.com/robotpy/roborio-packages

mjpg-streamer is clunky to manage, and once cscore is available, you’ll find that migrating to it from mjpg-streamer should be fairly straightforward and will offer a number of advantages (including integration with the default dashboards). But, this will get you going for now.

When I try to download it with the command:

C:\Users\Team1288\Desktop\robotpy-2017.0.6>py installer.py download-opkg mjpg-streamer

I get the error:

Traceback (most recent call last):
  File "installer.py", line 1009, in <module>
    retval = main()
  File "installer.py", line 990, in main
    retval = options.cmdobj(options)
  File "installer.py", line 792, in download_opkg
    package_list = opkg.resolve_pkg_deps(options.packages)
  File "installer.py", line 185, in resolve_pkg_deps
    for results in self._toposort(pkgs):
  File "installer.py", line 217, in _toposort
    raise ValueError('Cyclic dependencies exist among these items: {}'.format(', '.join(repr(x) for x in data.items())))
ValueError: Cyclic dependencies exist among these items: ('mjpg-streamer', {'libv4l'}), ('libv4l', {'media-ctl'}), ('media-ctl', {'libv4l'})

Heh, well that’s annoying. The installer does a topological sort to figure out what items it should download and what order it should install them in… having a cycle makes that a bit annoying. I’ll see if I can figure out a sane way to deal with this tonight.

Try this installer: https://github.com/robotpy/robotpy-wpilib/blob/master/installer/installer.py

C:\Users\Team1288\Desktop\robotpy-2017.0.6>py installer.py download-opkg mjpg-streamer

works now.

C:\Users\Team1288\Desktop\robotpy-2017.0.6>py installer.py install-opkg mjpg-streamer

does not. media-ctl depends on libv4l and libv4l depends on media-ctl.

C:\Users\Team1288\Desktop\robotpy-2017.0.6>py installer.py install-opkg mjpg-streamer
Copying over the opkg cache...
Looking up hostname roborio-1288-frc.local ...
Connecting to robot via SSH at roborio-1288-frc.local
Using username "admin".
NI Linux Real-Time (run mode)

Log in with your NI-Auth credentials.

Remote working directory is /home/admin
local:C:\Users\Team1288\Desktop\robotpy-2017.0.6\opkg_cache\install_opkg.sh => remote:/home/admin/opkg_cache/install_opkg.sh
libjpeg8 - 8d-r1.20
libjpeg8 already installed, continuing...
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for media-ctl:
 *      libv4l (>= 1.6.2) *
 * opkg_install_cmd: Cannot install package media-ctl.
Installing media-ctl (1.6.2-r0.3) on root.
Command ''C:\\Users\\Team1288\\Desktop\\robotpy-2017.0.6\\win32\\plink.exe', '-pw', '', '[email protected]', 'bash opkg_cache/install_opkg.sh']' returned non-zero exit status 255.

Odd, it worked for me, but the problem is that the installer script installs each package separately… so it can’t find the one that has the dependency cycle.

I would recommend just ssh’ing into the robot and installing the packages present in /home/admin/opkg_cache manually. Just run ‘opkg install FOO.ipk’… you will probably have to specify libv4l and media-ctl at the same time.

We would love to get this installed, but the active install option seems to require an internet connection - how do we get our roboRIO connected to the internet? Do we just have to plug it into a router or something?

robotpy-installer 2017.1.3 can correctly handle installing packages with cycles now (I even tested it with the roborio disconnected from the internet this time!).

bvisness: The robotpy installer can do offline installations, see the documentation for details.


Try it out and let me know. If the documentation sucks, let me know and I’ll update it.

Thanks, we’ll give that a try. Last time we tried the offline installation, the download step succeeded but the install step failed. (Same error as razar51.)

Thanks for your prompt fixes on this!