[Gelöst] Toolchain für 64-Bit Linux

Status
Für weitere Antworten geschlossen.

radislav

Aktives Mitglied
Mitglied seit
15 Mrz 2008
Beiträge
950
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,

kann man freetz auch auf 64-Bit Linux bauen?

Die Toolchain ist anscheinen nur für 32-Bit kompiliert:
Code:
$ file /var/freetz/trunk/toolchain/build/mipsel_gcc-4.6.3/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc
/var/freetz/trunk/toolchain/build/mipsel_gcc-4.6.3/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV
), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped

Gruß
R@d
 
Zuletzt bearbeitet:
Derzeit nicht unterstützt, warum brauchst Du 64-bit? (Und bitte nicht Speed sagen! ;-) )
 
Wenn die Autobahn 64 anstatt 32 Spuren hat können mehr Autos gleichzeitig fahren :)
oder
8 Byte sind ist breiter als 4 Byte bei gleicher Geschwindigkeit
oder
Wenn ich doppelt soviel in der selben Zeit schaffe, bin ich auch doppelt so schnell, ätsch!!!!
 
Zuletzt bearbeitet:
Only to clarify: You are able to build a 32-bit MIPS(EL) Freetz on a 64-bit Linux host.

For several reasons (there exists a ticket of mine in the Freetz Bug-Tracking-System) a 64-Bit toolchain is not supported.
There is still the broken ulibc/utils build (reported upstream but no warning/link in the Freetz sources when I checked the last time).
The fakeroot 32-bit hackish was somehow accepted and integrated.
Didn't check, but I had also some patches to reflect the situation in some Kconfig help text (dunno if this was done or not).

So, to be and stay happy build your own (target) toolchain with FREETZ_TOOLCHAIN_32BIT=y.
( For modern versions of Ubuntu and Debian (biarch or multiarch environment) you need AFAICS libc6-dev-i386 and biarch/multiarch version of binutils packages to be installed. )

But for all details search in Google for my ticket (did not ever need the search function from this forum) - Google is faster!
 
ich bräuchte 64-bit unterstützung nicht weil es schneller laufen würde :D, sondern weil mein Betriebssystem auf einem neuen Rechner Debian Squeeze 64-bit ist. Eine virtuelle Maschiene mit 32-Bit wollte ich mir halt sparen ;)

Den Vorschlag von dileks war sehr hilfreich: nach dem Installieren von libc6-dev-i386 lässt sich alles wie gewohnt bauen. Vielen Dank!
 
Zuletzt bearbeitet:
Das hätte man übrigens auch direkt im Freetz-Wiki (hier für Ubuntu) finden können ;-):

Code:
# Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren:
sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib
 
Das hätte man übrigens auch direkt im Freetz-Wiki (hier für Ubuntu) finden können ;-):

Code:
# Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren:
sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib

The Freetz wiki-pages (incl. FAQ) are mostly outdated, I would not trust all the informations given there.

A better solution would be to enhance the Kconfig help-text or the build-system to use its possibilities to warn the user (best before you start to build?).
Another alternative would be to strictly set FREETZ_TOOLCHAIN_32BIT=y when people want to build theit own toolchain on a 64-bit Linux host.

It took me a lot of my freetime to dig into this "known" issue and it is still not well documented (see also my previous post here and my ticket in the Freetz BTS).

As people still fell over this pitfall, the current situation is still not acceptable.
 
Ohne bezweifeln zu wollen, dass es auch veraltete Infos im Wiki gibt, hier stimmt das m.E. nicht.
Und solange die Infos dort korrekt sind, ist es ja egal, ob du ihnen traust oder sie mit "großen Zweifeln" anwendest ;-), sie sind korrekt und führen zum Ziel.

Ich finde es für die Autoren im Wiki immer wieder schade, wie häufig die Informationen dort "ignoriert" (oder sogar "diffamiert") werden..

Kconfig-Help?
Hmm, ohne das Wiki gelesen (und die genannten Pakete nachinstalliert) zu haben, wird es kaum jemand ins Kconfig schaffen ;-).
Und der hier benötigte Hinweis für 64 Bit Systeme ist seit über zwei Jahren im Wiki...

Nebenbei: Hattest du dich nicht mal beschwert, es sein "unfein", auf eine Frage in anderer Sprache zu antworten?!?
 
Outdated Freetz wiki - I have said that in general.
People even do not read release-notes, why do you expect they will read any FAQ.
Even the FAQ has help, the build-system gives no helpful hint.
The project claims to be "unexperienced-user-friendly" which a project in the embedded world cannot be - in my eyes.

I have written all my last comments for Freetz BTS and here in English, I will keep that.
There exists enough non-German Freetz community and AVM offers enough products for the non-German market.
It seems you understand my "bad" English :).

Nevertheless, issue is known, patches were sent, but not integrated and it's unlovely to see people stumbling.

Kconfig-option can have a help text (see help tag), if you have looked for the ticket in the BTS you would have seen my patch (FREETZ_TOOLCHAIN_32BIT).
I doubt only a few people check this help, so :).
 
kann man freetz auch auf 64-Bit Linux bauen?
Ja kann man. Ich habe Freetz nur auf 64-Bit Linux erstellt, von daher funktioniert es mindestens seit 2007, vielleicht auch schon länger.
Die Toolchain ist anscheinen nur für 32-Bit kompiliert:
Die Download-Toolchain ist für 32-Bit kompiliert, weil damit ein Download auf 32-Bit und auf 64-Bit Systemen läuft. Das hindert einen aber nicht daran, selbst ein e64-Bit Toolchain zu erstellen.

