KOS Kompilierungsprobleme

Die Programmierecke: Hier könnt ihr euch über alles was mit der (Dreamcast-)Programmierung zusammenhängt austauschen. C/C++, SDL, Assembler, KallistiOS und mehr
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

ich klinke mich hier mal ein.
ich wollte mal das neue kos2.0 testen
hat auch bisher alles soweit geklappt.
zum testen wollte ich hello world compiliern

und bekam das hier

Code: Alles auswählen

Held@Held-PC ~/dreamcast/kallistios/examples/dreamcast/hello
$ make
rm -f hello.elf romdisk.*
/home/Held/dreamcast/kallistios//utils/genromfs/genromfs -f romdisk.img -d romdisk -v -x .svn
0    rom 5297b191         [0xffffffff, 0xffffffff] 37777777777, sz     0, at 0x0
1    .                    [0xc3700aa1, 0x2bac4   ] 0040755, sz     0, at 0x20
1    ..                   [0xc3700aa1, 0x2bac1   ] 0040755, sz     0, at 0x40     [link to 0x20    ]
1    .keepme              [0xc3700aa1, 0x2bac5   ] 0100644, sz     0, at 0x60
/home/Held/dreamcast/kallistios//utils/bin2o/bin2o romdisk.img romdisk romdisk.o
kos-cc -o hello.elf hello.o romdisk.o
/home/Held/dreamcast/kallistios//lib/dreamcast/libkallisti.a(init.o): In function `arch_shutdown':
/home/Held/dreamcast/kallistios/kernel/arch/dreamcast/kernel/init.c:245: undefined reference to `_fini'
/home/Held/dreamcast/kallistios//lib/dreamcast/libkallisti.a(init.o): In function `arch_main':
/home/Held/dreamcast/kallistios/kernel/arch/dreamcast/kernel/init.c:197: undefined reference to `_init'
collect2: Fehler: ld gab 1 als Ende-Status zurück
Makefile:30: recipe for target 'hello.elf' failed
make: *** [hello.elf] Error 1

jemand ne ahnung
Benutzeravatar
Maturion
sega-dc.de-Team
sega-dc.de-Team
Kontaktdaten:

Re: KOS Kompilierungsprobleme

Beitrag von Maturion »

Hm. Du arbeitest auf Linux, oder? Hast du das ganze mit dem mitgelieferten Build-Script kompiliert?
Dreamcast träumt weiter
Xbox Live GamerTag: Maturion
Benutzeravatar
Maturion
sega-dc.de-Team
sega-dc.de-Team
Kontaktdaten:

Re: KOS Kompilierungsprobleme

Beitrag von Maturion »

Hast du vor dem kompilieren die Datei "environ.sh" "gesourced"? Sieht mir sehr danach aus, als wäre die Datei nicht vor dem kompilieren ausgeführt worden. Du kannst das auch so konfigurieren, dass das automatisch vor jedem Cygwin-Start passiert.
Dreamcast träumt weiter
Xbox Live GamerTag: Maturion
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

jup mach ich immer,

ich hab gerade erst mal alles wieder gelöscht und kompiliere den ganzen mist dochmal
Benutzeravatar
Maturion
sega-dc.de-Team
sega-dc.de-Team
Kontaktdaten:

Re: KOS Kompilierungsprobleme

Beitrag von Maturion »

Aber hast du in der environ.sh auch die entsprechenden Pfade gesetzt?

KOS_BASE, KOS_CC_BASE, KOS_CC_PREFIX, DC_ARM_BASE und DC_ARM_PREFIX wären das. Sobald das einmal läuft, solltest du das ganze auch auf einen anderen PC kopieren können - dann allerdings nicht den Rest vom Toolchain vergessen (Compiler, newlib, etc) Ich persönlich kompiliere das allerdings immer neu.
Dreamcast träumt weiter
Xbox Live GamerTag: Maturion
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

ja ich folge schoen den anweisungen

meine idee war wenn ich das irgendwann mal unter win zum laufen bekomme das einfach auf die anderen rechner zu ziehen und mir auf usb einfach ein backup zu machen
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

Code: Alles auswählen

$ make
rm -f hello.elf romdisk.*
/home/admin/dreamcast/kos//utils/genromfs/genromfs -f romdisk.img -d romdisk -v -x .svn
0    rom 52a0b2b0         [0xffffffff, 0xffffffff] 37777777777, sz     0, at 0x0
1    .                    [0xd488e31c, 0x14e4b   ] 0040755, sz     0, at 0x20
1    ..                   [0xd488e31c, 0x14e43   ] 0040755, sz     0, at 0x40     [link to 0x20    ]
1    .keepme              [0xd488e31c, 0x14e4d   ] 0100644, sz     0, at 0x60
/home/admin/dreamcast/kos//utils/bin2o/bin2o romdisk.img romdisk romdisk.o
kos-cc -o hello.elf hello.o romdisk.o
/home/admin/dreamcast/kos//lib/dreamcast/libkallisti.a(init.o): In function `arch_shutdown':
/home/admin/dreamcast/kos/kernel/arch/dreamcast/kernel/init.c:245: undefined reference to `_fini'
/home/admin/dreamcast/kos//lib/dreamcast/libkallisti.a(init.o): In function `arch_main':
/home/admin/dreamcast/kos/kernel/arch/dreamcast/kernel/init.c:197: undefined reference to `_init'
collect2: Fehler: ld gab 1 als Ende-Status zurück
Makefile:30: recipe for target 'hello.elf' failed
make: *** [hello.elf] Error 1

download.sh

Code: Alles auswählen

export GCC_VER=4.7.3
export BINUTILS_VER=2.23.2
export NEWLIB_VER=2.0.0
export GMP_VER=5.1.3
export MPFR_VER=3.1.2
export MPC_VER=1.0.1

makefile

Code: Alles auswählen

# User configuration
sh_target=sh-elf
arm_target=arm-eabi
sh_prefix  := /usr/local/dc/$(sh_target)
arm_prefix := /usr/local/dc/$(arm_target)
# kos_root: KOS Git root (contains kos/ and kos-ports/)
kos_root=/home/admin/dreamcast
# kos_base: equivalent of KOS_BASE (contains include/ and kernel/)
kos_base=$(CURDIR)/../..
binutils_ver=2.23.2
gcc_ver=4.7.3
newlib_ver=2.0.0
gdb_ver=6.7.1
insight_ver=6.7.1
kein compiler fehler

environ.sh

Code: Alles auswählen

export KOS_BASE="/home/admin/dreamcast/kos/"

export KOS_CC_BASE="/usr/local/dc/sh-elf"		# DC
export KOS_CC_PREFIX="sh-elf"
export DC_ARM_BASE="/usr/local/dc/arm-eabi"
export DC_ARM_PREFIX="arm-eabi"

kos
und kos-ports auch kein compiler fehler

aber hello.c will dann nicht
Benutzeravatar
Jenkins
Echter Dreamcast-Fan
Echter Dreamcast-Fan

Re: KOS Kompilierungsprobleme

Beitrag von Jenkins »

Läuft es nun?
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

ja, läuft,
das war ne schwere geburt
Benutzeravatar
Maturion
sega-dc.de-Team
sega-dc.de-Team
Kontaktdaten:

Re: KOS Kompilierungsprobleme

Beitrag von Maturion »

Was hast du denn gemacht dass es geht?

Ich habe heute das ganze mal versucht neu zu installieren und hab es erst mit Cygwin probiert, das hat auch erst etliche Probleme gegeben, mit MinGW statt Cygwin lief es aber sofort und reibungslos.
Dreamcast träumt weiter
Xbox Live GamerTag: Maturion
project-firestorm
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von project-firestorm »

in der
environ_base.sh
muste ich eine zeile ändern
GCCVER="`kos-cc -v 2>&1 | tail -1 | awk '{print $3}'`"

GCCVER="4"
rosenrot
Grünschnabel
Grünschnabel

Re: KOS Kompilierungsprobleme

Beitrag von rosenrot »

Hallo,
ich schreibe hier auch mal rein. Bei mir hängt die kompilierung bei der toolchain.
Im Downloadscript wurden die Versionsnummern korrigiert.
Ich habe download.sh und unpack.sh ausgeführt und den kos_root Pfad im Makefile geändert.
Wenn ich make ausführe bleibt er immer beim Patchen stehen und ich weiß nicht was ich eingeben soll.
Ich vermute, dass ich mich doof anstelle; kann mir bitte jemand einen Tipp geben wo der Fehler liegt?

Code: Alles auswählen

patch -d /usr/share/gcc-4.8.2 -p1 < /home/rosenrot/Documents/git/kallistios/utils/dc-chain/patches/gcc-4.8.2-kos.diff
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ruN gcc-4.8.1/gcc/configure gcc-4.8.1-kos/gcc/configure
|--- gcc-4.8.1/gcc/configure    2013-05-08 07:36:36.000000000 -0400
|+++ gcc-4.8.1-kos/gcc/configure        2013-10-09 14:49:41.000000000 -0400
--------------------------
File to patch: 
Warum steht bei diesem diff eigentlich 4.8.1? Ich habe 4.8.2 angegeben, der patch ist auch vorhanden wenn ich das richtig sehe. Ich verstehe das ganze nicht so recht.

Liebe Grüße,
Jan
Antworten

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast