xgo icon indicating copy to clipboard operation
xgo copied to clipboard

Using dependencies: aclocal-1.14: command not found

Open pebbe opened this issue 10 years ago • 5 comments

Running xgo with the --deps flag I get

/deps-build/proj4/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:384: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127

Also, when there is no configure script, but there is a autogen.sh, then that could be used to generate configure.

pebbe avatar Apr 15 '16 15:04 pebbe

Do you have some public repository + build command to reproduce this and allow testing? I'd gladly add new features and/or polishes, just need a way to reliably test it.

karalabe avatar Apr 16 '16 11:04 karalabe

I downloaded a library source from https://github.com/OSGeo/proj.4/archive/master.zip I unpacked. Because it doesn't have configure I ran autogen.sh I repacked as proj4.tar.gz and put it on my local webserver. In my current directory I have only one file, projtest.go, which I have attached as projtest.go.txt Now I run this command, on Linux, Debian 8.4:

xgo --deps=http://localhost/tmp/proj4.tar.gz --targets=windows/amd64 -x -v .

I get:

Checking docker installation...
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:38:58 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:38:58 2016
 OS/Arch:      linux/amd64

Checking for required docker image karalabe/xgo-latest... found.
Downloading new dependency: http://localhost/tmp/proj4.tar.gz...
New dependency cached: /home/peter/.xgo-cache/proj4.tar.gz.
Cross compiling ....
Building locally ....
Compiling for windows-4.0/amd64...
Configuring dependency proj4 for x86_64-w64-mingw32...
configure: WARNING: using cross tools not prefixed with host triplet
Building dependency proj4 for x86_64-w64-mingw32...
/deps-build/proj4/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [aclocal.m4] Error 127
Makefile:384: recipe for target 'aclocal.m4' failed
2016/04/16 13:46:30 Failed to cross compile package: exit status 1.

Possible improvements:

  • Support for zip, so you can use dependencies on github directly. But why not use a local tar file as a dependency instead?
  • Downloads from github, if that where possible, should be renamed, because all downloads are called master.zip.
  • If there is no configure, but there is a autogen.sh, run that to create configure
  • If there is a configure, but an incompatible version of automake was used, run autogen.sh, if it exists, but what to do if there is no autogen.sh?

A problem with downloads from github is that filedates are not preserved, so make may want to recreate things that shouldn't be recreated, like some make scripts.

pebbe avatar Apr 16 '16 12:04 pebbe

Compile automake from source and it will work

VERSION=1.15
    wget ftp://ftp.gnu.org/gnu/automake/automake-${VERSION}.tar.gz &> /dev/null
    if [ -f "automake-${VERSION}.tar.gz" ]; then
            tar -xzf automake-${VERSION}.tar.gz
            cd automake-${VERSION}/
            ./configure
            make && make install
            echo -e "\e[1;39m[   \e[1;32mOK\e[39m   ] automake-${VERSION} installed\e[0;39m"

        else
            echo -e "\e[1;39m[   \e[31mError\e[39m   ] cannot fetch file from ftp://ftp.gnu.org/gnu/automake/ \e[0;39m"
            exit 1
fi

gp187 avatar Sep 02 '16 10:09 gp187

I run into the same issue.

@gp187 should that be added to the build dependencies script?

eelcocramer avatar Feb 07 '17 08:02 eelcocramer

I still have this problem. Example:

$ xgo --deps=https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz  --targets=windows/amd64 github.com/pebbe/zmq4
Checking docker installation...
Client:
 Version:           18.09.1
(peter) ~/tmp xgo --deps=https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz  --targets=windows/amd64 github.com/pebbe/zmq4
Checking docker installation...
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.11.6
 Git commit:        4c52b90
 Built:             Tue, 03 Sep 2019 19:59:35 +0200
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.6
  Git commit:       4c52b90
  Built:            Tue Sep  3 17:59:35 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Checking for required docker image karalabe/xgo-latest... found.
Downloading new dependency: https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz...
New dependency cached: /home/peter/.xgo-cache/zeromq-4.3.2.tar.gz.
Cross compiling github.com/pebbe/zmq4...
Fetching main repository github.com/pebbe/zmq4...
github.com/pebbe/zmq4 (download)
Compiling for windows-4.0/amd64...
Configuring dependency zeromq-4.3.2 for x86_64-w64-mingw32...
configure: WARNING: using cross tools not prefixed with host triplet
configure: WARNING: Cannot find libunwind
Building dependency zeromq-4.3.2 for x86_64-w64-mingw32...
/deps-build/zeromq-4.3.2/config/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:2681: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127
2019/10/14 12:34:04 Failed to cross compile package: exit status 1.

pebbe avatar Oct 14 '19 10:10 pebbe