go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
44.43k stars 5.43k forks source link

Temporarily remove arm7 build from downloads #6948

Open mrsdizzie opened 5 years ago

mrsdizzie commented 5 years ago

Since the arm7 build stopped working back at #6339, should we remove it from the build/downloads page to avoid people downloading it and then reporting that it doesn't work?

arm6 builds will work fine on arm7+ since it arm backwards compatible (golang itself only offers an arm6 build). I tried to debug why the arm7 build was segfaulting, but it was happening at a pretty low level and I wasn't able to get anywhere (I don't think it would be code in Gitea that needs to change even if so). I did see that glibc has deprecated statically linked applications that use dlopen, so something will probably have to change in the future anyway:

https://sourceware.org/ml/libc-announce/2018/msg00000.html

techknowlogick commented 5 years ago

I think it could be code in Gitea that is causing this, as I have another project that uses the same xgo image and build scripts as Gitea, but still manages to work with the arm7 build (it even uses go-sqlite3).

Perhaps this might be helpful in tracing where in xgo could be the issue: https://github.com/mattn/go-sqlite3/issues/504

Edit: there is also: http://dayo.com.ng/cross-compiling-go-sqlite3-for-arm7-from-debian-9/ and http://jensd.be/800/linux/cross-compiling-for-arm-with-ubuntu-16-04-lts

mrsdizzie commented 5 years ago

The gitea arm7 binary as-is fails somehow with the combination of bindata and sqlite3 on arm7-- it works fine if you omit either one but segfaults when using both together (which is required of course). So it isn't just that sqlite3 has an issue on arm7, but the combination of those two things triggers some sort of code path that leads to a segfault very early on in loading the various libraries.

Gitea works fine on arm7 if you cross compile manually as well...and I suspect the issue is related to a specific way of --static compiling it. Also given that the code works fine on arm6 but not arm7 makes me feel like it is related to the code that is generated by the compiler itself (I tried different versions of GCC, and it still works/fails under the same options).

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

ricardoboss commented 2 years ago

So, what does the workaround look like? Is there an image tag supporting arm/v6?

zeripath commented 2 years ago

yes just use the arm-6 build

eblanshey commented 2 years ago

@zeripath is there a solution for installing via Docker by any chance? I don't see any tags with arm v6 on Docker Hub.

zeripath commented 2 years ago

I'm afraid we don't provide arm6 dockers. We would need to create a drone-docker buildchain for this.

We'd be open for PRs to help provide this.