Ubuntu

Stdio.h not found

Reported by raketenman on 2011-05-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
arduino (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: arduino

on compiling the following error is reported
error: Stdio.h: No such file or directory
i did a bit byte of research and this bug was previously solved by installing avr-libc & gcc-avr
but those two are already installed.

Thanks for the report:

Has the ubuntu arduino package ever worked (or is this a new install)?
I haven't seen that problem before, and it hasn't been reported
before, so it may be a configuration issue.

Have you installed arduino from arduino.cc and then installed arduino
from ubuntu? If so, your machine might be confused as to where to look
for headers.

raketenman (sesselastronaut) wrote :

this is linux specific - tried it on a windows machine as well as OSX & there it works.
finally i solved it renaming
#include <Stdio.h>
to
#include <stdio.h>

Scott Howard (showard314) wrote :

Thanks for checking. Paul Stoggregen figured it out, see his response below

On Tue, May 3, 2011 at 11:09 AM, Paul Stoffregen <email address hidden> wrote:
> The letter S is capitalized in the error message below. Perhaps someone is
> trying to compile code developed on windows, where the author incorrectly
> wrote "#include <Stdio.h>", rather that "#include <stdio.h>"? Such code
> would compile on windows due to its case insensitive filenames, but fail on
> linux where the entire filename must be lowercase.

the file name is stdio.h, the capital S would be a typo in the sketch.

Changed in arduino (Ubuntu):
status: New → Invalid

The the code that identifies S files is case sensitive, and won't
picked up s files if the wrong case is used. I believe they have to be
upper case S.

--Rick

On Tue, May 3, 2011 at 2:10 PM, Scott Howard <email address hidden> wrote:
> Thanks for checking. Paul Stoggregen figured it out, see his response
> below
>
> On Tue, May 3, 2011 at 11:09 AM, Paul Stoffregen <email address hidden> wrote:
>> The letter S is capitalized in the error message below.  Perhaps someone is
>> trying to compile code developed on windows, where the author incorrectly
>> wrote "#include <Stdio.h>", rather that "#include <stdio.h>"?  Such code
>> would compile on windows due to its case insensitive filenames, but fail on
>> linux where the entire filename must be lowercase.
>
> the file name is stdio.h, the capital S would be a typo in the sketch.
>
> ** Changed in: arduino (Ubuntu)
>       Status: New => Invalid
>
> --
> You received this bug notification because you are a member of Arduino
> on Ubuntu Packagers, which is subscribed to arduino in Ubuntu.
> https://bugs.launchpad.net/bugs/776353
>
> Title:
>  Stdio.h not found
>
> Status in “arduino” package in Ubuntu:
>  Invalid
>
> Bug description:
>  Binary package hint: arduino
>
>  on compiling the following error is reported
>  error: Stdio.h: No such file or directory
>  i did a bit byte of research and this bug was previously solved by installing avr-libc & gcc-avr
>  but those two are already installed.
>
> _______________________________________________
> Developers mailing list
> <email address hidden>
> http://arduino.cc/mailman/listinfo/developers_arduino.cc
>

--
President
Fair Use Building and Research (FUBAR) Labs
http://fubarlabs.org

kiilo (kiilo.org) wrote :

no ist lowercase,

on ubuntu its here:

/usr/lib/avr/include/stdio.h

--kiilo

ricklon (rick-rickanderson) wrote :

Maybe, I misunderstood problem. gcc is fine.

But when Arduino compiles S files it looks for files with capital S.
Luckily, Arduino/hardware/arduino/cores/arduino doesn't have any S
files.

Other toolchains need S files in that directory.

--Rick

On Tue, May 3, 2011 at 6:37 PM, William "Chops" Westfield
<email address hidden> wrote:
>
> On May 3, 2011, at 11:39 AM, Rick Anderson wrote:
>
>> The the code that identifies S files is case sensitive, and won't
>> picked up s files if the wrong case is used. I believe they have to be
>> upper case S.
>
> Which file actually causes the error?
>
> I'm pretty sure that there is no "Stdio.h" (with the capital S)
> There is a different issues for asm file ("foo.s" vs "foo.S")
>
> Windows and linux are both case sensitive these days.  It's the
> Mac that is case-preserving but not case-sensitive.  A file that
> includes "Stdio.h" will compile fine on a mac, but it will actually
> grab "stdio.h":
>
>> gcc -E foo.c | less
>>
>> # 1 "foo.c"
>> # 1 "<built-in>"
>> # 1 "<command line>"
>> # 1 "foo.c"
>> # 1 "/usr/include/Stdio.h" 1 3 4
>> # 64 "/usr/include/Stdio.h" 3 4
>>
>> BillW-MacOSX> ll /usr/include/*dio.h
>> -rw-r--r--  1 wheel   5783 Feb 19  2008 /usr/include/fcgi_stdio.h
>> -r--r--r--  1 wheel  15645 Feb 19  2008 /usr/include/stdio.h
>>
>
>

--
President
Fair Use Building and Research (FUBAR) Labs
http://fubarlabs.org

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers