karalabe / xgo

Go CGO cross compiler
MIT License
2.14k stars 280 forks source link

Using dependencies: aclocal-1.14: command not found #45

Open pebbe opened 8 years ago

pebbe commented 8 years ago

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.

karalabe commented 8 years ago

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.

pebbe commented 8 years ago

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:

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.

gp187 commented 8 years ago

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
eelcocramer commented 7 years ago

I run into the same issue.

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

pebbe commented 5 years ago

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.