Nevertheless, issue is known, patches were sent, but not integrated and it's unlovely to see people stumbling.
Die Patches von dileks wurden nicht integriert, weil damit die 64-Bit Unterstützung kaputt gemacht worden wäre, auch wenn er das immer noch gern verdrängt.
 
RalfFriedl;1899962 Die Patches von dileks wurden nicht integriert schrieb:
radislav confirmed 64bit-toolchain is broken.
You seem as usually lost the reality.
Just fix it - cleanly - now!
 
Den Vorschlag von dileks war sehr hilfreich: nach dem Installieren von libc6-dev-i386 lässt sich alles wie gewohnt bauen.
Das einzige, was m.E. radislav "bestätigt" hat, war dass er "libc6-dev-i386" nachinstallieren musste.
Und das steht für 64Bit Systeme (wie geschrieben) schon lange im Wiki
 
Das einzige, was m.E. radislav "bestätigt" hat, war dass er "libc6-dev-i386" nachinstallieren musste.
Und das steht für 64Bit Systeme (wie geschrieben) schon lange im Wiki

"libc6-dev-i386" makes only sense with FREETZ_TOOLCHAIN_32BIT=y <--- 64bit-Toolchain :)?

And again, the build-system was giving no hints help when I dealt with the issue.
As my ticket was closed as "WontFix", I do NOT think something happened.
Even pointing to the FAQ-link would be helpful - in the build-system (Kconfig help).

As 64bit-toolchain is not supported/broken/not-recommended... the Kconfig logic should be adapted:

256 config FREETZ_TOOLCHAIN_32BIT
257 bool "Build 32-bit toolchains" if FREETZ_BUILD_TOOLCHAIN
258 default n
259 help
260 This option causes a 32-bit toolchain to be built even on 64-bit systems.

-258 default n
+258 default y if (FREETZ_DOWNLOAD_TOOLCHAIN || FREETZ_BUILD_TOOLCHAIN)

...or you change the logic for "config FREETZ_BUILD_TOOLCHAIN".

The download-toolchains are known to be built with FREETZ_TOOLCHAIN_32BIT.
But this is not reflected in the build-system.

http://freetz.org/browser/trunk/toolchain/Config.in#L256
http://freetz.org/browser/trunk/Config.in#L1084

I have updated my two patches from Freetz Bug #1775 (***UNTESTED***, see attached tarball).

@radislav: Feel free to test and report if it works, Thanks!

NOTE-1: FREETZ_TOOLCHAIN_32BIT=n (unset)
NOTE-2: Uninstall all multilib/multiarch/biarch versions of binutils/gcc/libc6(-dev) before compilation!
 

Anhänge

  • 64bit-toolchain-for-freetz-r10228.tar.gz
    2.5 KB · Aufrufe: 1
Zuletzt bearbeitet von einem Moderator:
Ich wurde anscheinend ein wenig missverstanden: ich möchte nur auf 64-bit Linux kompilieren können. Die Lösung mit libc6-dev-i386 reicht aus!
 
Ich wurde anscheinend ein wenig missverstanden: ich möchte nur auf 64-bit Linux kompilieren können. Die Lösung mit libc6-dev-i386 reicht aus!

That's a pity - testers are always welcome!

I now re-remember: You need to install gcc-multilib (so-called "biarch-capable gcc") due to "-m32" CC-option, anyway.
Installing gcc-multilib installs libc6-i386 stuff automatically.
As said... my ticket was from April 2012.

Hmm, the patchset has a brownpaper-cut-n-paste fault for CFLAGS and a trailing whitespace.
I am currently compiling with a v2, I will attach my freetz-config, build-log and patchset.

Code:
toolchain/target -> build/mipsel_gcc-4.6.3_uClibc-0.9.29/mipsel-linux-uclibc/

$ file toolchain/target/bin/mipsel-linux-uclibc-gcc
[OUTPUT]
toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xcf58902225f3c29f2a303383a44ae104c5f5d54f, stripped

Hm, that's with FREETZ_TOOLCHAIN_32BIT=n.
Lemme check if someone hacked '-m32' elsewhere.
 
Zuletzt bearbeitet von einem Moderator:
Hi Dileks, vermutlich in Vergessenheit geraten, aber, ehe ein Admin "böse wird", denke bitte daran, neue Infos per "Bearbeiten" hinzuzufügen und nicht jeweils einen neuen Post zu machen
 
Hi Dileks, vermutlich in Vergessenheit geraten, aber, ehe ein Admin "böse wird", denke bitte daran, neue Infos per "Bearbeiten" hinzuzufügen und nicht jeweils einen neuen Post zu machen

NO, intended. Reply to someone is different than my other infos.
 
5.10 Keine Aneinanderreihung eigener Beiträge (auch "Schieben" genannt) innerhalb von 24 Stunden; hier ist die "Bearbeiten"-Funktion zu verwenden.
Mach das mit den Mods aus ;-)
 
Zuletzt bearbeitet:
Ist mit Schieben ganz schnell IPPF-Fan werden gemeint?

Gute Arbeit, macht weiter so ;)
 
Updated patchset.
I need to look at the all the new kconfig-options.
 

Anhänge

  • 64bit-toolchain-for-freetz-r10228-v2.tar.gz
    141.3 KB · Aufrufe: 2
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.