Cross compiling af "rinetd" til mipsel-linux arkitektur- hvordan?
Jeg har en HDX 1000 medieafspiller (Networked media tank), baseret på mipsel arkitekturen, med linux firmware.Af forskellige grunde har jeg behov for at køre rinetd "internet redirection server" http://www.boutell.com/rinetd/ på den
Jeg startede med at finde en debian pakke med rinetd til mipsel, det fungerede ikke, den genkender ikke filen som eksekverbar.
Derfor ville jeg builde selv og fandt denne guide http://www.networkedmediatank.com/showthread.php?tid=8342
Jeg har fået en virtual maskine med et environment op og køre, men rinetd har ingen ./configure hvor jeg kan angive hvilken arkitektur den skal builde til.
Derfor kiggede jeg i dens makefile og fandt linjen " gcc rinetd.o match.o -o rinetd"
Jeg forsøgte herefter at kalde mipsel-linux compileren i stedet, hvilket giver mig fejlen nedenfor...
Det lykkedes mig at kompilere helloworld.c til den og efterfølgende afvikle den på min media player samt på min router (som også er mipsel baseret) - men hvorfor vil den ikke kompilere rinetd?
Det skal siges at jeg er forholdsvis grøn i det med at lave cross compiling etc. så jeg har sikkert lavet nogle begynderfejl?
debian:~/rinetd# mipsel-linux-gcc rinetd.c match.o -o rinetd
rinetd.c:176: warning: conflicting types for built-in function 'log'
rinetd.c: In function 'readConfiguration':
rinetd.c:544: warning: comparison is always false due to limited range of data type
rinetd.c:567: warning: comparison is always false due to limited range of data type
rinetd.c: In function 'handleAccept':
rinetd.c:1014: warning: pointer targets in passing argument 3 of 'accept' differ in signedness
rinetd.c: In function 'log':
rinetd.c:1395: warning: the address of 'log', will always evaluate as 'true'
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
/root/popcorn/smp/smp86xx_toolchain.20080505/build_mipsel_nofpu/staging_dir/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.0.4/../../../../mipsel-linux-uclibc/bin/ld: match.o: Relocations in generic ELF (EM: 3)
match.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status