Make fails - SIG_DFL not defined
[x] I agree that I have searched opened and closed issues to prevent duplicates.
Description
Make fails on filesystem (error.c) - SIG_DFL is not defined
Environment info
- Operating system:
PopOS 19.04
-
uname -a
:Linux pop-os 5.0.0-21-generic #22+system76-Ubuntu SMP Tue Jul 16 19:57:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
-
rustc -V
:rustc 1.38.0-nightly (03f19f7ff 2019-07-24)
-
git rev-parse HEAD
:6d05824d874adb39aea3545ac418b8109b31a788
- All PopOS updates installed, ran
rustup update
andmake clean pull
as specified in the troubleshooting section
Steps to reproduce
- Run the install command as specified on the redoxOS website
Behavior
- Expected behavior: Compile Succeeds, SIG_DFL is found in signal.h
-
Actual behavior:
SIG_DFL says first definition is in
error.c
fusermount -u build/filesystem/ || true
fusermount: entry for /home/raghav/devel/projects/redox/redox/build/filesystem not found in /etc/mtab
rm -rf build/filesystem.bin build/filesystem.bin.partial build/filesystem/
dd if=/dev/zero of=build/filesystem.bin.partial bs=1048576 count="256"
256+0 records in
256+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 0.125915 s, 2.1 GB/s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs-mkfs build/filesystem.bin.partial
Finished release [optimized] target(s) in 0.09s
Running `redoxfs/target/release/redoxfs-mkfs build/filesystem.bin.partial`
redoxfs-mkfs: created filesystem on build/filesystem.bin.partial, reserved 0 blocks, size 268 MB, uuid dd78fcf7-4e4b-461d-a9f5-920281882ea9
mkdir -p build/filesystem/
cargo build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
Finished release [optimized] target(s) in 0.03s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs -- build/filesystem.bin.partial build/filesystem/
Finished release [optimized] target(s) in 0.02s
Running `redoxfs/target/release/redoxfs build/filesystem.bin.partial build/filesystem/`
redoxfs: opening build/filesystem.bin.partial
redoxfs: opened filesystem on build/filesystem.bin.partial with uuid dd78fcf7-4e4b-461d-a9f5-920281882ea9
redoxfs: mounted filesystem on build/filesystem.bin.partial to build/filesystem/
sleep 2
pgrep redoxfs
15410
cp filesystem.toml build/filesystem/filesystem.toml
cp build/bootloader build/filesystem/bootloader
cp build/kernel build/filesystem/kernel
cp -r /home/raghav/devel/projects/redox/redox/prefix/x86_64-unknown-redox/relibc-install/x86_64-unknown-redox/include build/filesystem/include
cp -r /home/raghav/devel/projects/redox/redox/prefix/x86_64-unknown-redox/relibc-install/x86_64-unknown-redox/lib build/filesystem/lib
export PATH="/home/raghav/devel/projects/redox/redox/prefix/x86_64-unknown-redox/relibc-install/bin:$PATH" && \
cargo run --manifest-path installer/Cargo.toml --release -- --cookbook=cookbook -c filesystem.toml build/filesystem/
Finished release [optimized] target(s) in 0.23s
Running `installer/target/release/redox_installer --cookbook=cookbook -c filesystem.toml build/filesystem/`
Install Config {
general: GeneralConfig {
prompt: false,
},
packages: {
"audiod": PackageConfig {
version: None,
git: None,
path: None,
},
"ca-certificates": PackageConfig {
version: None,
git: None,
path: None,
},
"contain": PackageConfig {
version: None,
git: None,
path: None,
},
"coreutils": PackageConfig {
version: None,
git: None,
path: None,
},
"dash": PackageConfig {
version: None,
git: None,
path: None,
},
"drivers": PackageConfig {
version: None,
git: None,
path: None,
},
"extrautils": PackageConfig {
version: None,
git: None,
path: None,
},
"findutils": PackageConfig {
version: None,
git: None,
path: None,
},
"installer": PackageConfig {
version: None,
git: None,
path: None,
},
"ion": PackageConfig {
version: None,
git: None,
path: None,
},
"ipcd": PackageConfig {
version: None,
git: None,
path: None,
},
"logd": PackageConfig {
version: None,
git: None,
path: None,
},
"netdb": PackageConfig {
version: None,
git: None,
path: None,
},
"netstack": PackageConfig {
version: None,
git: None,
path: None,
},
"netsurf": PackageConfig {
version: None,
git: None,
path: None,
},
"netutils": PackageConfig {
version: None,
git: None,
path: None,
},
"orbdata": PackageConfig {
version: None,
git: None,
path: None,
},
"orbital": PackageConfig {
version: None,
git: None,
path: None,
},
"orbterm": PackageConfig {
version: None,
git: None,
path: None,
},
"orbutils": PackageConfig {
version: None,
git: None,
path: None,
},
"pkgutils": PackageConfig {
version: None,
git: None,
path: None,
},
"ptyd": PackageConfig {
version: None,
git: None,
path: None,
},
"redoxfs": PackageConfig {
version: None,
git: None,
path: None,
},
"smith": PackageConfig {
version: None,
git: None,
path: None,
},
"strace": PackageConfig {
version: None,
git: None,
path: None,
},
"userutils": PackageConfig {
version: None,
git: None,
path: None,
},
"uutils": PackageConfig {
version: None,
git: None,
path: None,
},
},
files: [
FileConfig {
path: "/etc/init.d/00_base",
data: "ipcd\nlogd\nptyd\npcid /etc/pcid.d/\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/init.d/10_net",
data: "smolnetd\ndnsd\ndhcpd -b\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/init.d/20_orbital",
data: "audiod\norbital display:3/activate orblogin launcher\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/init.d/30_console",
data: "getty display:2\ngetty debug: -J\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/net/dns",
data: "208.67.222.222\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/net/ip",
data: "10.0.2.15\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/net/ip_router",
data: "10.0.2.2\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/net/ip_subnet",
data: "255.255.255.0\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/net/mac",
data: "54-52-00-ab-cd-ef\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/pkg.d/50_redox",
data: "https://static.redox-os.org/pkg",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/group",
data: "root;0;root\nuser;1000;user\nsudo;1;user\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/hostname",
data: "redox\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/issue",
data: "########## Redox OS ##########\n# Login with the following: #\n# `user` #\n# `root`:`password` #\n##############################\n\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/etc/motd",
data: "Welcome to Redox OS!\n\n",
symlink: false,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/usr/bin",
data: "/bin",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/usr/games",
data: "/games",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/usr/include",
data: "/include",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/usr/lib",
data: "/lib",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/usr/share",
data: "/share",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/tmp",
data: "",
symlink: false,
directory: true,
mode: Some(
1023,
),
uid: None,
gid: None,
},
FileConfig {
path: "/dev/null",
data: "null:",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/dev/random",
data: "rand:",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/dev/urandom",
data: "rand:",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
FileConfig {
path: "/dev/zero",
data: "zero:",
symlink: true,
directory: false,
mode: None,
uid: None,
gid: None,
},
],
users: {
"root": UserConfig {
password: Some(
"password",
),
uid: Some(
0,
),
gid: Some(
0,
),
name: Some(
"root",
),
home: Some(
"/root",
),
shell: None,
},
"user": UserConfig {
password: Some(
"",
),
uid: None,
gid: None,
name: None,
home: None,
shell: None,
},
},
} to build/filesystem/
repo - audiod up to date
repo - ca-certificates up to date
repo - contain up to date
repo - coreutils up to date
repo - building dash
cook - dash build
src/Makefile.am:21: warning: source file 'bltin/printf.c' is in a subdirectory,
src/Makefile.am:21: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
src/Makefile.am:21: warning: source file 'bltin/test.c' is in a subdirectory,
src/Makefile.am:21: but option 'subdir-objects' is disabled
src/Makefile.am:21: warning: source file 'bltin/times.c' is in a subdirectory,
src/Makefile.am:21: but option 'subdir-objects' is disabled
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-unknown-redox-strip... x86_64-unknown-redox-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for x86_64-unknown-redox-gcc... x86_64-unknown-redox-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-unknown-redox-gcc accepts -g... yes
checking for x86_64-unknown-redox-gcc option to accept ISO C89... none needed
checking whether x86_64-unknown-redox-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-unknown-redox-gcc... gcc3
checking how to run the C preprocessor... x86_64-unknown-redox-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for bison... bison -y
checking for build system compiler... cc
checking for __attribute__((__alias__()))... yes
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking paths.h usability... no
checking paths.h presence... no
checking for paths.h... no
checking whether _PATH_BSHELL is declared... no
checking whether _PATH_DEVNULL is declared... no
checking whether _PATH_TTY is declared... no
checking whether isblank is declared... yes
checking size of intmax_t... 8
checking size of long long int... 8
checking whether PRIdMAX is declared... yes
checking for bsearch... yes
checking for faccessat... no
checking for getpwnam... yes
checking for getrlimit... no
checking for isalpha... yes
checking for killpg... yes
checking for mempcpy... no
checking for sigsetmask... no
checking for stpcpy... no
checking for strchrnul... no
checking for strsignal... yes
checking for strtod... yes
checking for strtoimax... yes
checking for strtoumax... yes
checking for sysconf... yes
checking for signal... yes
checking for stat64... no
checking for open64... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make[1]: Entering directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build'
make all-recursive
make[2]: Entering directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build'
Making all in src
make[3]: Entering directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build/src'
make all-am
make[4]: Entering directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build/src'
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT error.o -MD -MP -MF .deps/error.Tpo -c -o error.o error.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT mystring.o -MD -MP -MF .deps/mystring.Tpo -c -o mystring.o mystring.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT options.o -MD -MP -MF .deps/options.Tpo -c -o options.o options.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT parser.o -MD -MP -MF .deps/parser.Tpo -c -o parser.o parser.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT redir.o -MD -MP -MF .deps/redir.Tpo -c -o redir.o redir.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT show.o -MD -MP -MF .deps/show.Tpo -c -o show.o show.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT trap.o -MD -MP -MF .deps/trap.Tpo -c -o trap.o trap.c
x86_64-unknown-redox-gcc -DHAVE_CONFIG_H -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT output.o -MD -MP -MF .deps/output.Tpo -c -o output.o output.c
error.c: In function 'onint':
error.c:105:18: error: 'SIG_DFL' undeclared (first use in this function); did you mean 'SIGKILL'?
signal(SIGINT, SIG_DFL);
^~~~~~~
SIGKILL
error.c:105:18: note: each undeclared identifier is reported only once for each function it appears in
error.c: In function 'exraise':
error.c:88:1: warning: 'noreturn' function does return
}
^
make[4]: *** [Makefile:472: error.o] Error 1
make[4]: *** Waiting for unfinished jobs....
trap.c: In function 'ignoresig':
trap.c:275:17: error: 'SIG_IGN' undeclared (first use in this function); did you mean 'S_IGN'?
signal(signo, SIG_IGN);
^~~~~~~
S_IGN
trap.c:275:17: note: each undeclared identifier is reported only once for each function it appears in
redir.c: In function 'openhere':
redir.c:319:18: error: 'SIG_IGN' undeclared (first use in this function); did you mean 'SIGTTIN'?
signal(SIGINT, SIG_IGN);
^~~~~~~
SIGTTIN
redir.c:319:18: note: each undeclared identifier is reported only once for each function it appears in
redir.c:325:19: error: 'SIG_DFL' undeclared (first use in this function); did you mean 'SIGKILL'?
signal(SIGPIPE, SIG_DFL);
^~~~~~~
SIGKILL
mv -f .deps/show.Tpo .deps/show.Po
make[4]: *** [Makefile:473: trap.o] Error 1
make[4]: *** [Makefile:473: redir.o] Error 1
mv -f .deps/mystring.Tpo .deps/mystring.Po
mv -f .deps/output.Tpo .deps/output.Po
mv -f .deps/options.Tpo .deps/options.Po
mv -f .deps/parser.Tpo .deps/parser.Po
make[4]: Leaving directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build/src'
make[3]: *** [Makefile:351: all] Error 2
make[3]: Leaving directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build/src'
make[2]: *** [Makefile:354: all-recursive] Error 1
make[2]: Leaving directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build'
make[1]: *** [Makefile:295: all] Error 2
make[1]: Leaving directory '/home/raghav/devel/projects/redox/redox/cookbook/recipes/dash/build'
./repo.sh failed.make: *** [mk/filesystem.mk:16: build/filesystem.bin] Error 1
- Proposed solution: Is the header properly defined?