Crosscompiling für QNAP (Arm)

Für Installationen unter MacOS u.a. Betriebssystemen

Re: Crosscompiling für QNAP (Arm)

Beitragvon mschnell » 28. Feb 2013, 13:22 Re: Crosscompiling für QNAP (Arm)

Dann probiere ich heute abend mal den aktuellen gdb 7.5 auf dem QNAP zu übersetzen.

-Michael
mschnell
 
Beiträge: 3166
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 mschnell » 28. Feb 2013, 19:11 Re: Crosscompiling für QNAP (Arm)

Grrr.

./configure läuft komplett durch und erkennt alles mögliche und kann dann am Ende den Makefile nicht schreiben :(.

Code: Alles auswählen
configure: creating ./config.status
config.status: creating Makefile
awk: ./conf5LxciE/subs.awk:7: Unexpected token
config.status: error: could not create Makefile
 


Wat Nu ?

-Michael
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mschnell
 
Beiträge: 3166
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 » 28. Feb 2013, 22:08 Re: Crosscompiling für QNAP (Arm)

Auf der Nas ist ein relativ komplexes Umfeld. Nicht alle Standardtools verhalten sich gleich mit den Tools die man auf i386 gewohnt ist. Das ist auch einer der Gründe warum sich komplexere QPKGs (sind die Installationspakete) sich eigene Umgebungen schaffen.

Auch mal bei Google nach "configure awk unexpected token" das ist ein verbreitete Problem, und kann scheinbar nur durch das ersetzen von ein paar Tools (statt busybox) hingebogen werden.

Das sind übrigens ein paar der Gründe warum ich lieber versuche Cross zu kompilieren mit den richtigen Toolchain.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3294
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 1. Mär 2013, 12:04 Re: Crosscompiling für QNAP (Arm)

af0815 hat geschrieben:Auch mal bei Google nach "configure awk unexpected token" das ist ein verbreitete Problem, und kann scheinbar nur durch das ersetzen von ein paar Tools (statt busybox) hingebogen werden.


ich hatte gehofft, du hättest schon etwas dazu in der Tasche...

Im QNAP Forum habe ich gefunden:
QNAP Forum hat geschrieben:This error is due to light awk (and sed) support provided by busybox implementation.
You should install the GNU awk (and sed) with ipkg and replace the existing one in /bin

Ich werd's 'mal versuchen. Aber zum Kompilieren von awk wird man möglicherweise auch wieder configure brauchen (Henne/Ei) ...

Man könnte es aus einem Debian Package "von Hand" extrahieren (das habe ich mit meinem ersten fpc für das QNAP erfolgreich so gemacht).

Schön wäre, wenn man irgendwo ein weniger "deeply embedded" ARM System hätte, von dem man sich die aktuellen Versionen der notwendigen Programme abziehen könnte (man kann Debian auf dem QNAP installieren, ich habe aber keines übrig :( ) .... (oder man muss eben cross-compilieren).


-Michael
mschnell
 
Beiträge: 3166
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 » 1. Mär 2013, 12:59 Re: Crosscompiling für QNAP (Arm)

Achtung beim Ersetzen von Tools, das das nach einem Update bzw Bugfix noch funktioniert!

Übriges ist das ein Grund warum ich mir 2 Nas gekauft habe. Eine Produktiv, die andere für Versuche.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3294
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 1. Mär 2013, 16:03 Re: Crosscompiling für QNAP (Arm)

Ich vermute, wenn man das Symlink zur Busybox ersetzt, wird das schon nach einem Reset wieder in den Ur-Zustand versetzt (weil diese Directories im RAM-Filesystem liegen). Wenn man das dauerhaft erhalten will, kann man das Ersetzen in das Initialisierungs-Script von Optware einbauen.

-Michael
mschnell
 
Beiträge: 3166
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 » 1. Mär 2013, 21:56 Re: Crosscompiling für QNAP (Arm)

Bei der Beschreibung gehe ich nochmals zurück an den Start und teste das nochmals durch. Ich muß doch als root die Umgebung installieren, es wird sonst nur unnötig komplizierter. Allein mit sudo kann ich da den root nicht so einfach ersetzen und es soll ja möglichst einfach werden. Vielleicht habe ich auch zu wenig Erfahrung damit.

mschnell hat geschrieben:Ich werd's 'mal versuchen. Aber zum Kompilieren von awk wird man möglicherweise auch wieder configure brauchen (Henne/Ei) ...
Nein aus dem ipkg installieren.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3294
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 1. Mär 2013, 22:13 Re: Crosscompiling für QNAP (Arm)

Ja !!! Wenn man herausgefunden hat dass das Paket "gawk" heißt :D
Code: Alles auswählen
ipkg install gawk
ipkg install sed


Die Symlinks setzen (löschen hätte gereicht, weil /opt/bin ja sowieso im Pfad ist), dann klappt das ./configure und erzeugt mir ein Make-File für gdb.

Code: Alles auswählen
configure: creating ./config.status
config.status: creating Makefile
[/share/Public/heizarm/gdb-7.5]


das make klappt nicht (wäre ja auch zu schön):
Code: Alles auswählen
checking for grep that handles long lines and -e... configure: error: no acceptable grep could be found in /bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/opt/bin:/opt/sbin:/usr/xpg4/bin
make[1]: *** [configure-libiberty] Error 1


also suchen wir nach grep...

Wunderbar: Auch dafür gibt es ein ipkg !

Jetzt ist er beim compilieren....

Nach einer geraumen Zeit kommt:
Code: Alles auswählen
gnulib/import -Ibuild-gnulib/import   -DTUI=1  -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement  -c -o tui-command.o -MT tui-command.o -MMD -MP -MF .deps/tui-command.Tpo ./tui/tui-command.c
In file included from ./tui/tui-command.c:25:
./tui/tui-data.h:38: error: expected specifier-qualifier-list before 'WINDOW'
In file included from ./tui/tui-command.c:26:
./tui/tui-win.h:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_ulcorner'
./tui/tui-win.h:41: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_urcorner'
./tui/tui-win.h:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_lrcorner'
./tui/tui-win.h:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_llcorner'
./tui/tui-win.h:44: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_vline'
./tui/tui-win.h:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tui_border_hline'
./tui/tui-command.c: In function 'tui_dispatch_ctrl_char':
./tui/tui-command.c:79: error: 'WINDOW' undeclared (first use in this function)
./tui/tui-command.c:79: error: (Each undeclared identifier is reported only once
./tui/tui-command.c:79: error: for each function it appears in.)
./tui/tui-command.c:79: error: 'w' undeclared (first use in this function)
./tui/tui-command.c:79: error: 'struct tui_gen_win_info' has no member named 'handle'
./tui/tui-command.c:84: warning: implicit declaration of function 'wgetch'
./tui/tui-command.c:85: error: 'ERR' undeclared (first use in this function)
./tui/tui-command.c:92: error: 'KEY_PPAGE' undeclared (first use in this function)
./tui/tui-command.c:94: error: 'KEY_NPAGE' undeclared (first use in this function)
./tui/tui-command.c:112: error: 'KEY_DOWN' undeclared (first use in this function)
./tui/tui-command.c:113: error: 'KEY_SF' undeclared (first use in this function)
./tui/tui-command.c:116: error: 'KEY_UP' undeclared (first use in this function)
./tui/tui-command.c:117: error: 'KEY_SR' undeclared (first use in this function)
./tui/tui-command.c:120: error: 'KEY_RIGHT' undeclared (first use in this function)
./tui/tui-command.c:123: error: 'KEY_LEFT' undeclared (first use in this function)
make[2]: *** [tui-command.o] Error 1


OK, wir haben kein ncurses, deshalb wird TUI nicht gehen.
Ich habe aber gesehen, dass er in einer frühen Phase des make gesagt hat
Code: Alles auswählen
checking ncurses: no


Also sollte er das wissen.... aber beim compilieren hat er "-DTUI=1" angegeben, anscheinend will er die TUI also einbauen.
Mal schauen ob man das irgendwie durch einen Parameter bei make o.ä. vehindern muss...

nun also
Code: Alles auswählen
./configure --disable-tui
make


....

nicht schlecht für den Anfang aber schließlich beim linken:

Code: Alles auswählen
gcc -g -O2      \
        -o gdb gdb.o arm-tdep.o arm-linux-tdep.o glibc-tdep.o solib-svr4.o symfile-mem.o linux-tdep.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o inf-ptrace.o fork-child.o arm-linux-nat.o proc-service.o linux-thread-db.o linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o  cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-cmd-info.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o python.o py-value.o py-prettyprint.o py-auto-load.o elfread.o stap-probe.o posix-hdep.o c-exp.o cp-name-parser.o objc-exp.o ada-exp.o jv-exp.o f-exp.o go-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auto-load.o auxv.o agent.o bfd-target.o blockframe.o breakpoint.o findvar.o regcache.o cleanups.o charset.o continuations.o corelow.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o filesystem.o inf-child.o interps.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o osabi.o copying.o memattr.o mem-break.o target.o parse.o language.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o dwarf2-frame-tailcall.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ada-varobj.o ui-out.o cli-out.o varobj.o vec.o go-lang.o go-valprint.o go-typeprint.o jv-lang.o jv-valprint.o jv-typeprint.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o regset.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o xml-utils.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o gcore.o jit.o progspace.o skip.o probe.o common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o format.o inflow.o    init.o \
           ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a  ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a    -ldl -lz -lm -lexpat ../libiberty/libiberty.a  build-gnulib/import/libgnu.a -ldl -Wl,--dynamic-list=./proc-service.list
utils.o: In function `init_page_info':
/share/Public/heizarm/gdb-7.5/gdb/utils.c:1680: undefined reference to `tgetnum'

../readline/libreadline.a(display.o): In function `cr':
/share/Public/heizarm/gdb-7.5/readline/display.c:2486: undefined reference to `tputs'

../readline/libreadline.a(display.o): In function `_rl_clear_screen':
/share/Public/heizarm/gdb-7.5/readline/display.c:2365: undefined reference to `tputs'

../readline/libreadline.a(display.o): In function `_rl_clear_to_eol':
/share/Public/heizarm/gdb-7.5/readline/display.c:2336: undefined reference to `tputs'

../readline/libreadline.a(display.o): In function `_rl_move_vert':
/share/Public/heizarm/gdb-7.5/readline/display.c:2057: undefined reference to `tputs'

/share/Public/heizarm/gdb-7.5/readline/display.c:2073: undefined reference to `tputs'
../readline/libreadline.a(display.o):/share/Public/heizarm/gdb-7.5/readline/display.c:1985: more undefined references to `tputs'
follow
../readline/libreadline.a(display.o): In function `insert_some_chars':
/share/Public/heizarm/gdb-7.5/readline/display.c:2390: undefined reference to `tgoto'

/share/Public/heizarm/gdb-7.5/readline/display.c:2391: undefined reference to `tputs'
../readline/libreadline.a(display.o): In function `delete_chars'
:
/share/Public/heizarm/gdb-7.5/readline/display.c:2440: undefined reference to `tputs'
../readline/libreadline.a(display.o): In function `insert_some_chars'
:
/share/Public/heizarm/gdb-7.5/readline/display.c:2407: undefined reference to `tputs'
/share/Public/heizarm/gdb-7.5/readline/display.c:2416: undefined reference to `tputs'

../readline/libreadline.a(display.o): In function `delete_chars':
/share/Public/heizarm/gdb-7.5/readline/display.c:2433: undefined reference to `tgoto'

/share/Public/heizarm/gdb-7.5/readline/display.c:2434: undefined reference to `tputs'
../readline/libreadline.a(display.o): In function `insert_some_chars'
:
/share/Public/heizarm/gdb-7.5/readline/display.c:2400: undefined reference to `tputs'
../readline/libreadline.a(display.o): In function `rl_redisplay'
:
/share/Public/heizarm/gdb-7.5/readline/display.c:1087: undefined reference to `tputs'
../readline/libreadline.a(terminal.o): In function `_rl_set_cursor'
:
/share/Public/heizarm/gdb-7.5/readline/terminal.c:786: undefined reference to `tputs'
../readline/libreadline.a(terminal.o): In function `_rl_control_keypad'
:
/share/Public/heizarm/gdb-7.5/readline/terminal.c:760: undefined reference to `tputs'
../readline/libreadline.a(terminal.o):/share/Public/heizarm/gdb-7.5/readline/terminal.c:748: more undefined references to `tputs'
follow
../readline/libreadline.a(terminal.o): In function `_rl_get_screen_size':
/share/Public/heizarm/gdb-7.5/readline/terminal.c:316: undefined reference to `tgetnum'

/share/Public/heizarm/gdb-7.5/readline/terminal.c:297: undefined reference to `tgetnum'
../readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io'
:
/share/Public/heizarm/gdb-7.5/readline/terminal.c:500: undefined reference to `tgetent'
../readline/libreadline.a(terminal.o): In function `get_term_capabilities'
:
/share/Public/heizarm/gdb-7.5/readline/terminal.c:446: undefined reference to `tgetstr'
/share/Public/heizarm/gdb-7.5/readline/terminal.c:446: undefined reference to `tgetstr'

../readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io':
/share/Public/heizarm/gdb-7.5/readline/terminal.c:564: undefined reference to `tgetflag'

/share/Public/heizarm/gdb-7.5/readline/terminal.c:579: undefined reference to `tgetflag'
/share/Public/heizarm/gdb-7.5/readline/terminal.c:564: undefined reference to `tgetflag'

/share/Public/heizarm/gdb-7.5/readline/terminal.c:493: undefined reference to `BC'
/share/Public/heizarm/gdb-7.5/readline/terminal.c:493: undefined reference to `PC'

/share/Public/heizarm/gdb-7.5/readline/terminal.c:493: undefined reference to `UP'
collect2: ld returned 1 exit status
make[2]: *** [gdb] Error 1


-Michael
mschnell
 
Beiträge: 3166
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 mschnell » 2. Mär 2013, 07:05 Re: Crosscompiling für QNAP (Arm)

Da "make clean" anscheinend nicht viel tut, habe ich das directory gelöscht und neu mit tar -xf erzeugt.

dann wieder
./configure --disable-tui und
make

Das ist jetzt ohne Fehlermeldung durchgelaufen.
Und siehe da:

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://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"


und sogar
Code: Alles auswählen
(gdb) set target-async on
(gdb) show target-async
Controlling the inferior in asynchronous mode is on.
(gdb)


Bei nativem Compilieren des gdb gibt es wenigstens kein Problem mit dem 64 Bit Linux auf dem Entwicklungsrechner :twisted: .
Und die Konfiguration des gdb passt so wohl auch mit Sicherheit zum Target. Ich halte das deshalb für die sichere Variante als Cross-Compiliern der GDB C-Sourcen.

Dann kann's also losgehen mit dem SSH-debuggen ! :D

Aus der Sourcery Installation wird jetzt vermutlich nur noch der cross-ld zum fpc-cross-Comnpilieren gebraucht. Wahrscheinlich also nur eine Datei, die wir unter GPL wohl problemlos im Wiki zur Verfügung stellen können. Frage: braucht man die dann in 32 und 64 Bit Version ? (Ich vermute, 32 Bit reicht)

-Michael
Zuletzt geändert von mschnell am 2. Mär 2013, 07:46, insgesamt 5-mal geändert.
mschnell
 
Beiträge: 3166
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 mschnell » 2. Mär 2013, 07:36 Re: Crosscompiling für QNAP (Arm)

af0815 hat geschrieben: Es müssen nur mindesten 3 Durchläufe sein, damit sichergestellt ist, das der Compiler und die Bibliotheken mit dem selben stabilen ppc kompiliert sind.


Habe ich auch gelesen aber wie ist das zu verstehen ?

1) der Bootstrap-Compiler erzeugt einen Bootrstrap-Cross-Compiler aus den Bootstrap Sourcen
2) der Bootstrap-Cross-compiler erzeugt die Cross-RTL-dcus aus den svn-sourcen
3) der Bootstrap-Compiler erzeugt mit Hilfe der Cross-RTL-dcus den Cross-Compiler aus den svn sourcen

oder wie ?

Sollte das "make crossinstall" das alles von selber tun ?

Das kann bei mir nicht funktioniert habe, weil ich die Bootstrap-Sourcen gar nicht geladen habe.

Ich warte also auf die nächste Version Deiner Anleitung.

-Michael
mschnell
 
Beiträge: 3166
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 » 2. Mär 2013, 08:11 Re: Crosscompiling für QNAP (Arm)

Ich werde mal mit dem Cross von Arm only gdb anfangen. Dann kannst du zumindest mal weiter.

Mit beiden Anleitungen sollte es jetzt schon gehen, man darf halt nicht den Fehler machen, das ganze als Benutzer zu machen, das kompliziert die Sache zusätzlich. Wenn man alles als Root macht geht's einfacher.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3294
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

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

Leider komme ich mit dem Bauen des Cross-Compilers nicht weiter (s.o. "make install" beendet sich mit einer obskurer "timeout" Fehlermeldung). Habe ich in Deiner Anleitung etwas übersehen ?

Ich habe das tatsächlich nicht als "root" versucht. Ist das das Problem ? Oder dass ich ein 64 Bit Linux habe ? Oder dass ich Sqeeze habe und nicht Weezy ? Oder dass ich nicht die Sourcen der Versionsnummer des Bootstrap-Compilers/RTL habe ? Oder dass ich sonst einen Fehler gemacht habe ?

Ich könnte zwar theoretisch auf dem Target mit fpc compilieren und dann remote-Debuggen versuchen, aber das ist ja nicht der Sinn der Sache.

Den gdb auf dem Entwicklungs-Recher cross zu kompilieren halte ich bei Zielsystemen, bei denen es auch nativ geht nicht für sehr sinnvoll.

-Michael
mschnell
 
Beiträge: 3166
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 mschnell » 2. Mär 2013, 11:51 Re: Crosscompiling für QNAP (Arm)

Ich habe "make crossinstall ...... " nun als root versucht.

Ich bekomme wieder eine unspezifische Fehlermeldung, wenn mit ppcrossarm anscheinend die rtl gebaut werden soll. (" .../compiler/ppcrossarm ...... -FU..../trunk/rtl/units/arm-linux .... system.pp" )

Diesmal aber keine "Timeout" Meldung sondern "out of memory"

"compiler/ppcrossarm" ohne Parameter macht die korrekten Meldungen

-Michael
mschnell
 
Beiträge: 3166
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 » 4. Mär 2013, 15:30 Re: Crosscompiling für QNAP (Arm)

Ich habe Probleme mit dem gdb 7.5.1 Cross zu kompilieren, er macht beim configure einen Test, der nicht funktionieren kann. Dadurch gibt es einen Error. Mal sehen was das wieder soll.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3294
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon mschnell » 4. Mär 2013, 17:02 Re: Crosscompiling für QNAP (Arm)

Das cross Compilieren des gdb würde ich zurückstellen. Er lässt sich auf dem QNAP ja nativ compilieren....

-Michael
mschnell
 
Beiträge: 3166
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

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Sonstige



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried