Crosscompiling für QNAP (Arm)

Für Installationen unter MacOS u.a. Betriebssystemen

Re: Crosscompiling für QNAP (Arm)

Beitragvon af0815 » 5. Mär 2013, 09:12 Re: Crosscompiling für QNAP (Arm)

Es ist allgemein, auch für gdb/gdbserver.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3454
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 5. Mär 2013, 10:08 Re: Crosscompiling für QNAP (Arm)

Ich verstehe die Notwendigkeit nicht.

Ich habe (wie beschrieben) auf dem QNAP die aktuelle Version von gdb mit "configure" und "make" (nativ) kompiliert. Dabei kommt sowohl gdb (ohne TUI) als auch gdbserver heraus (wie oben beschrieben):
Code: Alles auswählen
[/share/Public/heizarm/gdb-7.5/gdb] # ./gdb --version
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv5tel-unknown-linux-gnueabi".
For bug reporting instructions, please see: http://http://http://http://www.gnu.org/software/gdb/bugs/>.
 
[/share/Public/heizarm/gdb-7.5/gdb/gdbserver] # ./gdbserver --version
GNU gdbserver (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
gdbserver is free software, covered by the GNU General Public License.
This gdbserver was configured as "armv5tel-unknown-linux-gnueabi"

Wenn Du nun dieselben Source-Dateien auf dem PC (nativ) compiliertst, hast Du auch ein zusammen passendes gdb/gdbserver Paar zum remote debuggen, ohne dass Du cross kompilieren musst und ohne dass Du die Sourcery Toolchain benötigst.

Oder verstehe ich da was falsch ?

-Michael
Zuletzt geändert von mschnell am 5. Mär 2013, 21:21, insgesamt 1-mal geändert.
mschnell
 
Beiträge: 3221
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon af0815 » 5. Mär 2013, 20:33 Re: Crosscompiling für QNAP (Arm)

Er macht einen Check, den er beim Cross nicht machen darf. Dann krachst, klarerweise, es für mich aber momentan noch Chr das zu finden. Aber langsam verstehe ich das System.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3454
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 5. Mär 2013, 21:20 Re: Crosscompiling für QNAP (Arm)

af0815 hat geschrieben:Er macht einen Check, den er beim Cross nicht machen darf.

Sowas hatte ich befürchtet und es lieber nativ versucht. Hat ja auch nicht auf Anhieb geklappt. Aber netterweise waren ja die notwendigen Programme als ipkg leicht erhältlich. Das Ergebnis (die beiden Dateien gdb und gdbserber, die auf dem ARM laufen) sollte ja exakt dasselbe sein, egal ob man sie auf dem PC oder dem Target erzeugt.

-Michael
mschnell
 
Beiträge: 3221
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon af0815 » 12. Apr 2013, 19:38 Re: Crosscompiling für QNAP (Arm)

Ich komme nicht weiter. Gibt es hier einen Spezialisten für autoconf und crosscompile :-)

Das Problem ist, mit den sehr alten Sourcen vom GDB gehts. Nur bei den neueren wurden Optionen im configure geändert, die einen Check der Compiler auslösen. Das geht mit den Crosstoolchain in die Hose.

Code: Alles auswählen
$ ../../gdb-7.5.1/configure --host=i686-pc-linux-gnu --target=arm-none-linux-g
nueabi
 
## --------- ##
## Platform. ##
## --------- ##
 
hostname = VMDebBasis
uname -m = i686
uname -r = 3.2.0-4-686-pae
uname -s = Linux
uname -v = #1 SMP Debian 3.2.35-2
 
/usr/bin/uname -p = unknown
/bin/uname -X     = unknown
 
/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown
 
PATH: /usr/local/src/fpc/utils
PATH: /opt/CodeSourcery/bin
PATH: /opt/CodeSourcery/arm-none-linux-gnueabi/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
 
 
## ----------- ##
## Core tests. ##
## ----------- ##
 
configure:2237: checking build system type
configure:2251: result: i686-pc-linux-gnu
configure:2298: checking host system type
configure:2311: result: i686-pc-linux-gnu
configure:2331: checking target system type
configure:2344: result: arm-none-linux-gnueabi
configure:2398: checking for a BSD-compatible install
configure:2466: result: /usr/bin/install -c
configure:2477: checking whether ln works
configure:2499: result: yes
configure:2503: checking whether ln -s works
configure:2507: result: yes
configure:2514: checking for a sed that does not truncate output
configure:2578: result: /bin/sed
configure:2587: checking for gawk
configure:2617: result: no
configure:2587: checking for mawk
configure:2603: found /usr/bin/mawk
configure:2614: result: mawk
configure:3727: checking for i686-pc-linux-gnu-gcc
configure:3757: result: no
configure:3767: checking for gcc
configure:3783: found /opt/CodeSourcery/arm-none-linux-gnueabi/bin/gcc
configure:3794: result: gcc
configure:4023: checking for C compiler version
configure:4032: gcc --version >&5
gcc (CodeSourcery Sourcery G++ Lite 2007q3-51) 4.2.1
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
configure:4043: $? = 0
configure:4032: gcc -v >&5
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/paul/lite/linux/src/gcc-4.2/configure --build=i686-pc-
linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-thre
ads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-
pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enabl
e-symvers=gnu --enable-__cxa_atexit --with-pkgversion=CodeSourcery Sourcery G++
Lite 2007q3-51 --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --di
sable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-l
inux-gnueabi/libc --with-build-sysroot=/scratch/paul/lite/linux/install/arm-none
-linux-gnueabi/libc --enable-poison-system-directories --with-build-time-tools=/
scratch/paul/lite/linux/install/arm-none-linux-gnueabi/bin --with-build-time-too
ls=/scratch/paul/lite/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)
configure:4043: $? = 0
configure:4032: gcc -V >&5
gcc: '-V' option must have argument
configure:4043: $? = 1
configure:4032: gcc -qversion >&5
gcc: unrecognized option '-qversion'
gcc: no input files
configure:4043: $? = 1
configure:4063: checking for C compiler default output file name
configure:4085: gcc    -nostdlib -L/opt/CodeSourcery/lib/gcc/arm-none-linux-gnue
abi/4.2.1/ conftest.c  >&5
gcc: error trying to exec 'cc1': execvp: No such file or directory
configure:4089: $? = 1
configure:4126: result:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:4132: error: in `/usr/local/src/gdb/build/crossarm':
configure:4136: error: C compiler cannot create executables
See `config.log'
for more details.
 
## ---------------- ##
## Cache variables. ##
## ---------------- ##
 
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3454
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 12. Apr 2013, 23:27 Re: Crosscompiling für QNAP (Arm)

af0815 hat geschrieben:Ich komme nicht weiter. Gibt es hier einen Spezialisten für autoconf und crosscompile :-)


Ich komme auch nicht weiter. Ich brauche zwar GDB nicht übersetzen und kein Crosscompile für C, aber leider erzeugt mir der (anscheinend funktionierende) Cross-fpc keine rtl und deshalb kann ich keine komplexeren Pascal-Programme Cross-Coompilieren, obwohl "writeln ('Hello World'); " funktioniert. :(

af0815 hat geschrieben:gcc: error trying to exec 'cc1': execvp: No such file or directory


Von cc1 habe ich noch nie etwas gehört.

-Michael
mschnell
 
Beiträge: 3221
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

• Themenende •
Vorherige

Zurück zu Sonstige



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried