[ECOS] h8300 cannot find libgcc.a

m mariga ma_ariga@yahoo.co.jp
Tue Jul 21 14:08:00 GMT 2009


Hello everyone,

I installed h8300 toolchains in eCos 3.0 and tried to run application using
Akizuki H8/3068 Template on Akizuki Board.
But I was encountered by application's Make-error and in a deadlock
predicament.
Would you please help me and rescue me out ?

I used next sources.
binutils-2.19.1.tar.bz2
gcc-4.4.0.tar.bz2
newlib-1.17.0.tar.gz

As I said, I succeeded to install h8300 toolchains in /gnutools directory
and succeeded to install RedBoot in Akizuki Board.
Next I decided to run eCos-bundled nc_test_slave.c and tried to build
libtarget.a.
In order to build libtarget.a, I selected Akizuki H8/3068 Template and "net"
package.
Here, I've met a serious error problem.

/opt/ecos/ecos-3.0/packages/language/c/libm/v3_0/src/mathincl/fdlibm.h:78:3:
error: #error IEEE-style 64-bit doubles are required to use the math library

Here're extracts from original fdlibm.h.
---
// SANITY CHECKS
// Just check that we support IEEE-style 64-bit doubles. If not, this
// math library will not work
// This check will go away when support for single-precision alternatives
are
// provided

#if DBL_MAX_EXP != 1024
# error IEEE-style 64-bit doubles are required to use the math library
#endif // if DBL_MAX_EXP == 1024
---

Tell the truth I didn't understand but when I searched DBL_MAX_EXP in .c and
.h files couldn't find it, so I escaped by next simplistic evasion.
---
#define DBL_MAX_EXP 1024
#if DBL_MAX_EXP != 1024
# error IEEE-style 64-bit doubles are required to use the math library
#endif // if DBL_MAX_EXP == 1024
---
I inserted #define DBL_MAX_EXP 1024 !!
I could see your scolding faces but I needed to make it,so let me continue
my story.

Anyway I succeeded to make libtarget.a,so next I continued to make
application.
And I've run across next linking error.

$ make
h8300-elf-gcc -c -o
nc_test_slave.o -mh -mint32 -g -Wall -I/home/link/aki-net-0717/untitled_install/include
 -ffunction-s
ections -fdata-sections nc_test_slave.c
nc_test_slave.c: In function 'do_udp_test':
nc_test_slave.c:215: warning: format '%x' expects type 'unsigned int', but
argument 2 has type 'long int'
nc_test_slave.c:215: warning: format '%x' expects type 'unsigned int', but
argument 3 has type 'long int'
nc_test_slave.c: In function 'do_tcp_test':
nc_test_slave.c:391: warning: format '%x' expects type 'unsigned int', but
argument 2 has type 'long int'
nc_test_slave.c:391: warning: format '%x' expects type 'unsigned int', but
argument 3 has type 'long int'
h8300-elf-gcc -nostartfiles -L/home/link/aki-net-0717/untitled_install/lib -Wl,--gc-sections
 -Wl,--Map -Wl,nc_test_slave
.map -o nc_test_slave nc_test_slave.o -Ttarget.ld -nostdlib
/gnutools/lib/gcc/h8300-elf/4.4.0/../../../../h8300-elf/bin/ld: skipping
incompatible /gnutools/lib/gcc/h8300-elf/4.4.0/
libgcc.a when searching for libgcc.a
/gnutools/lib/gcc/h8300-elf/4.4.0/../../../../h8300-elf/bin/ld: cannot find
libgcc.a
collect2: ld returned 1 exit status
make: *** [nc_test_slave] Error 1

I confirmed there is libgcc.a in /gnutools/lib/gcc/h8300-elf/4.4.0/.
I do not know it is directly related to my botched evasion.
Please show me the correct way.

By the way,please let me use an assumed name.Recently I discovered my
original name is used by spams.
May be punished the spam builders !

Thank you in advance for your help.

m mariga


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list