Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
cookbook
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • redox-os
  • cookbook
  • Issues
  • #101

Closed
Open
Opened Nov 15, 2017 by Jeremy Soller@jackpot51Owner

Missing header files while trying to "cook" ssh

Created by: AgustinCB

I followed the steps in the README and the book.

Although I was able to compile most of the projects in the cookbook with little problem, ssh is failing with the following error:

make[1]: Entering directory '/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/openbsd-compat'
x86_64-unknown-redox-gcc -g -O2 -pipe -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset   -I. -I.. -I. -I./.. -I/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/../sysroot/include -DHAVE_CONFIG_H -c arc4random.c
In file included from ../openbsd-compat/getrrsetbyname.h:59:0,
                 from ../openbsd-compat/openbsd-compat.h:44,
                 from ../includes.h:174,
                 from arc4random.c:27:
/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/../sysroot/include/resolv.h:168:26: error: array type has incomplete element type 'struct sockaddr_storage'
  struct sockaddr_storage nsaddr_list[MAXNS];
                          ^~~~~~~~~~~
/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/../sysroot/include/resolv.h:173:20: error: field 'in6a' has incomplete type
    struct in6_addr in6a;
                    ^~~~
In file included from ../openbsd-compat/openbsd-compat.h:175:0,
                 from ../includes.h:174,
                 from arc4random.c:27:
/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/../sysroot/include/sys/uio.h:23:10: fatal error: bits/types/struct_iovec.h: No such file or directory
 #include <bits/types/struct_iovec.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:26: arc4random.o] Error 1
make[1]: Leaving directory '/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/openbsd-compat'
make: *** [Makefile:156: openbsd-compat/libopenbsd-compat.a] Error 2

I tried to debug a little bit with no result. One of the things I noticed is that the ssh recipe builds its own newlib in a way to doesn't seem different from what the newlib recipe does (other than having a different repository). I tried commenting that step and putting newlib as a dependency instead and failed with a different error:

make[1]: Entering directory '/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/openbsd-compat'
x86_64-unknown-redox-gcc -g -O2 -pipe -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset   -I. -I.. -I. -I./.. -I/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/../sysroot/include -DHAVE_CONFIG_H -c arc4random.c
In file included from ../openbsd-compat/openbsd-compat.h:44:0,
                 from ../includes.h:174,
                 from arc4random.c:27:
../openbsd-compat/getrrsetbyname.h:59:10: fatal error: resolv.h: No such file or directory
 #include <resolv.h>
          ^~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:26: arc4random.o] Error 1
make[1]: Leaving directory '/mnt/data/redox_playground/redox/cookbook/recipes/ssh/build/openbsd-compat'
make: *** [Makefile:156: openbsd-compat/libopenbsd-compat.a] Error 2
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: redox-os/cookbook#101