I2C: Getting Compiation Error for application program

Sachin Rane SRane at alphion.com
Thu Sep 21 21:10:32 EST 2006


Hello Matthias,
 
Thanks for the reply.
 
I got the reason from i2c mailing list on getting compilation errors. 
 
A text from the I2C mailing list :
8<---------------------------------------------------------------------------------------
"All the above it caused by you including <linux/i2c.h>. As explained
before, this is a kernel-only header file, which you must _not_ include
in user-space code. You are not the only one to blame though, as in
fact this header file should not be in /usr/include at all, this is a
mistake which should be fixed "soon". "
--------------------------------------------------------------------------------------->8
 
Some of the error lines are appended for your reference.
 
Now I will do the changes in the code as per above above suggestion.
 
Tnaks and Regards,
Sachin Rane

 
> -bash-2.05b# gcc eeprom-client.c
> In file included from /usr/include/asm/div64.h:1,
>                  from /usr/include/linux/jiffies.h:9,
>                  from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from /usr/include/linux/i2c.h:31,
>                  from eeprom-client.c:1:
> /usr/include/asm-generic/div64.h:54:3: #error do_div() does not yet support the C64
> In file included from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from /usr/include/linux/i2c.h:31,
>                  from eeprom-client.c:1:
> /usr/include/linux/jiffies.h:84: error: parse error before "jiffies_64"
> /usr/include/linux/jiffies.h:88: error: parse error before "get_jiffies_64"
> In file included from /usr/include/linux/sched.h:12,
>                  from /usr/include/linux/module.h:10,
>                  from /usr/include/linux/i2c.h:31,
>                  from eeprom-
 
 

________________________________

From: Matthias Fuchs [mailto:matthias.fuchs at esd-electronics.com]
Sent: Thu 9/21/2006 5:13 AM
To: linuxppc-embedded at ozlabs.org
Cc: Sachin Rane
Subject: Re: I2C: Getting Compiation Error for application program



On Wednesday 20 September 2006 14:51, Sachin Rane wrote:
> Hi,
> 
> I am trying to compile simple program (appended), but getting lots of
compilation error.
It's always helpful to see the compiler output. Could you post it?

> I am using Timesys Linux 2.6.13 for ppc440 evaluation board.
> 
> Command used for compilation:
> $> gcc eeprom-client.c -o eeprom-client.o
Are you crosscompiling? Doesn't look like that...
> 
> Could you help me to find out the reason behind getting the errors?
> 
> Regards,
> Sachin Rane
> 
> 
>
8< ------------------------eeprom-client.c -------------------------------------------------------------------------------------
> 
> #include <linux/i2c.h>
> #include <linux/i2c-dev.h>
>
> int main()
> {
>      int file;
>      int adapter_nr = 0; /* probably dynamically determined */
>      char filename[20];
>      int addr = 0xA1; /* The I2C address */
You propably have to use 0x50 here.
>
>     sprintf(filename,"/dev/i2c-%d",adapter_nr);
>     if ((file = open(filename,O_RDWR)) < 0)
>    {
>        exit(1);
>     }
>   
>     if (ioctl(file,I2C_SLAVE,addr) < 0)
>    {
>       exit(1);
>    }
>    else
>   {
>       printf("\n Able to bind the adapter");
>    }
>    return 0;
> }

Matthias


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060921/e193b004/attachment.htm 


More information about the Linuxppc-embedded mailing list