Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Installing Gentoo
  • Search

Could crossdev help put qt on my Atom [solved]

Having problems with the Gentoo Handbook? If you're still working your way through it, or just need some info before you start your install, this is the place. All other questions go elsewhere.
Post Reply
Advanced search
12 posts • Page 1 of 1
Author
Message
Fog_Watch
Apprentice
Apprentice
User avatar
Posts: 271
Joined: Mon Jul 24, 2006 2:58 am
Location: Utility Muffin Research Kitchen

Could crossdev help put qt on my Atom [solved]

  • Quote

Post by Fog_Watch » Thu Apr 02, 2020 2:44 am

Hello

Code: Select all

# 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.
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Thu Apr 02, 2020 4:30 am

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?
Top
Fog_Watch
Apprentice
Apprentice
User avatar
Posts: 271
Joined: Mon Jul 24, 2006 2:58 am
Location: Utility Muffin Research Kitchen

  • Quote

Post by Fog_Watch » Thu Apr 02, 2020 4:55 am

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)
Top
Jaglover
Watchman
Watchman
User avatar
Posts: 8291
Joined: Sun May 29, 2005 1:57 am
Location: Saint Amant, Acadiana

  • Quote

Post by Jaglover » Thu Apr 02, 2020 7:53 pm

https://ark.intel.com/content/www/us/en ... 6-ghz.html
My Gentoo installation notes.
Please learn how to denote units correctly!
Top
1clue
Advocate
Advocate
Posts: 2569
Joined: Sun Feb 05, 2006 3:08 am

  • Quote

Post by 1clue » Thu Apr 02, 2020 8:05 pm

Atom is an x86. Most of the recent ones are x86_64.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Thu Apr 02, 2020 8:41 pm

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.
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Apr 03, 2020 1:01 am

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.
Top
Fog_Watch
Apprentice
Apprentice
User avatar
Posts: 271
Joined: Mon Jul 24, 2006 2:58 am
Location: Utility Muffin Research Kitchen

  • Quote

Post by Fog_Watch » Sat Apr 04, 2020 5:00 am

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.
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat Apr 04, 2020 4:02 pm

Code: Select all

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).
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sat Apr 04, 2020 4:29 pm

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.
Top
axl
Veteran
Veteran
User avatar
Posts: 1147
Joined: Fri Oct 11, 2002 7:42 pm
Location: Romania
Contact:
Contact axl
Website

  • Quote

Post by axl » Sat Apr 04, 2020 4:45 pm

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.
Top
Fog_Watch
Apprentice
Apprentice
User avatar
Posts: 271
Joined: Mon Jul 24, 2006 2:58 am
Location: Utility Muffin Research Kitchen

  • Quote

Post by Fog_Watch » Thu Apr 09, 2020 4:18 am

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.
Top
Post Reply

12 posts • Page 1 of 1

Return to “Installing Gentoo”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy