Github messages for voidlinux
 help / color / mirror / Atom feed
* [ISSUE] Various i686 packages do not run on all i686 processors
@ 2020-04-30  9:26 dbischof90
  2020-04-30  9:58 ` pullmoll
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: dbischof90 @ 2020-04-30  9:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1923 bytes --]

New issue by dbischof90 on void-packages repository

https://github.com/void-linux/void-packages/issues/21486

Description:
### System
ThinkPad T23, 1GB RAM, Pentium III Tualatine-256 1133MHz (Includes MMX, SSE)

* xuname:  
Void 5.4.34_1 i686 GenuineIntel uptodate rF

* package:  
Various packages, explicit examples go and rust

### Expected behavior
I would expect that these packages are runnable - at least rust can be compiled for the i586 architecture, so I would expect that the P3 CPU should be able to run it

### Actual behavior
After installation and running the programs, I get "Ungültiger Maschinenbefehl", which roughly translate to "Invalid machine instruction" and nothing else happens.

### Steps to reproduce the behavior
`sudo xbps-install -Syu go; go`


I had issues with some packages like Firefox, which now explicitly require SSE2 from the processor, which the P3 doesn't have. However, I am not aware that either rust or go (and various other packages) have that requirement, however it seems to be compiled with an instruction set that is incompatible with the P3. That makes installation via xbps somewhat of trial-and-error process, as programs like python and neovim have no problems and others such as rust and go seem to be problematic without the possibility to know beforehand which one should work.
I posted on reddit as well: https://www.reddit.com/r/voidlinux/comments/gabbgr/i686_packages_should_be_marked_with_their_sse/

I am at this point not fully sure that it is due to SSE/SSE2 but it's my primary suspicion. Can xbps and/or the templates be expanded to differentiate between them and provide the 'correct' binary? After all, the P3 -is- a i686 and I don't think there is a reason go wouldn't run on it. There are programs like Firefox which have explicit bounds on SSE2 for good reasons but I feel that differentiation is a bit unclear for xbps packages.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
@ 2020-04-30  9:58 ` pullmoll
  2020-04-30  9:59 ` pullmoll
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30  9:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 234 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621735103

Comment:
See [minimum requirements](https://docs.voidlinux.org/installation/base-requirements.html)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
  2020-04-30  9:58 ` pullmoll
@ 2020-04-30  9:59 ` pullmoll
  2020-04-30 10:06 ` pullmoll
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30  9:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 268 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621735103

Comment:
See [minimum requirements](https://docs.voidlinux.org/installation/base-requirements.html) for Void Linux CPU architectures.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
  2020-04-30  9:58 ` pullmoll
  2020-04-30  9:59 ` pullmoll
@ 2020-04-30 10:06 ` pullmoll
  2020-04-30 11:31 ` dbischof90
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30 10:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621735103

Comment:
See [minimum requirements](https://docs.voidlinux.org/installation/base-requirements.html) for Void Linux CPU architectures.

If you wanted to have Void for `i[345]86` you'd have to fork `void-packages`, create new entries for e.g. `common/cross-profiles/i586.sh`, create a new `cross-i586-linux-gnu` cross compiler package and then try to cross build a `base-chroot` for `i586`with that. If you get this working, you could then try to (cross) build packages you need.

Note, however, that some packages in `void-packages` are not prepared to build w/o SSE2 support. You'd have to modify them to detect the `i586` vs. `i686` case.

I'm sure I'm missing quite a few places where additional changes would be required. All in all I wouldn't try to do this but rather get at least a P4.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (2 preceding siblings ...)
  2020-04-30 10:06 ` pullmoll
@ 2020-04-30 11:31 ` dbischof90
  2020-04-30 11:32 ` dbischof90
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dbischof90 @ 2020-04-30 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]

New comment by dbischof90 on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621776549

Comment:
That's true, I should have checked that better. I understand the SSE2 restriction, it's the minimal viable common denominator for most of the current packages on x86 32 bit. 

I'm just a bit confused as technically almost none of the i686 CPUs are supported if I get that right? (taking a list for example from https://www.linuxquestions.org/questions/linux-hardware-18/what%27s-the-difference-between-i386-i586-and-i686-198431/ ) After all I'm not trying to run on a Pentium I but on one of the later i686. Maybe that can be made more clearer on the webpage. 

Is it not viable to include bespoken compiler flag check and provide the SSE2 version in case a compilation with SSE1 is not possible? As mentioned, I see the SSE2 restriction actually only applying for a relative small number of packages (such as FF) and Void could be really a great candidate for old hardware (before one has to fall back to Gentoo for those sweet older laptops). Many of the packages seem to be compiled without SSE2, I can use quite a lot of the packages that xbps provides. 

I however also recognize that the number of users that this applies to is most likely limited.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (3 preceding siblings ...)
  2020-04-30 11:31 ` dbischof90
@ 2020-04-30 11:32 ` dbischof90
  2020-04-30 12:23 ` pullmoll
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dbischof90 @ 2020-04-30 11:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1314 bytes --]

New comment by dbischof90 on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621776549

Comment:
That's true, I should have checked that better. I understand the SSE2 restriction, it's the minimal viable common denominator for some of the current popular packages on x86 32 bit. 

I'm just a bit confused as technically almost none of the i686 CPUs are supported if I get that right? (taking a list for example from https://www.linuxquestions.org/questions/linux-hardware-18/what%27s-the-difference-between-i386-i586-and-i686-198431/ ) After all I'm not trying to run on a Pentium I but on one of the later i686. Maybe that can be made more clearer on the webpage. 

Is it not viable to include bespoken compiler flag check and provide the SSE2 version in case a compilation with SSE1 is not possible? As mentioned, I see the SSE2 restriction actually only applying for a relative small number of packages (such as FF) and Void could be really a great candidate for old hardware (before one has to fall back to Gentoo for those sweet older laptops). Many of the packages seem to be compiled without SSE2, I can use quite a lot of the packages that xbps provides. 

I however also recognize that the number of users that this applies to is most likely limited.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (4 preceding siblings ...)
  2020-04-30 11:32 ` dbischof90
@ 2020-04-30 12:23 ` pullmoll
  2020-04-30 12:25 ` pullmoll
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30 12:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621799873

Comment:
@dbischof90 Lack of (human) resources is the main reason to not support anything i686 < P4.
See we are a team of about 20 - 30 active contributors and try to manage a from-scratch Linux distribution with more than 10.000 packages in the repository.

The i686 arch support was already removed **completely** from all major Linux distributions because it is *very* legacy and causes trouble to maintain for everyone.

We still have i686 but that's just because some people (including me :) kinda love it to run into problems just to have something to fight with.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (5 preceding siblings ...)
  2020-04-30 12:23 ` pullmoll
@ 2020-04-30 12:25 ` pullmoll
  2020-04-30 12:32 ` dbischof90
  2020-04-30 12:55 ` [ISSUE] [CLOSED] " pullmoll
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30 12:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621799873

Comment:
@dbischof90 Lack of (human) resources is the main reason to not support anything i686 < P4.
See we are a team of about 20 - 30 active contributors and try to manage a from-scratch Linux distribution with more than 10.000 packages in the repository.

The i686 arch support was already removed **completely** from all major Linux distributions because it is *very* legacy and causes trouble to maintain for everyone.

We still have i686 but that's just because some people (including me :) kinda love it to run into problems just to have something to fight against.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (6 preceding siblings ...)
  2020-04-30 12:25 ` pullmoll
@ 2020-04-30 12:32 ` dbischof90
  2020-04-30 12:55 ` [ISSUE] [CLOSED] " pullmoll
  8 siblings, 0 replies; 10+ messages in thread
From: dbischof90 @ 2020-04-30 12:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 511 bytes --]

