Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)
https://brew.sh
26.97k stars 11.34k forks source link

installing mtr fails at gdk-pixbuf dep because of glib-mkenums non-existent interpreter #7400

Closed oppiansteve closed 12 years ago

oppiansteve commented 13 years ago

The listed interpreter in /usr/local/bin/glib-mkenums is "#! /opt/local/bin/perl5" and this seemed to allow mtr to be built, but the command doesn't work.

The original log before my symlink:

So I created /opt/local/bin and symlinked perl5 in that directory to ==> Installing mtr dependency: gdk-pixbuf ==> Downloading http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.23/gdk-pixbuf-2.23.5.tar.bz2 File already downloaded in /Users/steve/Library/Caches/Homebrew /usr/bin/tar xf /Users/steve/Library/Caches/Homebrew/gdk-pixbuf-2.23.5.tar.bz2 ==> ./configure --disable-debug --disable-dependency-tracking --prefix=/usr/local/Cellar/gdk-pixbuf/2.23.5 --with-libjasper --enable-introspection=no ./configure --disable-debug --disable-dependency-tracking --prefix=/usr/local/Cellar/gdk-pixbuf/2.23.5 --with-libjasper --enable-introspection=no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... gnutar checking whether to disable maintainer-specific portions of Makefiles... yes checking for gcc... /usr/bin/llvm-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... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /usr/bin/llvm-gcc accepts -g... yes checking for /usr/bin/llvm-gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of /usr/bin/llvm-gcc... none checking whether /usr/bin/llvm-gcc and cc understand -c and -o together... yes checking for /usr/bin/llvm-gcc option to accept ISO C99... -std=gnu99 checking for /usr/bin/llvm-gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking whether make sets $(MAKE)... (cached) yes checking for pkg-config... /usr/local/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking build system type... x86_64-apple-darwin11.1.0 checking host system type... x86_64-apple-darwin11.1.0 checking for native Win32... no checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by /usr/bin/llvm-gcc -std=gnu99... /usr/bin/llvm-gcc checking if the linker (/usr/bin/llvm-gcc) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm checking the name lister (/usr/bin/nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 196608 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert x86_64-apple-darwin11.1.0 file names to x86_64-apple-darwin11.1.0 format... func_convert_file_noop checking how to convert x86_64-apple-darwin11.1.0 file names to toolchain format... func_convert_file_noop checking for /usr/bin/llvm-gcc option to reload object files... -r checking for objdump... no checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm output from /usr/bin/llvm-gcc -std=gnu99 object... ok checking for sysroot... no checking for mt... no checking if : is a manifest tool... no checking for dsymutil... dsymutil checking for nmedit... nmedit checking for lipo... lipo checking for otool... otool checking for otool64... no checking for -single_module linker flag... yes checking for -exported_symbols_list linker flag... yes checking for -force_load linker flag... yes checking how to run the C preprocessor... /usr/bin/llvm-gcc -std=gnu99 -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 for dlfcn.h... yes checking for objdir... .libs checking if /usr/bin/llvm-gcc -std=gnu99 supports -fno-rtti -fno-exceptions... yes checking for /usr/bin/llvm-gcc -std=gnu99 option to produce PIC... -fno-common -DPIC checking if /usr/bin/llvm-gcc -std=gnu99 PIC flag -fno-common -DPIC works... yes checking if /usr/bin/llvm-gcc -std=gnu99 static flag -static works... no checking if /usr/bin/llvm-gcc -std=gnu99 supports -c -o file.o... yes checking if /usr/bin/llvm-gcc -std=gnu99 supports -c -o file.o... (cached) yes checking whether the /usr/bin/llvm-gcc -std=gnu99 linker (/usr/bin/llvm-gcc) supports shared libraries... yes checking dynamic linker characteristics... darwin11.1.0 dyld checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating ./config.lt config.lt: creating libtool checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking dependency style of /usr/bin/llvm-gcc -std=gnu99... none checking for nm... /usr/bin/nm checking for some Win32 platform... no checking whether build environment is sane... yes checking for BASE_DEPENDENCIES... yes checking Whether to write dependencies into .pc files... no checking for perl5... no checking for perl... /usr/bin/perl checking for sigsetjmp... yes checking whether NLS is requested... yes checking for msgfmt... /usr/local/Cellar/gettext/0.18.1.1/bin/msgfmt checking for gmsgfmt... /usr/local/Cellar/gettext/0.18.1.1/bin/msgfmt checking for xgettext... /usr/local/Cellar/gettext/0.18.1.1/bin/xgettext checking for msgmerge... /usr/local/Cellar/gettext/0.18.1.1/bin/msgmerge checking for ld used by GCC... /usr/bin/llvm-gcc checking if the linker (/usr/bin/llvm-gcc) is GNU ld... no checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... yes checking for CFLocaleCopyCurrent... yes checking for GNU gettext in libc... no checking for iconv... yes checking for working iconv... yes checking how to link with libiconv... -liconv checking for GNU gettext in libintl... yes checking whether to use NLS... yes checking where the gettext function comes from... external libintl checking how to link with libintl... -lintl -Wl,-framework -Wl,CoreFoundation checking for extra flags to get ANSI library prototypes... none needed checking for the BeOS... no checking for HP-UX... no checking for extra flags for POSIX compliance... none needed checking for pkg-config... (cached) /usr/local/bin/pkg-config checking pkg-config is at least version 0.16... yes checking for GLIB - version >= 2.27.2... yes (version 2.28.8) checking for bind_textdomain_codeset... yes checking for unistd.h... (cached) yes checking for ANSI C header files... (cached) yes checking for an ANSI C-conforming const... yes checking whether to build gmodulized gdk-pixbuf... yes checking whether dynamic modules work... yes checking for TIFFReadRGBAImageOriented in -ltiff... yes checking tiffio.h usability... yes checking tiffio.h presence... yes checking for tiffio.h... yes checking for jpeg_destroy_decompress in -ljpeg... yes checking for jpeglib.h... yes checking for jpeg_simple_progression in -ljpeg... yes checking for libpng... yes checking for jas_init in -ljasper... yes checking pixbuf loaders to build... checking if gio can sniff png... no checking sys/systeminfo.h usability... no checking sys/systeminfo.h presence... no checking for sys/systeminfo.h... no checking sys/sysinfo.h usability... no checking sys/sysinfo.h presence... no checking for sys/sysinfo.h... no checking for mediaLib 2.3... checking for mlib_ImageSetStruct in -lmlib... no checking for x86 platform... no checking for GDK_PIXBUF_XLIB_DEP... yes checking for gobject-introspection... no (disabled, use --enable-introspection to enable) checking for gtkdoc-check... no checking for gtkdoc-rebase... no checking for gtkdoc-mkpdf... no checking whether to build gtk-doc documentation... no checking for db2html... false checking for -Bsymbolic-functions linker flag... no configure: creating ./config.status config.status: creating Makefile config.status: creating gdk-pixbuf-2.0.pc config.status: creating gdk-pixbuf-2.0-uninstalled.pc config.status: creating gdk-pixbuf/Makefile config.status: creating gdk-pixbuf/gdk_pixbuf.rc config.status: creating gdk-pixbuf/gdk-pixbuf-features.h config.status: creating gdk-pixbuf/pixops/Makefile config.status: creating build/Makefile config.status: creating build/win32/Makefile config.status: creating build/win32/vs9/Makefile config.status: creating build/win32/vs10/Makefile config.status: creating docs/Makefile config.status: creating docs/reference/Makefile config.status: creating docs/reference/gdk-pixbuf/Makefile config.status: creating docs/reference/gdk-pixbuf/version.xml config.status: creating po/Makefile.in config.status: creating tests/Makefile config.status: creating contrib/Makefile config.status: creating contrib/gdk-pixbuf-xlib/Makefile config.status: creating contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc config.status: creating config.h.win32 config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile ==> make install make install Making install in gdk-pixbuf ( cd . && glib-mkenums --template gdk-pixbuf-enum-types.h.template \ gdk-pixbuf.h gdk-pixbuf-core.h gdk-pixbuf-transform.h gdk-pixbuf-io.h gdk-pixbuf-animation.h gdk-pixbuf-simple-anim.h gdk-pixbuf-loader.h ) > tmp-gdk-pixbuf-enum-types.h \ && (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \ && rm -f tmp-gdk-pixbuf-enum-types.h \ && echo timestamp > s-enum-types-h echo "#if !defined(GDK_PIXBUF_DISABLE_DEPRECATED) || defined(GDK_PIXBUF_COMPILATION)" > xgen-gmh \ && glib-genmarshal --prefix=_gdk_pixbuf_marshal ./gdk-pixbuf-marshal.list --header >> xgen-gmh \ && echo "#endif /* !GDK_PIXBUF_DISABLE_DEPRECATED || GDK_PIXBUFCOMPILATION /" >> xgen-gmh \ && (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \ && rm -f xgen-gmh xgen-gmh~ \ && echo timestamp > stamp-gdk-pixbuf-marshal.h /bin/sh: /usr/local/bin/glib-mkenums: /opt/local/bin/perl5: bad interpreter: No such file or directory make[1]: _\ [s-enum-types-h] Error 126 make[1]: * Waiting for unfinished jobs.... make: * [install-recursive] Error 1 ==> Exit Status: 2 http://github.com/mxcl/homebrew/blob/master/Library/Formula/gdk-pixbuf.rb#L17 ==> Environment HOMEBREW_VERSION: 0.8 HEAD: 5460f8bd8937515554ac5e3390e3f726755be1bb HOMEBREW_PREFIX: /usr/local HOMEBREW_CELLAR: /usr/local/Cellar HOMEBREW_REPOSITORY: /usr/local HOMEBREW_LIBRARY_PATH: /usr/local/Library/Homebrew Hardware: quad-core 64-bit arrandale OS X: 10.7.1 Kernel Architecture: x86_64 Ruby: 1.8.7-249 /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby Xcode: 4.1 GCC-4.0: N/A GCC-4.2: build 5666 LLVM: build 2335 MacPorts or Fink? false X11 installed? true ==> Build Flags CC: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 CXX: /usr/bin/llvm-g++ => /usr/llvm-gcc-4.2/bin/llvm-g++-4.2 LD: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 CFLAGS: -O3 -march=core2 -w -pipe CXXFLAGS: -O3 -march=core2 -w -pipe CPPFLAGS: -I/usr/local/Cellar/libiconv/1.14/include -I/usr/local/Cellar/gettext/0.18.1.1/include LDFLAGS: -L/usr/local/Cellar/libiconv/1.14/lib -L/usr/local/Cellar/gettext/0.18.1.1/lib MAKEFLAGS: -j4 PKG_CONFIG_PATH: /usr/local/Cellar/libiconv/1.14/lib/pkgconfig:/usr/local/Cellar/gettext/0.18.1.1/lib/pkgconfig

Error: Failed executing: make install These existing issues may help you: https://github.com/mxcl/homebrew/issues/#issue/4970 Otherwise, please report the bug: https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue

After symlink the build was working fine until: ... chmod u+s /usr/local/Cellar/mtr/0.80/sbin/mtr /usr/bin/install -c -m 644 './mtr.8' '/usr/local/Cellar/mtr/0.80/share/man/man8/mtr.8' strip /usr/local/Cellar/mtr/0.80/sbin/mtr ==> Caveats Run mtr sudo'd in order to avoid the error: `unable to get raw sockets' Error: No such file or directory - /usr/local/sbin

Trying again says that it is already installed.

II may have started the whole process with an old version of brew and then updated (and used brew doctor and going through the checklist.

Running mtr from /usr/local/Cellar/mtr/0.80/sbin/mtr does bring up the X11 mtr (I was hoping for the terminal version), but it doesn't do any tracerouting it seems.

Sorry for the mass of info and for having macports installed too, which is likely to have contributed to the problem. Not sure now what I needed from MacPorts that wasn't on brew. If the bug is just an artefact of my mixed up configuration, then please feel free to disregard.

mistydemeo commented 12 years ago

Are you still having a problem with this? (Sorry about the delay in responding.)

jacknagel commented 12 years ago
/bin/sh: /usr/local/bin/glib-mkenums: /opt/local/bin/perl5: bad interpreter: No such file or directory

Looks like glib-mkenums is coded to use /opt/local/bin/perl5, which no longer exists; might need to reinstall glib.