Skip to content

Instantly share code, notes, and snippets.

@jamie
Created September 21, 2010 15:17
Show Gist options
  • Select an option

  • Save jamie/589836 to your computer and use it in GitHub Desktop.

Select an option

Save jamie/589836 to your computer and use it in GitHub Desktop.
errors installing mkvtoolnix under fish
jamie@papa ~> brew install mkvtoolnix
==> Downloading http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-4.3.0.tar.bz2
File already downloaded and cached to /Volumes/Users/jamie/Library/Caches/Homebrew
==> ./configure --disable-debug --prefix=/usr/local/Cellar/mkvtoolnix/4.3.0 --with-boost-libdir=/usr/local/lib --with-boost-regex=boost_regex-mt
==> ./drake -j8
==> ./drake install
./rake.d/helpers.rb:84: warning: default `to_a' will be obsolete
(in /private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0)
/usr/local/bin/fish ./mkinstalldirs /usr/local/Cellar/mkvtoolnix/4.3.0/bin
fish: The '$' begins a variable name. It was given at the end of an argument. Variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 14): while test $# -gt 0 ; do
^
fish: 'case' builtin not inside of switch block
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 15): case "${1}" in
^
case ‐ conditionally execute a block of commands
Synopsis
switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end
Description
The switch statement is used to perform one of several blocks of
commands depending on whether a specified value equals one of several
wildcarded values. The case statement is used together with the switch
statement in order to determine which block should be performed.
Each case command is given one or more parameter. The first case
command with a parameter that matches the string specified in the
switch command will be evaluated. case parameters may contain
wildcards. These need to be escaped or quoted in order to avoid regular
wildcard expansion using filenames.
Note that fish does not fall through on case statements. Though the
syntax may look a bit like C switch statements, it behaves more like
the case statements of traditional shells.
Also note that command substitutions in a case statement will be
evaluated even if it’s body is not taken. This may seem
counterintuitive at first, but it is unavoidable, since it would be
impossible to know if a case command will evaluate to true before all
forms of parameter expansion have been performed for the case command.
Example
If the variable $animal contains the name of an animal, the following
code would attempt to classify it:
switch $animal
case cat
echo evil
case wolf dog human moose dolphin whale
echo mammal
case duck goose albatross
echo bird
case shark trout stingray
echo fish
case ’*’
echo I have no idea what a $animal is
end
If the above code was run with $animal set to whale, the output would
be mammal.
fish: The '$' character begins a variable name. The character '{', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 15): case "${1}" in
^
fish: Illegal command name '--h*'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 16): -h | --help | --h* ) # -h for help
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 16): -h | --help | --h* ) # -h for help
^
fish: The '$' character begins a variable name. The character '{', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 17): echo "${usage}" 1>&2; exit 0 ;;
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 18): -m ) # -m PERM arg
^
fish: The '$' begins a variable name. It was given at the end of an argument. Variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 20): test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 23): -- ) shift; break ;; # stop option processing
^
fish: Loop control command while not inside of loop
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 23): -- ) shift; break ;; # stop option processing
^
fish: Illegal command name '-*'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 24): -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 24): -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
^
fish: The '$' character begins a variable name. The character '{', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 24): -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
^
fish: Illegal command name '*'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 25): * ) break ;; # first non-opt arg
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 25): * ) break ;; # first non-opt arg
^
fish: for: Expected at least two arguments, got 1
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 29): for file
^
fish: 'case' builtin not inside of switch block
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 38): case $# in
^
case ‐ conditionally execute a block of commands
Synopsis
switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end
Description
The switch statement is used to perform one of several blocks of
commands depending on whether a specified value equals one of several
wildcarded values. The case statement is used together with the switch
statement in order to determine which block should be performed.
Each case command is given one or more parameter. The first case
command with a parameter that matches the string specified in the
switch command will be evaluated. case parameters may contain
wildcards. These need to be escaped or quoted in order to avoid regular
wildcard expansion using filenames.
Note that fish does not fall through on case statements. Though the
syntax may look a bit like C switch statements, it behaves more like
the case statements of traditional shells.
Also note that command substitutions in a case statement will be
evaluated even if it’s body is not taken. This may seem
counterintuitive at first, but it is unavoidable, since it would be
impossible to know if a case command will evaluate to true before all
forms of parameter expansion have been performed for the case command.
Example
If the variable $animal contains the name of an animal, the following
code would attempt to classify it:
switch $animal
case cat
echo evil
case wolf dog human moose dolphin whale
echo mammal
case duck goose albatross
echo bird
case shark trout stingray
echo fish
case ’*’
echo I have no idea what a $animal is
end
If the above code was run with $animal set to whale, the output would
be mammal.
fish: The '$' begins a variable name. It was given at the end of an argument. Variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 38): case $# in
^
fish: Illegal command name '0)'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 39): 0) exit 0 ;;
^
fish: 'case' builtin not inside of switch block
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 42): case $dirmode in
^
case ‐ conditionally execute a block of commands
Synopsis
switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end
Description
The switch statement is used to perform one of several blocks of
commands depending on whether a specified value equals one of several
wildcarded values. The case statement is used together with the switch
statement in order to determine which block should be performed.
Each case command is given one or more parameter. The first case
command with a parameter that matches the string specified in the
switch command will be evaluated. case parameters may contain
wildcards. These need to be escaped or quoted in order to avoid regular
wildcard expansion using filenames.
Note that fish does not fall through on case statements. Though the
syntax may look a bit like C switch statements, it behaves more like
the case statements of traditional shells.
Also note that command substitutions in a case statement will be
evaluated even if it’s body is not taken. This may seem
counterintuitive at first, but it is unavoidable, since it would be
impossible to know if a case command will evaluate to true before all
forms of parameter expansion have been performed for the case command.
Example
If the variable $animal contains the name of an animal, the following
code would attempt to classify it:
switch $animal
case cat
echo evil
case wolf dog human moose dolphin whale
echo mammal
case duck goose albatross
echo bird
case shark trout stingray
echo fish
case ’*’
echo I have no idea what a $animal is
end
If the above code was run with $animal set to whale, the output would
be mammal.
fish: Illegal command name ''')'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 43): '')
^
fish: The '$' character begins a variable name. The character '*', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 45): echo "mkdir -p -- $*"
^
fish: The '$' character begins a variable name. The character '@', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 46): exec mkdir -p -- "$@"
^
fish: Illegal command name '*)'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 48): *)
^
fish: The '$' character begins a variable name. The character '*', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 50): echo "mkdir -m $dirmode -p -- $*"
^
fish: The '$' character begins a variable name. The character '@', which directly followed a '$', is not allowed as a part of a variable name, and variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 51): exec mkdir -m "$dirmode" -p -- "$@"
^
fish: for: Expected at least two arguments, got 1
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 55): for file
^
fish: for: Expected at least two arguments, got 1
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 61): for d
^
fish: 'case' builtin not inside of switch block
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 64): case "$pathcomp" in
^
case ‐ conditionally execute a block of commands
Synopsis
switch VALUE; [case [WILDCARD...]; [COMMANDS...]; ...] end
Description
The switch statement is used to perform one of several blocks of
commands depending on whether a specified value equals one of several
wildcarded values. The case statement is used together with the switch
statement in order to determine which block should be performed.
Each case command is given one or more parameter. The first case
command with a parameter that matches the string specified in the
switch command will be evaluated. case parameters may contain
wildcards. These need to be escaped or quoted in order to avoid regular
wildcard expansion using filenames.
Note that fish does not fall through on case statements. Though the
syntax may look a bit like C switch statements, it behaves more like
the case statements of traditional shells.
Also note that command substitutions in a case statement will be
evaluated even if it’s body is not taken. This may seem
counterintuitive at first, but it is unavoidable, since it would be
impossible to know if a case command will evaluate to true before all
forms of parameter expansion have been performed for the case command.
Example
If the variable $animal contains the name of an animal, the following
code would attempt to classify it:
switch $animal
case cat
echo evil
case wolf dog human moose dolphin whale
echo mammal
case duck goose albatross
echo bird
case shark trout stingray
echo fish
case ’*’
echo I have no idea what a $animal is
end
If the above code was run with $animal set to whale, the output would
be mammal.
fish: Illegal command name '-*'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 65): -* ) pathcomp=./$pathcomp ;;
^
fish: Mismatched parans
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 65): -* ) pathcomp=./$pathcomp ;;
^
fish: Expected a command name, got token of type 'Pipe'. Did you mean 'COMMAND; or COMMAND'? See the help section for the 'or' builtin command by typing 'help or'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 71): mkdir "$pathcomp" || lasterr=$?
^
fish: Illegal command name 'lasterr=$?'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 71): mkdir "$pathcomp" || lasterr=$?
^
fish: Expected a command name, got token of type 'Pipe'. Did you mean 'COMMAND; or COMMAND'? See the help section for the 'or' builtin command by typing 'help or'.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 80): chmod "$dirmode" "$pathcomp" || lasterr=$?
^
fish: Illegal command name 'lasterr=$?'
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 80): chmod "$dirmode" "$pathcomp" || lasterr=$?
^
fish: Could not locate end of block. The 'end' command is missing, misspelled or a ';' is missing.
/private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs (line 82): if test ! -z "$lasterr"; then
^
if ‐ conditionally execute a command
Synopsis
if CONDITION; COMMANDS_TRUE...; [else; COMMANDS_FALSE...;] end
Description
if will execute the command CONDITION. If the condition’s exit status
is 0, the commands COMMANDS_TRUE will execute. If the exit status is
not 0 and else is given, COMMANDS_FALSE will be executed.
In order to use the exit status of multiple commands as the condition
of an if block, use begin; ...; end and the short circuit commands and
and or.
The exit status of the last foreground command to exit can always be
accessed using the $status variable.
Example
if test ‐f foo.txt
echo foo.txt exists
else
echo foo.txt does not exist
end
will print foo.txt exists if the file foo.txt exists and is a regular
file, otherwise it will print foo.txt does not exist.
fish: Error while reading file /private/tmp/homebrew-mkvtoolnix-4.3.0-55Uz/mkvtoolnix-4.3.0/mkinstalldirs
Exit status: 127
http://github.com/mxcl/homebrew/blob/master/Library/Formula/mkvtoolnix.rb#L20
==> Environment
HOMEBREW_VERSION: 0.7
HEAD: aee2d390d24a4a75a7b570479bd6fe941c77810b
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_LIBRARY_PATH: /usr/local/Library/Homebrew
Hardware: 8-core 64-bit nehalem
OS X: 10.6.4
Kernel Architecture: i386
Ruby: 1.8.7-174
/usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
GCC-4.0: build 5494
GCC-4.2: build 5664
LLVM: build 2326
MacPorts or Fink? false
X11 installed? true
==> Build Flags
CC: /usr/bin/cc => /usr/bin/gcc-4.2
CXX: /usr/bin/c++ => /usr/bin/c++-4.2
LD: /usr/bin/cc => /usr/bin/gcc-4.2
CFLAGS: -O3 -march=core2 -msse4 -w -pipe
CXXFLAGS: -O3 -march=core2 -msse4 -w -pipe
MAKEFLAGS: -j8
Error: Failure while executing: ./drake install
Please report this bug at http://github.com/mxcl/homebrew/issues
Also try:
`brew doctor` to check your setup for common problems.
`brew missing` to check installed packages for missing deps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment