Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Could crossdev help put qt on my Atom [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
Fog_Watch
Apprentice
Apprentice


Joined: 24 Jul 2006
Posts: 228
Location: Utility Muffin Research Kitchen

PostPosted: Thu Apr 02, 2020 2:44 am    Post subject: Could crossdev help put qt on my Atom [solved] Reply with quote

Hello
Code:
# grep name /proc/cpuinfo
model name   : Intel(R) Atom(TM) CPU N450   @ 1.66GHz
model name   : Intel(R) Atom(TM) CPU N450   @ 1.66GHz
# grep -i memtotal /proc/meminfo
MemTotal:        2032500 kB

I need zoom, but this has qt dependencies and compiling them on my Atom takes, well, I don't know because after three days I gave up. Could crossdev help me compile qt?


Last edited by Fog_Watch on Sat Apr 04, 2020 5:00 am; edited 1 time in total
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 15294

PostPosted: Thu Apr 02, 2020 4:30 am    Post subject: Reply with quote

It might. Do you have a system with an architecture different from your Atom, such as amd64 (assuming that Atom is an x86), arm, or ppc?
Back to top
View user's profile Send private message
Fog_Watch
Apprentice
Apprentice


Joined: 24 Jul 2006
Posts: 228
Location: Utility Muffin Research Kitchen

PostPosted: Thu Apr 02, 2020 4:55 am    Post subject: Reply with quote

Hu wrote:
amd64
?
Yes
Hu wrote:
assuming that Atom is an x86

I assume so too. I don't know how to read the documentation to find out.
(cat /proc/cpuinfo | wgetpaste)
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7653
Location: Saint Amant, Acadiana

PostPosted: Thu Apr 02, 2020 7:53 pm    Post subject: Reply with quote

https://ark.intel.com/content/www/us/en/ark/products/42503/intel-atom-processor-n450-512k-cache-1-66-ghz.html
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
1clue
Advocate
Advocate


Joined: 05 Feb 2006
Posts: 2563

PostPosted: Thu Apr 02, 2020 8:05 pm    Post subject: Reply with quote

Atom is an x86. Most of the recent ones are x86_64.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 45383
Location: 56N 3W

PostPosted: Thu Apr 02, 2020 8:41 pm    Post subject: Reply with quote

Fog_Watch,

If you have a multilib amd64 you don't need crossdev.

Set up a chroot that is a copy of the atom install but add buildpkg to its FEATURES=
Chroot in and build what you need.

On the atom, install the binary packages.

There are a few wrinkles but thats the high level overview.

If you amd64 is /no-multilib/, it can't run 32 bit code, so crossdev is a part of the solution.
Cross distcc is generally less pain than pure cross compiling.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 15294

PostPosted: Fri Apr 03, 2020 1:01 am    Post subject: Reply with quote

Fog_Watch wrote:
Hu wrote:
amd64
?Yes
Hu wrote:
assuming that Atom is an x86
I assume so too. I don't know how to read the documentation to find out.
(cat /proc/cpuinfo | wgetpaste)
According to that output, both of those CPUs are capable of running x86_64 code. Whether you have chosen to exercise that capability (by installing an amd64 system) or not (by installing an x86 system) is not shown. For that, we would need to see uname -m or, better, emerge --info.
Back to top
View user's profile Send private message
Fog_Watch
Apprentice
Apprentice


Joined: 24 Jul 2006
Posts: 228
Location: Utility Muffin Research Kitchen

PostPosted: Sat Apr 04, 2020 5:00 am    Post subject: Reply with quote

Firstly, I have to say this is a really top shelf forum. Just saying.

Forgive me: emerge --info.

I followed the wiki to install zoom and qt dependencies using binary packages. This much was quite successful. The inescapable fact is the incapacity of my atom. Zoom runs, but only just, the quality is quite terrible.

Back to the drawing board. I might have to fork out some coin.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 15294

PostPosted: Sat Apr 04, 2020 4:02 pm    Post subject: Reply with quote

http://dpaste.com/38WDZB5:
Portage 2.3.89 (python 3.6.10-final-0, default/linux/amd64/17.1, gcc-9.2.0, glibc-2.29-r7, 4.19.97-gentoo x86_64)
System uname: Linux-4.19.97-gentoo-x86_64-Intel-R-_Atom-TM-_CPU_N450_@_1.66GHz-with-gentoo-2.6
This Atom is running in x86_64 mode. This means crossdev is (probably) not the right solution. You probably have an amd64 install on the more powerful machine as well, in which case all you need is for the powerful machine to build binary packages (tbz2 via FEATURES=buildpkg) that use CFLAGS/CXXFLAGS that will avoid generating instructions the Atom cannot handle. If you get it wrong, the consequence will be that the program will crash with "Illegal instruction" on the Atom when it reaches the instruction it does not understand. Then you go back to the more powerful machine, fix your flags, and try again. The only risk of long term harm is if the crashed program manages to crash at such a point that it loses important state. (For example, if it deletes your settings file, starts writing a new one, and crashes before it finishes saving the new one.) If that happens, you reconstitute the state or restore it from backup. Good programs will generally write the new file first under a temporary name, then replace the old one, so that a crash does not lose the old state (but could still lose the updated state you were trying to save).
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 45383
Location: 56N 3W

PostPosted: Sat Apr 04, 2020 4:29 pm    Post subject: Reply with quote

Fog_Watch,

There is a small wart of the face of Hus solution.

What Hu suggests will just work if the Atom instruction set is a subset of the more powerful build box.
If the Atom has instructions that the build box cannot execute, you can build binaries on the build box but they may not execute there.

Its not a huge problem. You may need to ensure your Atom toolchain in the chroot does not get built with Atom only instructions, or you will get Illegal Instructions there.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
axl
Veteran
Veteran


Joined: 11 Oct 2002
Posts: 1027
Location: Romania

PostPosted: Sat Apr 04, 2020 4:45 pm    Post subject: Reply with quote

I see 2 possible solutions with this. Depending on cpu instruction set. Read what Neddy said.

One solution would be to just mount the atom's rootfs over nfs on the amd64 machine, and chroot within it and update like it was local. That would prolly yield the best results in my opinion. If you don't have cpu instruction on the atom side that the amd64 can't execute.

Now there are a few addendums here.

1. portage build/tmp dir. should prolly keep it on amd64.
2. repos. should prolly keep on amd64 as well.

Should also prolly check number of threads to build with... and I think that's about it.


The other solution would be through crossdev. With cross-emerge.

You would need a whole bunch of arguments, but it should work like this. First, again, mount atom's rootfs over nfs.

Then assuming you have that mounted over /mnt/atom, you would do something like this:

CHOST="x86_64-pc-linux-gnu" CBUILD="x86_64-pc-linux-gnu" ROOT=/mnt/atom/ SYSROOT=${ROOT} PKG_CONFIG_PATH="${ROOT}/usr/lib/pkgconfig/" cross-emerge whatever

CHOST is the target system.
CBUILD is the host system.
Rest should be self evident.

I use this extensively. There are packages that have issues with this, but most of them work.

Personally I use this scheme to update rootfs for arm, armv6, armv7, aarch64 and powerpc64 all from amd64.
Back to top
View user's profile Send private message
Fog_Watch
Apprentice
Apprentice


Joined: 24 Jul 2006
Posts: 228
Location: Utility Muffin Research Kitchen

PostPosted: Thu Apr 09, 2020 4:18 am    Post subject: Reply with quote

axl wrote:
Read what Neddy said.

Always.
axl wrote:
One solution would be to just mount the atom's rootfs over nfs on the amd64 machine, and chroot within it and update like it was local.

And make sure async is in /etc/exports, otherwise tar -xf is never going to complete.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum