Code Monkey home page Code Monkey logo

Comments (5)

emcrisostomo avatar emcrisostomo commented on June 12, 2024

Hi @dazzag24,

That's correct, in fact. autoconf is telling you that some macros are missing, and they are missing because, as their prefix also suggests, they have not been added yet by the corresponding program (in the case of AM_* macros, automake).

It's a bad idea to run autoconf unless you know exactly which other macros are needed by the package being configured and where they are.

Instead of using autoconf, use autoreconf instead, or better yet, the included autogen.sh script.

This procedure is described in the README and a specific document also exists (README.gnu-build-system).

To make a long story short, anyway, users should not use the sources from the source tree (unless they want to modify them, for example) but a release distribution of the sources. You can download the release distribution of the sources of any release of fswatch: just go to the corresponding release page (pick one here) and use the green button at the bottom of the page.

Cheers,
-- Enrico

from fswatch.

dazzag24 avatar dazzag24 commented on June 12, 2024

Hi,

Both autogen.sh and autoreconf also produce errors.

I'm not expert, but I have installed plenty of programs on linux which follow the standard paradigm of "./configure && make && make test && make install". I'm wondering why this app cannot be setup in a similar way. It feels like you are pretty close.

As for downloading binaries from untrusted sources, I'm sure you can understand why many people would be wary of that. Using apt-get is one thing, but download an exe and using it is something that many Unix folk simply don't feel that comfortable with.

Alternatively have you considered getting this into the main ubuntu repos?

If you are interested the errors are:

$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
file requires the infrastructure from gettext-0.19.2 but this version
is older. Please upgrade to gettext-0.19.2 or newer.
autopoint: *** Stop.
autoreconf: autopoint failed with exit status: 1


$ autoconf
configure.ac:31: error: possibly undefined macro: AC_CONFIG_MACRO_DIRS
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:45: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.ac:46: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:47: error: possibly undefined macro: AM_PROG_AR
configure.ac:59: error: possibly undefined macro: AM_GNU_GETTEXT
configure.ac:60: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
configure.ac:71: error: possibly undefined macro: AM_CONDITIONAL
darreng@dazza3:/code/fswatch$ ^C
darreng@dazza3:
/code/fswatch$ autoreconf
configure.ac:35: error: required file 'config/ar-lib' not found
configure.ac:35: 'automake --add-missing' can install 'ar-lib'
configure.ac:35: error: required file 'config/compile' not found
configure.ac:35: 'automake --add-missing' can install 'compile'
configure.ac:39: error: required file 'config/config.guess' not found
configure.ac:39: 'automake --add-missing' can install 'config.guess'
configure.ac:52: error: required file 'config/config.rpath' not found
configure.ac:39: error: required file 'config/config.sub' not found
configure.ac:39: 'automake --add-missing' can install 'config.sub'
configure.ac:33: error: required file 'config/install-sh' not found
configure.ac:33: 'automake --add-missing' can install 'install-sh'
configure.ac:39: error: required file 'config/ltmain.sh' not found
configure.ac:33: error: required file 'config/missing' not found
configure.ac:33: 'automake --add-missing' can install 'missing'
configure.ac:52: error: required file './ABOUT-NLS' not found
src/libfswatch/Makefile.am: error: required file 'config/depcomp' not found
src/libfswatch/Makefile.am: 'automake --add-missing' can install 'depcomp'
autoreconf: automake failed with exit status: 1

Its not a though I am on an old or rare version of linux.... ;-)

Any help appreciated.

Darren

from fswatch.

emcrisostomo avatar emcrisostomo commented on June 12, 2024

Hi @dazzag24,

This is not the place for a crash course in Autools and gettext: I'll try to be concise and clear.

That error means your version of gettext is older than expected. Which is again correct behaviour.

Fswatch can be built and configured as any other package that uses the Autotools: just use a release tarball, as I already told you. The word "release" is important, because it means the package has all the things you need to build it (configure script, etc.) and needs nothing else (no Autotools, no gettext binaries, etc).

If you insist using maintainer sources (as you are doing) either you read the Autotools documentation and then gettext's, or I just can't help you with any error you may find in your environment.

