bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [netcf-devel] Re: netcf - anyone here for an "other operating system


From: Michael Felt
Subject: Re: [netcf-devel] Re: netcf - anyone here for an "other operating system (but not (Solaris))"
Date: Wed, 2 Nov 2016 09:32:26 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0

On 01/11/2016 15:52, Eric Blake wrote:
# Skip lines that do not start with version.
Indeed, and the autoconf manual warns about this:

> Sed scripts should not use branch labels longer than 7 characters and
> should not contain comments; AIX 5.3 sed rejects indented comments.
Which AIX version are you using? Does the autoconf text need to be
updated to mention a more modern version number? Meanwhile, it sounds
like gnulib's bootstrap should be patched to avoid non-portable sed
comments, then netcf updated to use the newer gnulib version.

> 
> In the end, while it finds my GNU m4, it still complains that it is not a GNU m4.
I thought it was finding my m4 - but that was this code in autom4ate:
# $M4.
my $m4 = $ENV{"M4"} || '/opt/bin/m4';
# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
fatal "need GNU m4 1.4 or later: $m4"
  if system "$m4 --help </dev/null 2>&1 | grep reload-state >/dev/null";

Since it was not installed the command failed - however, the fatal message was giving the correct command plus path - so I thought it was using it. A nice improvement for the tool autom4te would be to check "$m4" actually exists.

And I shall update my packaging to make gnu.m4 a dependency (now that I know how to specify that).


      
Which version of GNU m4?  There are some particular m4 bugs in some
older versions that kill configure scripts, so the bootstrap script
intentionally blacklists m4 versions with those bugs.
So, performed the following steps on a system with m4 plus all the autotools...

This is the result:

address@hidden:[/data/prj/aixtools]git clone git://git.fedorahosted.org/netcf.git netcf-0.2.8.2
Cloning into 'netcf-0.2.8.2'...
remote: Counting objects: 2383, done.
remote: Compressing objects: 100% (1969/1969), done.
remote: Total 2383 (delta 1652), reused 579 (delta 358)
Receiving objects: 100% (2383/2383), 502.07 KiB | 298.00 KiB/s, done.
Resolving deltas: 100% (1652/1652), done.
address@hidden:[/data/prj/aixtools]cd net*2
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]vi bootstrap
"bootstrap" 1026 lines, 31605 characters
#! /bin/sh
# Print a version string.
scriptversion=2014-12-08.12; # UTC

# Bootstrap this package from checked-out sources.

# Copyright (C) 2003-2015 Free Software Foundation, Inc.

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Originally written by Paul Eggert.  The canonical version of this
# script is maintained as build-aux/bootstrap in gnulib, however, to
# be useful to your project, you should place a copy of it under
# version control in the top-level directory of your project.  The
# intent is that all customization can be done with a bootstrap.conf
# file also maintained in your version control; gnulib comes with a
# template build-aux/bootstrap.conf to get you started.

/       #
    i=$(($i+1))
  done
}

get_version() {
  app=$1

  $app --version >/dev/null 2>&1 || { $app --version; return 1; }

  $app --version 2>&1 |
  sed -n '# Move version to start of line.
s/.*[v ]\([0-9]\)/\1/

# Skip lines that do not start with version.
/^[0-9]/!d

# Remove characters after the version.
s/[^.a-z0-9-].*//

# The first component must be digits only.
s/^\([0-9]*\)[a-z-].*/\1/

#the following essentially does s/5.005/5.5/
s/\.0*\([1-9]\)/.\1/g
p
q'
}

check_versions() {
"bootstrap" 1026 lines, 31495 characters
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]ls *.sh
autobuild.sh  autogen.sh
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]./autobuild.sh

# Make things clean.

test -n "$1" && RESULTS=$1 || RESULTS=results.log
: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}

test -f Makefile && make -k distclean || :
rm -rf coverage

test -d build && chmod -R u+rw build || :
rm -rf build
mkdir build
cd build

../autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
  --enable-compile-warnings=yes
running bootstrap...
./bootstrap: Bootstrapping from checked-out netcf sources...
./bootstrap: consider installing git-merge-changelog from gnulib
./bootstrap: getting gnulib files...
Submodule 'gnulib' (git://git.sv.gnu.org/gnulib.git) registered for path '.gnulib'
Cloning into '/data/prj/aixtools/netcf-0.2.8.2/.gnulib'...
Submodule path '.gnulib': checked out '63881a60d67422cd7b83eae5ecabdc6b67ea7192'
./bootstrap: updating bootstrap and restarting...
sed:           # Skip lines that do not start with version. is not a recognized function.
./bootstrap: Error: 'autoconf' not found
sed:           # Skip lines that do not start with version. is not a recognized function.
./bootstrap: Error: 'automake' not found
sed:           # Skip lines that do not start with version. is not a recognized function.
./bootstrap: Error: 'gettext' not found
sed:           # Skip lines that do not start with version. is not a recognized function.
./bootstrap: Error: 'git' not found
sed:           # Skip lines that do not start with version. is not a recognized function.
./bootstrap: Error: 'perl' not found

./bootstrap: Please install the prerequisite programs
Failed to bootstrap, please investigate.
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]

FYI: I shall manually edit the bootstrap (again) to not do the cp command and see how far I get. I know there are additional dependancies - I will not bother you with the details of getting those ready.

Note: from above it should be clear that 'git' and 'autom4te' are functioning normally - and after the cp the 'sed' issue returns.

FYI: AIX 6.1

address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]oslevel -s
lslpp -w /usr/bin/sed
6100-09-04-1441
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]lslpp -w /usr/bin/sed
  File                                        Fileset               Type
  ----------------------------------------------------------------------------
  /usr/bin/sed                                bos.rte.edit          File
address@hidden:[/data/prj/aixtools/netcf-0.2.8.2]lslpp -L bos.rte.edit
  Fileset                      Level  State  Type  Description (Uninstaller)
  ----------------------------------------------------------------------------
  bos.rte.edit              6.1.9.30    C     F    Editors

-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]