1. leht 1-st
Nas DNS-323 jaoks ocaml ja mldonkey kompileerimise viga
Postitatud: 11.04.2014, 09:00
Postitas karlsson
Proovisin võrgukettal kompileerida ocaml-3.12.0.tar.bz2 kuid sain korduvad PF vead. On see kuidagi seotud floating point'iga?
Esiteks ma seadsin temp kataloogi.
# export TMPDIR=/ffp/tmp
Kasutasin konfiguratsiooni
# ./configure --prefix=ffp
Tulemus
Configure.log
Siis proovisin erinevate seadetega ocaml kompileerida, kuid siin on näide world.opt
# make world > world.opt.log
Korduv viga oli selline:
Kood: Vali kõik
/ffp/bin/ld: ERROR: stdlib/std_exit.o uses hardware FP, whereas ocamlc.opt uses software FP
/ffp/bin/ld: failed to merge target specific data of file stdlib/std_exit.o
Siin on tulemus failist.
Siin on tulemus konsoolist.
Mida ma teen valesti ja kuidas ma saaks ocaml kompileerida?
Postitatud: 11.04.2014, 13:21
Postitas mckevin
miks ise kompileerid ja ei kasuta varamut ntx optware?
http://dns323.kood.org/howto:optware
Postitatud: 13.04.2014, 06:59
Postitas karlsson
Kompileerin seepärast, et huvi pakub ja teiseks seda mldonkey kõige uuemat pakki pole kuskil. Proovisin selle pakihalduri ka järgi. Töötab, ocaml paki sain installitud.
Praegu siis olen mldonkey lähtekoodi kallal. Kompileerides sama korduv FP viga:
Kood: Vali kõik
/ffp/bin/ld: failed to merge target specific data of file /opt/lib/ocaml/libunix.a(times.o)
/ffp/bin/ld: ERROR: /opt/lib/ocaml/libunix.a(truncate.o) uses hardware FP, whereas ocamlpp.byte uses software FP
Viimane osa sellest:
Kood: Vali kõik
/ffp/bin/ld: ERROR: /opt/lib/ocaml/libcamlrun.a(fix_code.o) uses hardware FP, whereas ocamlpp.byte uses software FP
/ffp/bin/ld: failed to merge target specific data of file /opt/lib/ocaml/libcamlrun.a(fix_code.o)
collect2: ld returned 1 exit status
File "_none_", line 1, characters 0-1:
Error: Error while building custom runtime system
make: *** [ocamlpp.byte] Error 2
Tundub, et gcc kompilaator tahab mingeid parameetreid saada.. Endal hetkel ideed otsas. Ehk keegi oskab miskit juhatada. Kompilaatori seaded sellised:
Kood: Vali kõik
root@v6rguketas:/mnt/HD_a2# gcc -v
Using built-in specs.
Target: arm-unknown-linux-uclibc
Configured with: /mnt/HD_a2/home/bob/funplug/work/gcc-4.1/gcc-4_1-branch/configure --enable-languages=c,c++ --enable-__cxa_atexit --with-local-prefix=/ffp --disable-multilib --disable-libssp --disable-libgomp --disable-libmudflap --disable-tls --with-float=soft --disable-bootstrap
Thread model: posix
gcc version 4.1.3 20080414 (prerelease)
Postitatud: 13.04.2014, 10:47
Postitas chris
karlsson kirjutas:Tundub, et gcc kompilaator tahab mingeid parameetreid saada.. Endal hetkel ideed otsas. Ehk keegi oskab miskit juhatada. Kompilaatori seaded sellised:
Kood: Vali kõik
root@v6rguketas:/mnt/HD_a2# gcc -v
Using built-in specs.
Target: arm-unknown-linux-uclibc
Configured with: /mnt/HD_a2/home/bob/funplug/work/gcc-4.1/gcc-4_1-branch/configure --enable-languages=c,c++ --enable-__cxa_atexit --with-local-prefix=/ffp --disable-multilib --disable-libssp --disable-libgomp --disable-libmudflap --disable-tls --with-float=soft --disable-bootstrap
Thread model: posix
gcc version 4.1.3 20080414 (prerelease)
Tegelikult oled oma küsimusele juba vastanud. GCC kasutab vaikimisi tarkvaralist ujukoma matemaatikat ([font=monospace]--with-float=soft[/font]), kuid sinu süsteem on kompileeritud kasutama riistvaralist ujukoma matemaatikat.
Mida sa pead tegema, on lisama configure skriptile parameetri [font=monospace]--with-float=hard[/font].
Ma ei viitsinud ocamli/mldonkey lähtekodi alla tõmmata ja ei oska öelda, kas väärtus "hard" on õige või mitte. Kontrolliks käivita confgure parameetriga --help ja vaata, mida korjutatakse --with-float kohta.