If you want to modify the sources of fswatch, I suggest you make some practice with Autotools, otherwise there's no reason to use the maintainer's tree.

In this case, as I said at the beginning of the mail, the solution is upgrading your gettext installation. If the ubuntu version you're using does not ship it, then you have to install it from scratch (and probably the other Autotools as well if you don't want to get other path-related problems).

Please, build from a release tarball if what you want to do is just building fswatch.

Cheers,

-- Enrico

Enrico M. Crisostomo

On Tue, Sep 23, 2014 at 5:09 PM, dazzag24 [email protected]
wrote:

Hi,
Both autogen.sh and autoreconf also produce errors.
I'm not expert, but I have installed plenty of programs on linux which follow the standard paradigm of "./configure && make && make test && make install". I'm wondering why this app cannot be setup in a similar way. It feels like you are pretty close.
As for downloading binaries from untrusted sources, I'm sure you can understand why many people would be wary of that. Using apt-get is one thing, but download an exe and using it is something that many Unix folk simply don't feel that comfortable with.
Alternatively have you considered getting this into the main ubuntu repos?
If you are interested the errors are:
$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
file requires the infrastructure from gettext-0.19.2 but this version
is older. Please upgrade to gettext-0.19.2 or newer.
autopoint: *** Stop.

autoreconf: autopoint failed with exit status: 1

$ autoconf
configure.ac:31: error: possibly undefined macro: AC_CONFIG_MACRO_DIRS
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:45: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.ac:46: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:47: error: possibly undefined macro: AM_PROG_AR
configure.ac:59: error: possibly undefined macro: AM_GNU_GETTEXT
configure.ac:60: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
configure.ac:71: error: possibly undefined macro: AM_CONDITIONAL
darreng@dazza3:/code/fswatch$ ^C
darreng@dazza3:
/code/fswatch$ autoreconf
configure.ac:35: error: required file 'config/ar-lib' not found
configure.ac:35: 'automake --add-missing' can install 'ar-lib'
configure.ac:35: error: required file 'config/compile' not found
configure.ac:35: 'automake --add-missing' can install 'compile'
configure.ac:39: error: required file 'config/config.guess' not found
configure.ac:39: 'automake --add-missing' can install 'config.guess'
configure.ac:52: error: required file 'config/config.rpath' not found
configure.ac:39: error: required file 'config/config.sub' not found
configure.ac:39: 'automake --add-missing' can install 'config.sub'
configure.ac:33: error: required file 'config/install-sh' not found
configure.ac:33: 'automake --add-missing' can install 'install-sh'
configure.ac:39: error: required file 'config/ltmain.sh' not found
configure.ac:33: error: required file 'config/missing' not found
configure.ac:33: 'automake --add-missing' can install 'missing'
configure.ac:52: error: required file './ABOUT-NLS' not found
src/libfswatch/Makefile.am: error: required file 'config/depcomp' not found
src/libfswatch/Makefile.am: 'automake --add-missing' can install 'depcomp'
autoreconf: automake failed with exit status: 1
Its not a though I am on an old or rare version of linux.... ;-)
Any help appreciated.

Darren

Reply to this email directly or view it on GitHub:
#58 (comment)

from fswatch.

emcrisostomo avatar emcrisostomo commented on June 12, 2024

Hi @dazzag24,

Did you manage to compile fswatch from a release source distribution?

from fswatch.

sfinktah avatar sfinktah commented on June 12, 2024

I think you could afford to place the text that says:

A user who whishes to build fswatch should get a release tarball. A release tarball contains everything a user needs to build fswatch on his system

in the README (in the git root). I actually read with interest the history of fsw and fswatch, and thought I had read everything else, but alas half an hour of googling on AC_CONFIG_MACRO_DIRS bought me here, and I had to re-evaluate.

Excellent works on the program BTW. I guess I just tend to pay more attention to README/INSTALL files I read in vim, rather than on the web.

Oh, and I had to upgrade my gettext as well. I don't mind, but would it kill GNU to have a symlink to the latest release so we could all just wget gnu/gettext-lastest && tar jxvf gettext-last && configure make build blah ... Yes, I'm very lazy. :)

(The gettext was needed for the failed install from the git clone, BTW).

from fswatch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.