#1667 Prosody package broken on Raspberry Pi Zero

Reporter h.d.
Owner Zash
Created
Updated
Stars ★ (1)
Tags
  • Priority-Medium
  • Status-Fixed
  • Type-Defect
  • Component-Builder
  1. h.d. on

    What steps will reproduce the problem? 1. Install Prosody on a Raspberry Pi Zero 2. Try to run it What is the expected output? - Prosody should simply run, like it did on 0.11.2-1+deb10u2 armhf (deb release just before the last update) What do you see instead? - Prosody simply dies with the following message: Illegal instruction This is the kind of message you see when a binary has been compiled with features not compatible with the Pi Zero (like neon for example). It's probably linked to a lua dependency hosted on your repository. What version of the product are you using? On what operating system? - Raspbian Buster, all updated - Prosody 0.11.9-1~buster1 armhf Thanks!

  2. Zash on

    Thanks for the report. We have recently switched package building infrastructure, so it's possible that it has some issues that need to be worked out. I tested installing only prosody from our repo (manually downloading it) and that worked fine. However after upgrading other dependencies I could reproduce the 'Illegal instruction' error. To narrow it down, could you plase run each of the following commands and report whether they start a Lua prompt or give an error: lua5.2 -l lfs lua5.2 -l socket lua5.2 -l ssl lua5.2 -l lxp

    Changes
    • tags Status-NeedInfo Component-Builder
  3. h.d. on

    Thanks for the quick response. The following two commands work and open a lua prompt: lua5.2 -l lfs lua5.2 -l lxp The following two give me "Illegal instruction" errors with no further details: lua5.2 -l socket lua5.2 -l ssl Do you think the issue is in the lua-sec and lua-socket packages? (don't know lua much but guessing from the broken commands)

  4. Zash on

    Looks like it is lua-socket. We will have to investigate whether there's something wrong with the new build infrastructure or something specific to lua-socket. Packages such as the last release were built before we switched over, so would have been built on the previous AWS builder. In the mean time you can downgrade using a command like this. apt install lua-socket=3.0~rc1+git+ac3201d-4 The exact version can be found with `apt-cache policy lua-socket`, pick the one that's not from the Prosody repo.

  5. h.d. on

    Downgrading lua-socket to the right version and leaving everything else up to date with the prosody repo worked. Hopefully this will get fixed soon upstream. Thanks for the advice and for maintaining the project, that's really good work!

  6. Zash on

    A rebuild of the lua-socket package seems to work on a Raspberry Pi 1B board without issue. Please confirm. Plausible explanation is that the faulty package was built for what Debian calls armhf, rather than Raspian / Raspberry Pi OS, which is a subtly different architecture target. FWIW the only real difference between our lua-socket package (and a few other lua libraries we have published) is that it supports the new Lua 5.4, so that Prosody trunk nightly builds can be tested with that.

    Changes
    • tags Status-Fixed
    • owner Zash
  7. h.d. on

    Confirmed, all works here with the latest updates. Thanks a lot Zash!

  8. h.d. on

    Hello, Same issue is happening here with the new update to Debian Bullseye. Running the same lua5.2 tests given before: - ssl, socket, lfs, all work perfectly. - 'lua 5.2 -l lxp' gives me the same 'Illegal Instruction' issue faced before. Could you please help with the situation? Thanks.

New comment

Not published. Used for spam prevention and optional update notifications.