Do you enable DEFAULT_SMALL? If so, you have to enable CONFIG_FILE_STREAM
in defconfig explicitly.

On Tue, Aug 29, 2023 at 6:11 AM Bert Voldenuit <bertvolden...@gmail.com>
wrote:

> Hello,
>
> I am trying to run the serialrx app (out of the box) from the examples, but
> i get the following errors:
>
> - Some warnings because of conversion; no big deal
> - undefined reference to standard librarie function like: fprintf,
> lib_get_stream, fflush; I think this is the main problem but why?
>
> bert@DESKTOP-UO6EU0I:/mnt/d/BertDocs/nuttxspace12/nuttx$ make
> Create version.h
> LN: platform/board to /mnt/d/BertDocs/nuttxspace12/apps/platform/dummy
> Register: custom_hello
> Register: serialrx
> Register: nsh
> Register: sh
> CC:  serialrx_main.c serialrx_main.c: In function 'serialrx_main':
> serialrx_main.c:83:15: warning: passing argument 1 of 'fprintf' makes
> pointer from integer without a cast [-Wint-conversion]
>    83 |       fprintf(stderr, "Usage: %s [devpath]\n", argv[0]);
>       |               ^~~~~~
>       |               |
>       |               int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:147:26: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   147 | int    fprintf(FAR FILE *stream, FAR const IPTR char *format, ...)
>       |                    ~~~~~~^~~~~~
> serialrx_main.c:95:15: warning: passing argument 1 of 'fprintf' makes
> pointer from integer without a cast [-Wint-conversion]
>    95 |       fprintf(stderr, "ERROR: malloc failed: %d\n", errno);
>       |               ^~~~~~
>       |               |
>       |               int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:147:26: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   147 | int    fprintf(FAR FILE *stream, FAR const IPTR char *format, ...)
>       |                    ~~~~~~^~~~~~
> serialrx_main.c:110:15: warning: passing argument 1 of 'fprintf' makes
> pointer from integer without a cast [-Wint-conversion]
>   110 |       fprintf(stderr, "ERROR: open failed: %d\n", errno);
>       |               ^~~~~~
>       |               |
>       |               int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:147:26: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   147 | int    fprintf(FAR FILE *stream, FAR const IPTR char *format, ...)
>       |                    ~~~~~~^~~~~~
> serialrx_main.c:116:10: warning: passing argument 1 of 'fflush' makes
> pointer from integer without a cast [-Wint-conversion]
>   116 |   fflush(stdout);
>       |          ^~~~~~
>       |          |
>       |          int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:139:25: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   139 | int    fflush(FAR FILE *stream);
>       |                   ~~~~~~^~~~~~
> serialrx_main.c:143:18: warning: passing argument 1 of 'fflush' makes
> pointer from integer without a cast [-Wint-conversion]
>   143 |           fflush(stdout);
>       |                  ^~~~~~
>       |                  |
>       |                  int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:139:25: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   139 | int    fflush(FAR FILE *stream);
>       |                   ~~~~~~^~~~~~
> serialrx_main.c:153:22: warning: passing argument 1 of 'fflush' makes
> pointer from integer without a cast [-Wint-conversion]
>   153 |               fflush(stdout);
>       |                      ^~~~~~
>       |                      |
>       |                      int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:139:25: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   139 | int    fflush(FAR FILE *stream);
>       |                   ~~~~~~^~~~~~
> serialrx_main.c:182:10: warning: passing argument 1 of 'fflush' makes
> pointer from integer without a cast [-Wint-conversion]
>   182 |   fflush(stdout);
>       |          ^~~~~~
>       |          |
>       |          int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:139:25: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   139 | int    fflush(FAR FILE *stream);
>       |                   ~~~~~~^~~~~~
> serialrx_main.c:198:10: warning: passing argument 1 of 'fflush' makes
> pointer from integer without a cast [-Wint-conversion]
>   198 |   fflush(stderr);
>       |          ^~~~~~
>       |          |
>       |          int
> In file included from serialrx_main.c:31:
> /mnt/d/BertDocs/nuttxspace12/nuttx/include/stdio.h:139:25: note: expected
> 'FILE *' {aka 'struct file_struct *'} but argument is of type 'int'
>   139 | int    fflush(FAR FILE *stream);
>       |                   ~~~~~~^~~~~~
> LD: nuttx
> arm-none-eabi-ld:
>
> /mnt/d/BertDocs/nuttxspace12/nuttx/staging/libapps.a(serialrx_main.c.mnt.d.BertDocs.nuttxspace12.apps.examples.serialrx.o):
> in function `serialrx_main':
> serialrx_main.c:(.text.serialrx_main+0x34): undefined reference to
> `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x48): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x50): undefined
> reference to `fprintf'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x56): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x5a): undefined
> reference to `fflush'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x74): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x84): undefined
> reference to `fprintf'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x9c): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0xa0): undefined
> reference to `fflush'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0xc2): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0xc6): undefined
> reference to `fflush'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x10c): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x110): undefined
> reference to `fflush'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x12a): undefined
> reference to `lib_get_stream'
> arm-none-eabi-ld: serialrx_main.c:(.text.serialrx_main+0x12e): undefined
> reference to `fflush'
> make[1]: *** [Makefile:197: nuttx] Error 1
> make: *** [tools/Unix.mk:537: nuttx] Error 2
>
> Regards,
> Bertrand.
>

Reply via email to