<html><head><style> p {margin-top:0px;margin-bottom:0px;} </style></head>
<body><div style="font-size:12px; font-family:±¼¸²,±¼¸²Ã¼,Gulim,Baekmuk Dotum,Undotum,Apple Gothic,Latin font,sans-serif;">
<table border=0 width=100% style='background: transparent;' cellpadding=0 cellspacing=0 align=center>
        <tr>
        <td valign=top style='padding:8pt;'>
<div style="color: rgb(51, 51, 51); font-family: µ¸¿ò; font-size: 10pt; background-color: transparent; line-height: 1.5; padding-top: 8px; padding-right: 8px; padding-bottom: 8px; padding-left: 8px; "><p> Hi all<br>
</p><p><br>
</p><p>This is the first mail After i subscribed the mailing list.</p>
<p><br>
</p><p>I want to know the method cross-compile dropbear on uclinux with arm-elf-gcc</p>
<p><br>
</p><p>sorry for poor englisth...</p>
<p><br>
</p><p><br>
</p><p><Enviroment></p>
<p>1. OS : Fedora 11</p>
<p>2. Zlib : zlib-1.2.3</p>
<p>3. dropbear : dropbear -0.52</p>
<p>4. Target : kernel 2.4.x uclinux</p>
<p>5. uClibc : uClibc-0.9.27</p>
<p><br>
</p><p><Install process></p>
<p><br>
</p><p>1. I cross-compiled uClibc with arm-elf-gcc, As a result, i got "arm-uclibc-gcc"</p>
<p>2. I cross-compiled zlib-1.2.3 </p>
<p><br>
</p><p><p>A. cross-compiler : arm-uclibc-gcc </p>
<p><br>
</p><p>==========================================================================</p>
<p>[root@localhost zlib-1.2.3]# CC=arm-uclibc-gcc ./configure --prefix=/home/test/zlib </p>
<p>Building static library libz.a version 1.2.3 with arm-uclibc-gcc.</p>
<p>Checking for unistd.h... Yes.</p>
<p>Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()</p>
<p>Checking for vsnprintf() in stdio.h... No.</p>
<p> WARNING: vsnprintf() not found, falling back to vsprintf(). zlib</p>
<p> can build but will be open to possible buffer-overflow security</p>
<p> vulnerabilities.</p>
<p>Checking for return value of vsprintf()... Yes.</p>
<p>Checking for errno.h... Yes.</p>
<p>Checking for mmap support... Yes.</p>
<p>[root@localhost zlib-1.2.3]# make</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o example.o example.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o adler32.o adler32.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o compress.o compress.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o crc32.o crc32.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o gzio.o gzio.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o uncompr.o uncompr.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o deflate.o deflate.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o trees.o trees.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o zutil.o zutil.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inflate.o inflate.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o infback.o infback.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inftrees.o inftrees.c</p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inffast.o inffast.c</p>
<p>ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o </p>
<p>arm-uclibc-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -o example example.o -L. libz.a</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':</p>
<p>: undefined reference to `__CTOR_LIST__'</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'</p>
<p>collect2: ld returned 1 exit status</p>
<p>make: *** [example] error 1</p>
<p>========================================================================================</p>
<p><br>
</p><p><br>
</p><p>B. cross-compiler : arm-elf-gcc </p>
<p><br>
</p><p>===================================================================================</p>
<p>[root@localhost zlib-1.2.3]# CC=arm-elf-gcc ./configure --prefix=/home/test/zlib </p>
<p>Building static library libz.a version 1.2.3 with arm-elf-gcc.</p>
<p>Checking for unistd.h... Yes.</p>
<p>Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()</p>
<p>Checking for vsnprintf() in stdio.h... No.</p>
<p> WARNING: vsnprintf() not found, falling back to vsprintf(). zlib</p>
<p> can build but will be open to possible buffer-overflow security</p>
<p> vulnerabilities.</p>
<p>Checking for return value of vsprintf()... Yes.</p>
<p>Checking for errno.h... Yes.</p>
<p>Checking for mmap support... Yes.</p>
<p>[root@localhost zlib-1.2.3]# make</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o example.o example.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o adler32.o adler32.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o compress.o compress.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o crc32.o crc32.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o gzio.o gzio.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o uncompr.o uncompr.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o deflate.o deflate.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o trees.o trees.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o zutil.o zutil.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inflate.o inflate.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o infback.o infback.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inftrees.o inftrees.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inffast.o inffast.c</p>
<p>ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o </p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -o example example.o -L. libz.a</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':</p>
<p>: undefined reference to `__CTOR_LIST__'</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'</p>
<p>collect2: ld returned 1 exit status</p>
<p>make: *** [example] error 1</p>
<p>=======================================================================================</p>
<p><br>
</p><p>As you see, each of case error is same</p>
<p><br>
</p><p> </p>
<p>C. the other way</p>
<p><br>
</p><p>=====================================================================================================</p>
<p>[root@localhost zlib-1.2.3]# CC=arm-elf-gcc CXX=arm-elf-g++ AR=arm-elf-ar RANLIB=arm-elf-ranlib LD=arm-elf-ld ./configure --prefix=/home/test/zlib</p>
<p>Building static library libz.a version 1.2.3 with arm-elf-gcc.</p>
<p>Checking for unistd.h... Yes.</p>
<p>Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()</p>
<p>Checking for vsnprintf() in stdio.h... No.</p>
<p> WARNING: vsnprintf() not found, falling back to vsprintf(). zlib</p>
<p> can build but will be open to possible buffer-overflow security</p>
<p> vulnerabilities.</p>
<p>Checking for return value of vsprintf()... Yes.</p>
<p>Checking for errno.h... Yes.</p>
<p>Checking for mmap support... Yes.</p>
<p>[root@localhost zlib-1.2.3]# make </p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o example.o example.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o adler32.o adler32.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o compress.o compress.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o crc32.o crc32.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o gzio.o gzio.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o uncompr.o uncompr.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o deflate.o deflate.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o trees.o trees.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o zutil.o zutil.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inflate.o inflate.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o infback.o infback.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inftrees.o inftrees.c</p>
<p>arm-elf-gcc -O3 -DNO_vsnprintf -DUSE_MMAP -c -o inffast.o inffast.c</p>
<p>arm-elf-ar libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o </p>
<p>arm-elf-ar: illegal option -- z</p>
<p>Usage: arm-elf-ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...</p>
<p> arm-elf-ar -M [<mri-script]</p>
<p> commands:</p>
<p> d - delete file(s) from the archive</p>
<p> m[ab] - move file(s) in the archive</p>
<p> p - print file(s) found in the archive</p>
<p> q[f] - quick append file(s) to the archive</p>
<p> r[ab][f][u] - replace existing or insert new file(s) into the archive</p>
<p> t - display contents of archive</p>
<p> x[o] - extract file(s) from the archive</p>
<p> command specific modifiers:</p>
<p> [a] - put file(s) after [member-name]</p>
<p> [b] - put file(s) before [member-name] (same as [i])</p>
<p> [N] - use instance [count] of name</p>
<p> [f] - truncate inserted file names</p>
<p> [P] - use full path names when matching</p>
<p> [o] - preserve original dates</p>
<p> [u] - only replace files that are newer than current archive contents</p>
<p> generic modifiers:</p>
<p> [c] - do not warn if the library had to be created</p>
<p> [s] - create an archive index (cf. ranlib)</p>
<p> [S] - do not build a symbol table</p>
<p> [v] - be verbose</p>
<p> [V] - display the version number</p>
<p> emulation options: </p>
<p> No emulation specific options</p>
<p>arm-elf-ar: supported targets: elf32-littlearm elf32-bigarm elf32-little elf32-big srec symbolsrec tekhex binary ihex</p>
<p>make: *** [libz.a] error1</p>
<p>=====================================================================================================</p>
</p><p><br>
</p><p>so i couldn't cross-compile zlib yet.</p>
<p>Is there any zlib package for uclinux or for arm-elf-gcc.</p>
<p>I can't fix the error </p>
<p><br>
</p><p>3. I compiled dropbear-0.52 with arm-elf-gcc without zlib, absolutely i use "--disable-zlib"</p>
<p>====================================================================================================</p>
<p><br>
</p><p><p>[root@localhost dropbear-arm-elf]# ../dropbear-0.52/configure --prefix=/home/test/dropbear-arm-elf/elf --disable-zlib CC=arm-elf-gcc --build=arm</p>
<p>checking for gcc... arm-elf-gcc</p>
<p>checking for C compiler default output file name... </p>
<p>configure: error: C compiler cannot create executables</p>
<p>See `config.log' for more details.</p>
<div><br>
</div></p>
<p>=====================================================================================================</p>
<p><br>
</p><p>I attached config.log</p>
<p><br>
</p><p>==================================================================================================</p>
<p><p>## ----------- ##</p>
<p>## Core tests. ##</p>
<p>## ----------- ##</p>
<p><br>
</p><p>configure:1766: checking for gcc</p>
<p>configure:1793: result: arm-elf-gcc</p>
<p>configure:2031: checking for C compiler version</p>
<p>configure:2038: arm-elf-gcc --version >&5</p>
<p>2.95.3</p>
<p>configure:2041: $? = 0</p>
<p>configure:2048: arm-elf-gcc -v >&5</p>
<p>Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs</p>
<p>gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)</p>
<p>configure:2051: $? = 0</p>
<p>configure:2058: arm-elf-gcc -V >&5</p>
<p>arm-elf-gcc: argument to `-V' is missing</p>
<p>configure:2061: $? = 1</p>
<p>configure:2084: checking for C compiler default output file name</p>
<p>configure:2111: arm-elf-gcc conftest.c >&5</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':</p>
<p>: undefined reference to `__CTOR_LIST__'</p>
<p>/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'</p>
<p>collect2: ld returned 1 exit status</p>
<p>configure:2114: $? = 1</p>
<p>configure:2152: result:</p>
<p>configure: failed program was:</p>
<p>| /* confdefs.h. */</p>
<p>| #define PACKAGE_NAME ""</p>
<p>| #define PACKAGE_TARNAME ""</p>
<p>| #define PACKAGE_VERSION ""</p>
<p>| #define PACKAGE_STRING ""</p>
<p>| #define PACKAGE_BUGREPORT ""</p>
<p>| /* end confdefs.h. */</p>
<p>|</p>
<p>| int</p>
<p>| main ()</p>
<p>| {</p>
<p>|</p>
<p>| ;</p>
<p>| return 0;</p>
<p>| }</p>
<p>configure:2159: error: C compiler cannot create executables</p>
<p>See `config.log' for more details.</p>
<p><br>
</p><p>=================================================================================================</p>
<p><br>
</p><p>what shall i do fix this problem...</p>
<p><br>
</p><p>Is there any package of dropbear for uclinux?</p>
<p>or did I something wrong?</p>
<p><br>
</p><p>I'm searching package of zlib and uclibc for uclinx</p>
<p>I can't find the answer to fix the problem..</p>
<p><br>
</p><p>please help me...</p>
<p><br>
</p></p>
<p><br>
</p><p><br>
</p><p><br>
</p></div></td></tr>
</table>
</div></body></html>
<!-- __Hanmail-sig-Start__ -->
<!-- __Hanmail-sig-End__ -->
<!-- __Hanmail-tail-Start__ -->
<table width="100%" cellspacing="0" cellpadding="0" background="http://mimg.daum-img.net/08mail/bg_dot.gif" style="margin-top:15px;background-repeat:repeat-x;background-position:left top;">
<tr height="36">
<td align="left" height="36" style="padding-left:5px;font-size:12px;font-family:±¼¸²,gulim,Apple Gothic,sans-serif;color:#333333;">
        </td>
</tr>
</table>
<!-- __Hanmail-tail-End__ -->
<img src="http://wwl1062.hanmail.net:4280/@from=bakdorazi&rcpt=dropbear%40ucc%2Easn%2Eau&msgid=%3C20100602104005%2EHM%2EA0000000002kY9H%40bakdorazi%2Ewwl1062%2Ehanmail%2Enet%3E">