Open joshnatis opened 3 years ago
Running
./configure
works with no errors at firstSo I removed the line that causes the script to exit on failure, 178:
Which one is it? :p
I somehow suspect making required flags unrequired isn't the solution though.
Have you tried the Meson build?
Which compiler are you using, anyway, that doesn't support -Wl,--no-undefined and doesn't support Darwin's -install_name
Which one is it? :p
Lol sorry I can see that's ambiguous now, it was late. Running the script produces no visible errors, most of the printed checks pass and there's no indication that it did not succeed.
Checking for -g... no
Checking for -std=c99... yes
Checking for -pedantic... yes
Checking for -Werror... yes
Checking for -Wundef... yes
Checking for -Wlogical-op... no
Checking for -Wmissing-include-dirs... yes
Checking for -Wold-style-definition... yes
Checking for -Wpointer-arith... yes
Checking for -Winit-self... yes
Checking for -Wfloat-equal... yes
Checking for -Wstrict-prototypes... yes
Checking for -Wredundant-decls... yes
Checking for -Wimplicit-fallthrough=2... no
Checking for -Wendif-labels... yes
Checking for -Wstrict-aliasing=2... yes
Checking for -Woverflow... yes
Checking for -Wformat=2... yes
Checking for -Wno-missing-braces... yes
Checking for -Wno-missing-field-initializers... yes
Checking for -Wno-unused-parameter... yes
Checking for -Wno-unused-result... yes
But, as mentioned, it doesn't produce the necessary files in .build
, so after some debugging I figured out it was silently exiting on line 178.
I somehow suspect making required flags unrequired isn't the solution though.
I don't suspect that either, but I figured that my environment is supposed to be sufficient formrsh
given that it's not heavily modified (essentially a stock Mac OS X with command-line tools installed), and that I saw no previous similar issues listed regarding Mac OS.
Which compiler are you using, anyway
The script asks for cc
, which on my system is:
Apple LLVM version 9.1.0 (clang-902.0.39.1)
Target: x86_64-apple-darwin17.3.0
Thread model: posix
I also tried CC=gcc
, but the same thing happens
edit: just remembered that gcc is just a symlink (or alias, etc) for clang here, so of course it made no difference
Have you tried the Meson build?
I just tried it (after installing meson
and ninja
) and it worked. Could there be a bug in the configure
script?
If it's useful, here's the output of Meson:
The Meson build system
Version: 0.58.0
Source dir: /Users/Josh/mrsh
Build dir: /Users/Josh/mrsh/build
Build type: native build
Project name: mrsh
Project version: 0.0.0
C compiler for the host machine: cc (clang 9.1.0 "Apple LLVM version 9.1.0 (clang-902.0.39.1)")
C linker for the host machine: cc ld64 351.8
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wlogical-op: NO
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wfloat-equal: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wredundant-decls: YES
Compiler for C supports arguments -Wimplicit-fallthrough=2: NO
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wstrict-aliasing=2: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wno-missing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-unused-result: YES
Compiler for C supports arguments -Wno-format-overflow: NO
Library readline found: YES
Checking for function "rl_replace_line" with dependency -lreadline: NO
Checking if "-Wl,--version-script" links: NO
Compiler for C supports link arguments -Wl,-exported_symbols_list /Users/Josh/mrsh/libmrsh.darwin.sym: YES
Program ./harness.sh found: YES (/Users/Josh/mrsh/test/./harness.sh)
Program sh found: YES (/bin/sh)
Program ./harness.sh found: YES (/bin/sh /Users/Josh/mrsh/test/conformance/./harness.sh)
Message:
Features:
readline: true
examples: true
Build targets in project: 3
This hasn’t moved for a while. To go further, here’s what both meson
and ninja
produce on my machine:
$ meson setup --wipe build
The Meson build system
Version: 0.59.1
Source dir: /Users/lambdap/mrsh
Build dir: /Users/lambdap/mrsh/build
Build type: native build
Project name: mrsh
Project version: 0.0.0
C compiler for the host machine: cc (clang 13.0.0 "Apple clang version 13.0.0 (clang-1300.0.29.3)")
C linker for the host machine: cc ld64 711
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wlogical-op: NO
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wfloat-equal: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wredundant-decls: YES
Compiler for C supports arguments -Wimplicit-fallthrough=2: NO
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wstrict-aliasing=2: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wno-missing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-unused-result: YES
Compiler for C supports arguments -Wno-format-overflow: NO
Library readline found: YES
Checking for function "rl_replace_line" with dependency -lreadline: NO
Checking if "-Wl,--version-script" links: NO
Compiler for C supports link arguments -Wl,-exported_symbols_list /Users/lambdap/mrsh/libmrsh.darwin.sym: YES
Program ./harness.sh found: YES (/Users/lambdap/mrsh/test/./harness.sh)
Program sh found: YES (/bin/sh)
Program ./harness.sh found: YES (/bin/sh /Users/lambdap/mrsh/test/conformance/./harness.sh)
Message:
Features:
readline: true
examples: true
Build targets in project: 3
Found ninja-1.10.2 at /usr/local/bin/ninja
and here’s ninja
:
$ ninja --verbose -C build
ninja: Entering directory `build'
[1/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/array.c.o -MF libmrsh.0.dylib.p/array.c.o.d -o libmrsh.0.dylib.p/array.c.o -c ../array.c
[2/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/buffer.c.o -MF libmrsh.0.dylib.p/buffer.c.o.d -o libmrsh.0.dylib.p/buffer.c.o -c ../buffer.c
[3/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/arithm.c.o -MF libmrsh.0.dylib.p/arithm.c.o.d -o libmrsh.0.dylib.p/arithm.c.o -c ../arithm.c
[4/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/ast_print.c.o -MF libmrsh.0.dylib.p/ast_print.c.o.d -o libmrsh.0.dylib.p/ast_print.c.o -c ../ast_print.c
[5/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_alias.c.o -MF libmrsh.0.dylib.p/builtin_alias.c.o.d -o libmrsh.0.dylib.p/builtin_alias.c.o -c ../builtin/alias.c
[6/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_break.c.o -MF libmrsh.0.dylib.p/builtin_break.c.o.d -o libmrsh.0.dylib.p/builtin_break.c.o -c ../builtin/break.c
[7/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_bg.c.o -MF libmrsh.0.dylib.p/builtin_bg.c.o.d -o libmrsh.0.dylib.p/builtin_bg.c.o -c ../builtin/bg.c
[8/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_builtin.c.o -MF libmrsh.0.dylib.p/builtin_builtin.c.o.d -o libmrsh.0.dylib.p/builtin_builtin.c.o -c ../builtin/builtin.c
[9/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_command.c.o -MF libmrsh.0.dylib.p/builtin_command.c.o.d -o libmrsh.0.dylib.p/builtin_command.c.o -c ../builtin/command.c
[10/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_colon.c.o -MF libmrsh.0.dylib.p/builtin_colon.c.o.d -o libmrsh.0.dylib.p/builtin_colon.c.o -c ../builtin/colon.c
[11/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_cd.c.o -MF libmrsh.0.dylib.p/builtin_cd.c.o.d -o libmrsh.0.dylib.p/builtin_cd.c.o -c ../builtin/cd.c
[12/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_eval.c.o -MF libmrsh.0.dylib.p/builtin_eval.c.o.d -o libmrsh.0.dylib.p/builtin_eval.c.o -c ../builtin/eval.c
[13/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_exec.c.o -MF libmrsh.0.dylib.p/builtin_exec.c.o.d -o libmrsh.0.dylib.p/builtin_exec.c.o -c ../builtin/exec.c
[14/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_export.c.o -MF libmrsh.0.dylib.p/builtin_export.c.o.d -o libmrsh.0.dylib.p/builtin_export.c.o -c ../builtin/export.c
[15/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_dot.c.o -MF libmrsh.0.dylib.p/builtin_dot.c.o.d -o libmrsh.0.dylib.p/builtin_dot.c.o -c ../builtin/dot.c
[16/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_fg.c.o -MF libmrsh.0.dylib.p/builtin_fg.c.o.d -o libmrsh.0.dylib.p/builtin_fg.c.o -c ../builtin/fg.c
[17/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_exit.c.o -MF libmrsh.0.dylib.p/builtin_exit.c.o.d -o libmrsh.0.dylib.p/builtin_exit.c.o -c ../builtin/exit.c
[18/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_pwd.c.o -MF libmrsh.0.dylib.p/builtin_pwd.c.o.d -o libmrsh.0.dylib.p/builtin_pwd.c.o -c ../builtin/pwd.c
[19/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_false.c.o -MF libmrsh.0.dylib.p/builtin_false.c.o.d -o libmrsh.0.dylib.p/builtin_false.c.o -c ../builtin/false.c
[20/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_getopts.c.o -MF libmrsh.0.dylib.p/builtin_getopts.c.o.d -o libmrsh.0.dylib.p/builtin_getopts.c.o -c ../builtin/getopts.c
[21/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/ast.c.o -MF libmrsh.0.dylib.p/ast.c.o.d -o libmrsh.0.dylib.p/ast.c.o -c ../ast.c
[22/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_jobs.c.o -MF libmrsh.0.dylib.p/builtin_jobs.c.o.d -o libmrsh.0.dylib.p/builtin_jobs.c.o -c ../builtin/jobs.c
[23/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_hash.c.o -MF libmrsh.0.dylib.p/builtin_hash.c.o.d -o libmrsh.0.dylib.p/builtin_hash.c.o -c ../builtin/hash.c
[24/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_shift.c.o -MF libmrsh.0.dylib.p/builtin_shift.c.o.d -o libmrsh.0.dylib.p/builtin_shift.c.o -c ../builtin/shift.c
[25/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_return.c.o -MF libmrsh.0.dylib.p/builtin_return.c.o.d -o libmrsh.0.dylib.p/builtin_return.c.o -c ../builtin/return.c
[26/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_read.c.o -MF libmrsh.0.dylib.p/builtin_read.c.o.d -o libmrsh.0.dylib.p/builtin_read.c.o -c ../builtin/read.c
[27/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_set.c.o -MF libmrsh.0.dylib.p/builtin_set.c.o.d -o libmrsh.0.dylib.p/builtin_set.c.o -c ../builtin/set.c
[28/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_true.c.o -MF libmrsh.0.dylib.p/builtin_true.c.o.d -o libmrsh.0.dylib.p/builtin_true.c.o -c ../builtin/true.c
[29/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_ulimit.c.o -MF libmrsh.0.dylib.p/builtin_ulimit.c.o.d -o libmrsh.0.dylib.p/builtin_ulimit.c.o -c ../builtin/ulimit.c
[30/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_type.c.o -MF libmrsh.0.dylib.p/builtin_type.c.o.d -o libmrsh.0.dylib.p/builtin_type.c.o -c ../builtin/type.c
[31/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_times.c.o -MF libmrsh.0.dylib.p/builtin_times.c.o.d -o libmrsh.0.dylib.p/builtin_times.c.o -c ../builtin/times.c
[32/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_unalias.c.o -MF libmrsh.0.dylib.p/builtin_unalias.c.o.d -o libmrsh.0.dylib.p/builtin_unalias.c.o -c ../builtin/unalias.c
[33/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_unspecified.c.o -MF libmrsh.0.dylib.p/builtin_unspecified.c.o.d -o libmrsh.0.dylib.p/builtin_unspecified.c.o -c ../builtin/unspecified.c
[34/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_unset.c.o -MF libmrsh.0.dylib.p/builtin_unset.c.o.d -o libmrsh.0.dylib.p/builtin_unset.c.o -c ../builtin/unset.c
[35/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_wait.c.o -MF libmrsh.0.dylib.p/builtin_wait.c.o.d -o libmrsh.0.dylib.p/builtin_wait.c.o -c ../builtin/wait.c
[36/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_trap.c.o -MF libmrsh.0.dylib.p/builtin_trap.c.o.d -o libmrsh.0.dylib.p/builtin_trap.c.o -c ../builtin/trap.c
[37/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/getopt.c.o -MF libmrsh.0.dylib.p/getopt.c.o.d -o libmrsh.0.dylib.p/getopt.c.o -c ../getopt.c
[38/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/hashtable.c.o -MF libmrsh.0.dylib.p/hashtable.c.o.d -o libmrsh.0.dylib.p/hashtable.c.o -c ../hashtable.c
[39/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/builtin_umask.c.o -MF libmrsh.0.dylib.p/builtin_umask.c.o.d -o libmrsh.0.dylib.p/builtin_umask.c.o -c ../builtin/umask.c
[40/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/parser_parser.c.o -MF libmrsh.0.dylib.p/parser_parser.c.o.d -o libmrsh.0.dylib.p/parser_parser.c.o -c ../parser/parser.c
[41/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/parser_arithm.c.o -MF libmrsh.0.dylib.p/parser_arithm.c.o.d -o libmrsh.0.dylib.p/parser_arithm.c.o -c ../parser/arithm.c
[42/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_arithm.c.o -MF libmrsh.0.dylib.p/shell_arithm.c.o.d -o libmrsh.0.dylib.p/shell_arithm.c.o -c ../shell/arithm.c
[43/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_entry.c.o -MF libmrsh.0.dylib.p/shell_entry.c.o.d -o libmrsh.0.dylib.p/shell_entry.c.o -c ../shell/entry.c
[44/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_path.c.o -MF libmrsh.0.dylib.p/shell_path.c.o.d -o libmrsh.0.dylib.p/shell_path.c.o -c ../shell/path.c
[45/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_process.c.o -MF libmrsh.0.dylib.p/shell_process.c.o.d -o libmrsh.0.dylib.p/shell_process.c.o -c ../shell/process.c
[46/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/parser_word.c.o -MF libmrsh.0.dylib.p/parser_word.c.o.d -o libmrsh.0.dylib.p/parser_word.c.o -c ../parser/word.c
[47/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_redir.c.o -MF libmrsh.0.dylib.p/shell_redir.c.o.d -o libmrsh.0.dylib.p/shell_redir.c.o -c ../shell/redir.c
[48/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_job.c.o -MF libmrsh.0.dylib.p/shell_job.c.o.d -o libmrsh.0.dylib.p/shell_job.c.o -c ../shell/job.c
[49/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_shell.c.o -MF libmrsh.0.dylib.p/shell_shell.c.o.d -o libmrsh.0.dylib.p/shell_shell.c.o -c ../shell/shell.c
[50/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_task_pipeline.c.o -MF libmrsh.0.dylib.p/shell_task_pipeline.c.o.d -o libmrsh.0.dylib.p/shell_task_pipeline.c.o -c ../shell/task/pipeline.c
[51/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/parser_program.c.o -MF libmrsh.0.dylib.p/parser_program.c.o.d -o libmrsh.0.dylib.p/parser_program.c.o -c ../parser/program.c
[52/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_task_task.c.o -MF libmrsh.0.dylib.p/shell_task_task.c.o.d -o libmrsh.0.dylib.p/shell_task_task.c.o -c ../shell/task/task.c
[53/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_trap.c.o -MF libmrsh.0.dylib.p/shell_trap.c.o.d -o libmrsh.0.dylib.p/shell_trap.c.o -c ../shell/trap.c
[54/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_task_simple_command.c.o -MF libmrsh.0.dylib.p/shell_task_simple_command.c.o.d -o libmrsh.0.dylib.p/shell_task_simple_command.c.o -c ../shell/task/simple_command.c
[55/63] cc -Imrsh.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ mrsh.p/frontend_readline.c.o -MF mrsh.p/frontend_readline.c.o.d -o mrsh.p/frontend_readline.c.o -c ../frontend/readline.c
[56/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_word.c.o -MF libmrsh.0.dylib.p/shell_word.c.o.d -o libmrsh.0.dylib.p/shell_word.c.o -c ../shell/word.c
[57/63] cc -Imrsh.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ mrsh.p/main.c.o -MF mrsh.p/main.c.o.d -o mrsh.p/main.c.o -c ../main.c
[58/63] cc -Ilibmrsh.0.dylib.p -I. -I.. -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ libmrsh.0.dylib.p/shell_task_word.c.o -MF libmrsh.0.dylib.p/shell_task_word.c.o.d -o libmrsh.0.dylib.p/shell_task_word.c.o -c ../shell/task/word.c
[59/63] cc -o libmrsh.0.dylib libmrsh.0.dylib.p/arithm.c.o libmrsh.0.dylib.p/array.c.o libmrsh.0.dylib.p/ast_print.c.o libmrsh.0.dylib.p/ast.c.o libmrsh.0.dylib.p/buffer.c.o libmrsh.0.dylib.p/builtin_alias.c.o libmrsh.0.dylib.p/builtin_bg.c.o libmrsh.0.dylib.p/builtin_break.c.o libmrsh.0.dylib.p/builtin_builtin.c.o libmrsh.0.dylib.p/builtin_cd.c.o libmrsh.0.dylib.p/builtin_colon.c.o libmrsh.0.dylib.p/builtin_command.c.o libmrsh.0.dylib.p/builtin_dot.c.o libmrsh.0.dylib.p/builtin_eval.c.o libmrsh.0.dylib.p/builtin_exec.c.o libmrsh.0.dylib.p/builtin_exit.c.o libmrsh.0.dylib.p/builtin_export.c.o libmrsh.0.dylib.p/builtin_false.c.o libmrsh.0.dylib.p/builtin_fg.c.o libmrsh.0.dylib.p/builtin_getopts.c.o libmrsh.0.dylib.p/builtin_hash.c.o libmrsh.0.dylib.p/builtin_jobs.c.o libmrsh.0.dylib.p/builtin_pwd.c.o libmrsh.0.dylib.p/builtin_read.c.o libmrsh.0.dylib.p/builtin_return.c.o libmrsh.0.dylib.p/builtin_set.c.o libmrsh.0.dylib.p/builtin_shift.c.o libmrsh.0.dylib.p/builtin_times.c.o libmrsh.0.dylib.p/builtin_trap.c.o libmrsh.0.dylib.p/builtin_true.c.o libmrsh.0.dylib.p/builtin_type.c.o libmrsh.0.dylib.p/builtin_ulimit.c.o libmrsh.0.dylib.p/builtin_umask.c.o libmrsh.0.dylib.p/builtin_unalias.c.o libmrsh.0.dylib.p/builtin_unset.c.o libmrsh.0.dylib.p/builtin_unspecified.c.o libmrsh.0.dylib.p/builtin_wait.c.o libmrsh.0.dylib.p/getopt.c.o libmrsh.0.dylib.p/hashtable.c.o libmrsh.0.dylib.p/parser_arithm.c.o libmrsh.0.dylib.p/parser_parser.c.o libmrsh.0.dylib.p/parser_program.c.o libmrsh.0.dylib.p/parser_word.c.o libmrsh.0.dylib.p/shell_arithm.c.o libmrsh.0.dylib.p/shell_entry.c.o libmrsh.0.dylib.p/shell_job.c.o libmrsh.0.dylib.p/shell_path.c.o libmrsh.0.dylib.p/shell_process.c.o libmrsh.0.dylib.p/shell_redir.c.o libmrsh.0.dylib.p/shell_shell.c.o libmrsh.0.dylib.p/shell_task_pipeline.c.o libmrsh.0.dylib.p/shell_task_simple_command.c.o libmrsh.0.dylib.p/shell_task_task.c.o libmrsh.0.dylib.p/shell_task_word.c.o libmrsh.0.dylib.p/shell_trap.c.o libmrsh.0.dylib.p/shell_word.c.o -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libmrsh.0.dylib -compatibility_version 0 -current_version 0 -Wl,-exported_symbols_list /Users/lambdap/mrsh/libmrsh.darwin.sym
[60/63] cc -Iexample/highlight.p -Iexample -I../example -I../include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c99 -O0 -g -Wundef -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wstrict-prototypes -Wredundant-decls -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wformat=2 -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result -DHAVE_READLINE -MD -MQ example/highlight.p/highlight.c.o -MF example/highlight.p/highlight.c.o.d -o example/highlight.p/highlight.c.o -c ../example/highlight.c
[61/63] /usr/local/Cellar/meson/0.59.1/libexec/bin/meson --internal symbolextractor /Users/lambdap/mrsh/build libmrsh.0.dylib libmrsh.0.dylib libmrsh.0.dylib.p/libmrsh.0.dylib.symbols
[62/63] cc -o mrsh mrsh.p/main.c.o mrsh.p/frontend_readline.c.o -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-rpath,@loader_path/ libmrsh.0.dylib -lreadline
[63/63] cc -o example/highlight example/highlight.p/highlight.c.o -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -Wl,-rpath,@loader_path/.. libmrsh.0.dylib
So the culprit linker options are never actually called, because meson
never outputs them. I don’t know much about linking, especially on macOS, but it seems like my linker wants me to use -undefined error
rather than the --no-undefined
that’s in the ./configure
script (I confirmed that by running ld
with various options). So that’s easy. I’m not sure what to do about --as-needed
, --version-script
and -soname
, which also risk causing errors.
It is to be expected that meson works -- meson internally knows how to handle such options as -Db_asneeded=true -Db_lundef=true
and abstract them into the correct options for a specific compiler.
Seems like the handwritten configure script could be updated to support Darwin better though... I know little to nothing about that toolchain, but:
-install_name @rpath/libmrsh.0.dylib
while the configure script is trying to use -Wl,-install_name,libmrsh.so.0.0.0
which, hmm, seems wrong for a couple reasons -- including the use of .so instead of .dylib||
to attempt Darwin alternatives to the second/third ldflags trials there
Hi,
Running
./configure
works with no errors at first, but runningmake
afterwards yields:(and indeed
.build
only containscheck.c
)So I went searching in the
configure
script for what's going wrong --We never make it past line 204:
test_ldflags
goes through with argument-fPIC
, but the next argument,-Wl,--no-undefined
fails and the script exits (I'm not entirely sure if the arguments are being passed correctly to the function, but this is what's being passed).So I removed the line that causes the script to exit on failure, 178:
And now I get stuck at this error:
Do you have any idea of what's going wrong? Thanks
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17) but I also tried to
sh
it