[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Axis linking problems (again)



I'm not sure but...
Since you're compiling as C++ you must have
extern "C" {
#include <termios.h>
};

etc. or something around the C header files.

I don't think the uC-libc header files do the
#ifdef __cplusplus
check themselves.

Hope this helps.
/Johan


----- Original Message ----- 
From: <Timo.Sakari@xxxxxxx.fi>
To: <dev-etrax@xxxxxxx.com>
Sent: Monday, February 19, 2001 14:33
Subject: FW: Axis linking problems (again)


> I am re-sending this, because no response whatsoever was received...
> 
> Timo
> 
> > -----Original Message-----
> > From: Sakari Timo 
> > Sent: 10. helmikuuta 2001 13:59
> > To: 'dev-etrax@xxxxxxx.com'
> > Subject: Axis linking problems (again)
> > 
> > 
> > Dear Sirs,
> > 
> > I am trying to port a software component to ETRAX100/ELinux,
> > and I have some problems.
> > 
> > I have managed to compile and build the component to Axis, until
> > recently, when I tried to integrate a new file into my project.
> > This file is a simple wrapper library used for making handling
> > Linux serial ports easier.
> > 
> > I could easily use this new file (comio.c) from a simple test
> > application, it compiled and build easily. Attached is the makefile
> > for this test app (Makefile.mbox.comio).
> > 
> > However, when I try to integrate this comio.c to the existing SW
> > component, which I am trying to port to ELinux, there are some linking
> > problems. Makefile "Makefile.mbox.sw_component" is attached. Here
> > are the essential parts of the compiler/linker output:
> > 
> > gcc_cris -melinux -O2 -Wall -D__linux__ -DELINUX -Wall 
> > -DPROJECT_XXX -DTARGET_A
> > XIS -nostdinc -I/projects/xxx/axis/eroot/include/uC-libc 
> > -xc++    -c -o comio.
> > o comio.c
> > 
> > <CLIP>
> > 
> > gcc_cris -melinux -s -symbolic -nostdlib 
> > -L/projects/xxx/axis/eroot/lib  /proj
> > ects/xxx/axis/eroot/lib/uccrt0.o main.o file2.o file3.o 
> > file4.o file5.o 
> > file6.o file7.o file8.o file9.o file10.o file11.o file12.o file13.o 
> > file14.o file15.o file16.o file17.o file18.o file19.o 
> > file20.o comio.o -lgcc
> > -lucc -lic  -o main
> > comio.o(.text+0x92): undefined reference to `_tcgetattr__FiP7termios'
> > comio.o(.text+0x24e): undefined reference to `_tcflush__Fii'
> > comio.o(.text+0x25c): undefined reference to 
> > `_tcsetattr__FiiP7termios'
> > comio.o(.text+0x332): undefined reference to 
> > `_tcsetattr__FiiP7termios'
> > comio.o(.text+0x494): undefined reference to `_tcdrain__Fi'
> > comio.o(.text+0x4c8): undefined reference to `_tcdrain__Fi'
> > comio.o(.text+0x504): undefined reference to `_tcdrain__Fi'
> > comio.o(.text+0x62a): undefined reference to `_tcflush__Fii'
> > comio.o(.text+0x650): undefined reference to `_tcsendbreak__Fii'
> > /projects/xxx/axis/eroot/lib/libucc.a(itoa.o)(.text+0x24): 
> > undefined reference
> >  to `___Mod'
> > make: *** [main] Error 1
> > 
> > All the necessary stuff is included in comio.c:
> > 
> > #include "config.h"
> > #include <errno.h>
> > #include <fcntl.h>
> > #include <sys/file.h>
> > #include <sys/ioctl.h>
> > 
> > /* Don't include these in Axis compilation */
> > #ifdef TARGET_MSERVER
> > #include <sys/procfs.h>
> > #include <sys/select.h>
> > #endif
> > 
> > #include <string.h>
> > #include <stdio.h>
> > #include <termios.h>
> > #include <time.h>
> > #include <sys/types.h>
> > #include <unistd.h>
> > 
> > 
> > What I am doing wrong here? I guess this is another compiler/linker
> > options error. I tried a couple of other options also, but with no
> > success.
> > 
> > By the way, what's the deal with "sys/procfs.h" and "sys/select.h"
> > header files, they were not found? I assume the stuff is in
> > some other files in Axis environment?
> > 
> > 
> > BR,
> > 
> > --
> >   Timo Sakari, email: Timo.Sakari@xxxxxxx.fi
> > 
> >   "#define QUESTION ((bb) || !(bb))"    - Shakespeare
> > 
> 
>