New comment by dbischof90 on void-packages repository

https://github.com/void-linux/void-packages/issues/21486#issuecomment-621804135

Comment:
That is sad but completely understandable. Actually, i686 support was what drew me to Void, together with having something smaller than systemd for my spare laptop. The poor old thing is somehow still alive so you gotta do something with it :)

But I see that the effort is just not justifiable for the few users that would actually use it. Thanks for your support!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ISSUE] [CLOSED] Various i686 packages do not run on all i686 processors
  2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
                   ` (7 preceding siblings ...)
  2020-04-30 12:32 ` dbischof90
@ 2020-04-30 12:55 ` pullmoll
  8 siblings, 0 replies; 10+ messages in thread
From: pullmoll @ 2020-04-30 12:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1926 bytes --]

Closed issue by dbischof90 on void-packages repository

https://github.com/void-linux/void-packages/issues/21486

Description:
### System
ThinkPad T23, 1GB RAM, Pentium III Tualatine-256 1133MHz (Includes MMX, SSE)

* xuname:  
Void 5.4.34_1 i686 GenuineIntel uptodate rF

* package:  
Various packages, explicit examples go and rust

### Expected behavior
I would expect that these packages are runnable - at least rust can be compiled for the i586 architecture, so I would expect that the P3 CPU should be able to run it

### Actual behavior
After installation and running the programs, I get "Ungültiger Maschinenbefehl", which roughly translate to "Invalid machine instruction" and nothing else happens.

### Steps to reproduce the behavior
`sudo xbps-install -Syu go; go`


I had issues with some packages like Firefox, which now explicitly require SSE2 from the processor, which the P3 doesn't have. However, I am not aware that either rust or go (and various other packages) have that requirement, however it seems to be compiled with an instruction set that is incompatible with the P3. That makes installation via xbps somewhat of trial-and-error process, as programs like python and neovim have no problems and others such as rust and go seem to be problematic without the possibility to know beforehand which one should work.
I posted on reddit as well: https://www.reddit.com/r/voidlinux/comments/gabbgr/i686_packages_should_be_marked_with_their_sse/

I am at this point not fully sure that it is due to SSE/SSE2 but it's my primary suspicion. Can xbps and/or the templates be expanded to differentiate between them and provide the 'correct' binary? After all, the P3 -is- a i686 and I don't think there is a reason go wouldn't run on it. There are programs like Firefox which have explicit bounds on SSE2 for good reasons but I feel that differentiation is a bit unclear for xbps packages.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-04-30 12:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-30  9:26 [ISSUE] Various i686 packages do not run on all i686 processors dbischof90
2020-04-30  9:58 ` pullmoll
2020-04-30  9:59 ` pullmoll
2020-04-30 10:06 ` pullmoll
2020-04-30 11:31 ` dbischof90
2020-04-30 11:32 ` dbischof90
2020-04-30 12:23 ` pullmoll
2020-04-30 12:25 ` pullmoll
2020-04-30 12:32 ` dbischof90
2020-04-30 12:55 ` [ISSUE] [CLOSED] " pullmoll

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).