Seite 3 von 3

Re: KOS Kompilierungsprobleme

Verfasst: 28.11.2013, 22:24
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

Re: KOS Kompilierungsprobleme

Verfasst: 01.12.2013, 22:19
von Maturion
Hm. Du arbeitest auf Linux, oder? Hast du das ganze mit dem mitgelieferten Build-Script kompiliert?

Re: KOS Kompilierungsprobleme

Verfasst: 02.12.2013, 11:40
von project-firestorm
cygwin benutze ich

Re: KOS Kompilierungsprobleme

Verfasst: 02.12.2013, 18:52
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.

Re: KOS Kompilierungsprobleme

Verfasst: 02.12.2013, 20:05
von project-firestorm
jup mach ich immer,

ich hab gerade erst mal alles wieder gelöscht und kompiliere den ganzen mist dochmal

Re: KOS Kompilierungsprobleme

Verfasst: 03.12.2013, 22:19
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.

Re: KOS Kompilierungsprobleme

Verfasst: 04.12.2013, 13:22
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

Re: KOS Kompilierungsprobleme

Verfasst: 05.12.2013, 18:15
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

Re: KOS Kompilierungsprobleme

Verfasst: 05.12.2013, 23:03
von project-firestorm
hat sich erledigt

Re: KOS Kompilierungsprobleme

Verfasst: 06.12.2013, 00:14
von Jenkins
Läuft es nun?

Re: KOS Kompilierungsprobleme

Verfasst: 06.12.2013, 01:35
von project-firestorm
ja, läuft,
das war ne schwere geburt

Re: KOS Kompilierungsprobleme

Verfasst: 06.12.2013, 10:34
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.

Re: KOS Kompilierungsprobleme

Verfasst: 06.12.2013, 11:00
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"

Re: KOS Kompilierungsprobleme

Verfasst: 30.01.2014, 02:51
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