• Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Packages
  • Assigned To
    Andreas Baumann
  • Operating System i686
  • Severity High
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Arch Linux 32
Opened by Piotr Cieśliński - 19.03.2023
Last edited by Andreas Baumann - 07.04.2023

FS#329 - [go] Cannot install yay from AUR

Installing yay from AUR

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -sri

gives following error

go: updates to go.sum needed, disabled by -mod=readonly

Reason - outdated version of go in i686 architecture

Temporary solution - use go for pentium4 (change temporarily architecture to pentium4 in /etc/pacman.conf)

Closed by  Andreas Baumann
07.04.2023 06:00
Reason for closing:  Fixed
Additional comments about closing:  

bootstrapped for i686 and pentium4, i486 not available anymore..

Average Linux Fan commented on 19.03.2023 04:18

Your temporary solution is not at all valid because pentium4 depends on sse2 and go will install but it wont start… its something linked with sse

Admin
Andreas Baumann commented on 24.03.2023 15:24

Yep, correct. So. yay is not for i686 then..

Average Linux Fan commented on 02.04.2023 13:03

@abaumann

https://go-review.googlesource.com/c/go/+/258957

these commits might be helpful..

Average Linux Fan commented on 02.04.2023 13:03

after doing a couple of patching an i686 go can be compiled…

Admin
Andreas Baumann commented on 03.04.2023 05:09

Thanks for the link. :-) The patch looks like enabling i87 over SSE math again, which is handy,
will test.

But if I remember correctly there was also a SSE2-thingy lurking somewhere.

Average Linux Fan commented on 03.04.2023 10:19

https://go-review.googlesource.com/c/go/+/257963

after patching them linux-386-387 target can be comeback…

Average Linux Fan commented on 04.04.2023 13:39

@abaumann

are there any signs of a working go on i686?

Admin
Andreas Baumann commented on 04.04.2023 14:25
 Go 1.15 is the last release to support x87-only floating-point hardware 
 (GO386=387). Future releases will require at least SSE2 support on 386, raising 
 Go's minimum GOARCH=386 requirement to the Intel Pentium 4 (released in 2000) or 
 AMD Opteron/Athlon 64 (released in 2003).

So, just changing buildall.bash is not enough, one has to backport all of the x87
support back to 1.20.2.

I would rather opt to use a different go compiler in this case (like the GNU one).

Admin
Andreas Baumann commented on 04.04.2023 14:29

ok gcc-go cannot compile yay. I would suggest to switch to some other AUR
helper.

Average Linux Fan commented on 04.04.2023 15:36

wait isnt it possible that after patching these.. https://go-review.googlesource.com/c/go/+/257963

lemme check others…

Admin
Andreas Baumann commented on 04.04.2023 15:53

i686 is too old, so I would have to bootstrap go from 1.14 to 1.17 (in Rust style, no thanks):

found packages main (build.go) and building_Go_requires_Go_1_17_13_or_later (notgo117.go) in /build/go/src/go/src/cmd/dist
cmd/dist/test.go:11:2: cannot find package "io/fs" in any of:
        /build/go/src/go/src/cmd/vendor/io/fs (vendor tree)
        /build/go/src/go/src/vendor/io/fs
        /usr/lib/go/src/io/fs (from $GOROOT)
        /build/go/src/io/fs (from $GOPATH)

Tests are failing, which is usually a bad indicator for a working compiler..

Admin
Andreas Baumann commented on 04.04.2023 16:30

yep, i486 works. now I have to see how I can bootstrap go on i686.
On pentium4 everything is fine.

Admin
Andreas Baumann commented on 04.04.2023 16:31

The buildmaster is in maintainance currently, so there will be a while till the
builds are picked up..

Admin
Andreas Baumann commented on 04.04.2023 16:38

1.17 doesn't understand softfloat, great..

Admin
Andreas Baumann commented on 04.04.2023 16:42

..ok, back to go15, then try to bootstrap from there.

Average Linux Fan commented on 05.04.2023 15:50

@abaumann

Are there any signs of luck? and where is 486 go?

Admin
Andreas Baumann commented on 06.04.2023 12:51

486 go was just working on a i486 installed Alix Geode (which has MMX support).

src/go/src/runtime/asm_386.s has a nice CPU check which emits:

"This program can only be run on processors with MMX support."

on a real 486 (or on a 486 VM). So i686 and pentium4 might work after
bootstrapping, but I have my doubts about 486 can be supported at all.

Admin
Andreas Baumann commented on 06.04.2023 13:22

https://github.com/ish-app/ish/issues/57 claims there is only a movq which
is used for atomic operations.. this might be implemented for i486.. but
first I would like to have it working on i686 and pentium4..

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing