Skip to content
This repository has been archived by the owner on Nov 27, 2017. It is now read-only.

autoconf: Depends on m4 #24

Closed
dcardosods opened this issue Sep 12, 2013 · 12 comments
Closed

autoconf: Depends on m4 #24

dcardosods opened this issue Sep 12, 2013 · 12 comments

Comments

@dcardosods
Copy link

I tryed to install ruby-build, and the installation of the dependence autoconf fail.

The command prompt:

❯ brew install ruby-build -v                      
==> Installing ruby-build dependency: autoconf
==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
Already downloaded: /home/dcardosods/.cache/Homebrew/autoconf-2.69.tar.gz
tar xf /home/dcardosods/.cache/Homebrew/autoconf-2.69.tar.gz
==> ./configure --prefix=/usr/local/dcardosods/linuxbrew/Cellar/autoconf/2.69
./configure --prefix=/usr/local/dcardosods/linuxbrew/Cellar/autoconf/2.69
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
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 build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
configure: autobuild project... GNU Autoconf
configure: autobuild revision... 2.69
configure: autobuild hostname... dcardosods-Ubuntu-13
configure: autobuild timestamp... 20130912T153411Z
checking whether /bin/sh -n is known to work... no
checking for characters that cannot appear in file names... none
checking whether directories can have trailing spaces... yes
checking for expr... /usr/bin/expr
checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.
GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
==> Configuration
HOMEBREW_VERSION: 0.9.4
HEAD: 39785c8b04e46bae09f70da26d8f8697a666f5d4
HOMEBREW_PREFIX: /usr/local/dcardosods/linuxbrew
CPU: quad-core 64-bit dunno
OS X: 0-x86_64
/usr/bin/ruby1.9.1:
  1.9.3-194
X11: N/A
==> ENV
CC: /usr/bin/gcc => /usr/bin/gcc-4.7
CXX: /usr/bin/g++ => /usr/bin/g++-4.7
CFLAGS: -Os -w -pipe -march=core2 -msse4
CXXFLAGS: -Os -w -pipe -march=core2 -msse4
CPPFLAGS: -isystem /usr/local/dcardosods/linuxbrew/include
LDFLAGS: -L/usr/local/dcardosods/linuxbrew/lib -Wl,-headerpad_max_install_names
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local/dcardosods/linuxbrew
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig
ACLOCAL_PATH: /usr/local/dcardosods/linuxbrew/share/aclocal
OBJC: /usr/bin/gcc
PATH: /home/dcardosods/bin:/usr/local/dcardosods/linuxbrew/bin:/usr/local/dcardosods/linuxbrew/share/npm/bin:/home/dcardosods/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/dcardosods/linuxbrew/Library/Contributions/cmd

Error: autoconf did not build
Logs:       /home/dcardosods/Library/Logs/Homebrew/autoconf/config.log

The config.log content.

@MikeMcQuaid
Copy link
Contributor

You need m4 installed.

@dcardosods
Copy link
Author

Thanks!!! Now it works.

@sjackman
Copy link
Member

@MikeMcQuaid Should autoconf depend_on m4?

@MikeMcQuaid
Copy link
Contributor

@sjackman Really there should be a either requirement or code in Linuxbrew to check the existence of this stuff.

@sjackman
Copy link
Member

For packages that are provided by the base Mac OS X install, I had the idea adding, for example, the depends_on 'm4' to autoconf, and keeping a list of which packages are provided on OS X (such as m4) so as to mark those dependencies as satisfied. Thoughts?
@MikeMcQuaid @adamv @jacknagel @mistydemeo

@MikeMcQuaid
Copy link
Contributor

I think this should be done in reverse; add a requirement or other code somewhere in Linuxbrew (and Winbrew) which contains dependencies that don't come with those systems to match them with what comes with OSX. OSX will always be the primary platform so it doesn't make sense to add such things to the primarily OSX autoconf.

@sjackman
Copy link
Member

The packages need to know their own dependencies (that autoconf depends on m4 for example). It makes more sense I think to have that information in the individual formula and so, I think, in the base Homebrew. Whether that dependency is satisfied by the OS is the next question. We can hardcode that list for OS X. For Linux it will vary depending on the Linux distribution and which packages are installed, and so will likely have to be a dynamic test.

@mistydemeo
Copy link
Contributor

I think the better solution for Linuxbrew would simply be to specify the dependencies in the formulae downstream, like I do in Tigerbrew when necessary. I add a depends_on 'homebrew/dupes/m4' if MacOS.version < :leopard in autoconf, for example.

@sjackman sjackman self-assigned this Jun 11, 2014
@OmeGak
Copy link
Contributor

OmeGak commented Jul 12, 2015

I just tried to install ruby-build and the m4 dependency is still missing. Any plan to specify these system dependencies as @sjackman or @mistydemeo were proposing?

@sjackman sjackman changed the title autoconf fails to install autoconf: Depends on m4 Jul 13, 2015
@sjackman sjackman reopened this Jul 13, 2015
@sjackman sjackman reopened this Jul 13, 2015
@sjackman
Copy link
Member

Fixed. Thanks, Alejandro.

@OmeGak
Copy link
Contributor

OmeGak commented Jul 13, 2015

Thanks for the quick fix! Linuxbrew is getting really stable. 😃

@sjackman
Copy link
Member

Thanks! It has come a long way.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants