M4 v1.4.16 downloaded during build

Archive of historical development discussions
Discussions / Development has moved to GitHub
Forum rules
*******************************
Please be aware we are now using GitHub for issue tracking and feature requests.
- This section of the forum is now closed to new topics.

*******************************
Post Reply
Mortimer
Posts: 8
Joined: Tue May 19, 2015 8:51 pm

M4 v1.4.16 downloaded during build

Post by Mortimer »

This one seems odd to me. Using Ubuntu 14.04.

Downloaded the prerequisites. Usually a newer version than specified.

* subversion - 1.6.16
* python - Python 2.7.1
* curl - curl 7.21.4 (or wget)
* m4 - GNU M4 1.4.6
* make - GNU Make 3.81
* patch - Patch 2.5.8
* tar - GNU tar 1.26
* wget - GNU Wget 1.13.4 (or curl)

Downloaded trunk from HandBrake site using svn.

During the build this version of M4 gets downloaded even though a newer version is present.

dpkg -s m4
Package: m4
Status: install ok installed
Priority: standard
Section: interpreters
Installed-Size: 334
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: foreign
Version: 1.4.17-2ubuntu1
Depends: libc6 (>= 2.17), libsigsegv2 (>= 2.9)
Description: a macro processing language
GNU `m4' is an implementation of the traditional UNIX macro
processor. It is mostly SVR4 compatible, although it has some
extensions (for example, handling more than 9 positional parameters to
macros). `m4' also has builtin functions for including files, running
shell commands, doing arithmetic, etc. Autoconf needs GNU `m4' for
generating `configure' scripts, but not for running them.
Homepage: http://www.gnu.org/software/m4/
Original-Maintainer: Santiago Vila <sanvila@debian.org>

Any ideas?
User avatar
JohnAStebbins
HandBrake Team
Posts: 5725
Joined: Sat Feb 09, 2008 7:21 pm

Re: M4 v1.4.16 downloaded during build

Post by JohnAStebbins »

You missed a boat load of additional prerequisites.
From doc/BUILD-Linux:

Code: Select all

The following general tools are used on various platforms and it is
recommended you use these versions or similar:

   * subversion - 1.6.16
   * python - Python 2.7.1
   * curl - curl 7.21.4 (or wget)
   * m4 - GNU M4 1.4.6
   * make - GNU Make 3.81
   * patch - Patch 2.5.8
   * tar - GNU tar 1.26
   * wget - GNU Wget 1.13.4 (or curl)

The GTK UI introduces some significant extra build requirements.  GTK
version 3.10+ is required to build the GTK UI. If you intend to disable
building the GUI with 'configure --disable-gtk' you will not need many
of these packages installed:

Ubuntu 14.04 packages:
   * subversion (cli/gui)
   * cmake (cli/gui)
   * yasm (cli/gui)
   * build-essential (cli/gui)
   * autoconf (cli/gui)
   * libtool (cli/gui)
   * zlib1g-dev (cli/gui)
   * libbz2-dev (cli/gui)
   * libxml2-dev (cli/gui)
   * libogg-dev (cli/gui)
   * libtheora-dev (cli/gui)
   * libvorbis-dev (cli/gui)
   * libsamplerate-dev (cli/gui)
   * libfribidi-dev (cli/gui)
   * libfreetype6-dev (cli/gui)
   * libfontconfig1-dev (cli/gui)
   * libass-dev (cli/gui)
   * libmp3lame-dev (cli/gui)
   * libx264-dev (cli/gui)
   * libjansson-dev (cli/gui)
   * intltool (gui)
   * libglib2.0-dev (gui)
   * libdbus-glib-1-dev (gui)
   * libgtk-3-dev (gui)
   * libgudev-1.0-dev (gui)
   * libwebkitgtk-3.0-dev (gui)
   * libnotify-dev (gui)
   * libgstreamer1.0-dev (gui)
   * libgstreamer-plugins-base1.0-dev (gui)
   * libappindicator-dev (gui)

To install these packages:
     sudo apt-get install subversion cmake yasm build-essential autoconf libtool \
     zlib1g-dev libbz2-dev libogg-dev libtheora-dev libvorbis-dev \
     libsamplerate-dev libxml2-dev libfribidi-dev libfreetype6-dev \
     libfontconfig1-dev libass-dev libmp3lame-dev libx264-dev intltool \
     libglib2.0-dev libdbus-glib-1-dev libgtk-3-dev libgudev-1.0-dev \
     libwebkitgtk-3.0-dev libnotify-dev libgstreamer1.0-dev \
     libgstreamer-plugins-base1.0-dev libappindicator-dev

Deleted User 11865

Re: M4 v1.4.16 downloaded during build

Post by Deleted User 11865 »

IIRC, if any of the set (autoconf, automake, libtool, m4) is missing, then all the set gets built. Might be a case of the build system looking for the libtool executable when it only needs libtoolize?
User avatar
JohnAStebbins
HandBrake Team
Posts: 5725
Joined: Sat Feb 09, 2008 7:21 pm

Re: M4 v1.4.16 downloaded during build

Post by JohnAStebbins »

Rodeo wrote:Might be a case of the build system looking for the libtool executable when it only needs libtoolize?
That's only a problem in latest debian and ubuntu 15.04. In the latest debian based distros they have split the original libtool package into 2 parts. libtool which now only contains libtoolize and libtool-bin which contains libtool. Since the HandBrake build system looks for libtool during configure, but uses libtoolize, both of these packages currently need to be installed on these new distros.
Deleted User 11865

Re: M4 v1.4.16 downloaded during build

Post by Deleted User 11865 »

OK. Then something else is missing that triggers local autotools and thus m4. A build log would help.
Mortimer
Posts: 8
Joined: Tue May 19, 2015 8:51 pm

Re: M4 v1.4.16 downloaded during build

Post by Mortimer »

Thanks!

I installed the list.

Two items. libsampleframerate-dev has been renamed (Ubuntu only?) to libsampleframerate0-dev. I also needed to get libjansson-dev.

I was using doc/Build-MinGW. Oopsie.

Builds clean now. The symptom was a compilation error in the generated stdio.h, from m4 1.4.16, related to gets() not being defined. "error: 'gets' undeclared here (not in a function) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");"

Thanks again.
Post Reply