Menu

#39 fails to build due to versionhell

N-A
closed
xaizek
autoconf (1)
1
2015-10-13
2013-04-02
Merovius
No

When trying to build vifm via ./configure && make I first got the following error:

libtool: Version mismatch error.  This is libtool 2.4, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4
libtool: and run autoconf again.

So I installed libtool 2.4.2, make distclean && git reset --hard and try again, only to get this:

configure.in:4: version mismatch.  This is Automake 1.11.6,
configure.in:4: but the definition used by this AM_INIT_AUTOMAKE
configure.in:4: comes from Automake 1.11.5.  You should recreate
configure.in:4: aclocal.m4 with aclocal and run automake again.

(I find it unbelievable, that this stuff seems not to be backwards compatible, as a side note). So I just tried running aclocal && ./configure && make, only to get the first error again (which is weird, because libtool --version clearly states, that it's 2.4.2).

Don't know how to proceed from here. Also I should mention that I don't know autoconf at all, usually ./configure && make just works and I don't touch it.

Discussion

  • xaizek

    xaizek - 2013-04-02

    Hello,

    try running autoreconf in the root directory. It should solve the issue, so you will be able proceed with regular ./configure && make.

    At the moment, I'm not sure what to do with this. Because, when autoconf files were accidentally upgraded to libtool 2.4.2, I got too many reports that people can't build vifm from sources (because they have libtool 2.4 installed). There should be a way to fix this, I just didn't find it yet...

     
  • xaizek

    xaizek - 2013-04-02
    • labels: --> autoconf
    • assigned_to: xaizek
     
  • Merovius

    Merovius - 2013-04-02

    No change. I attached the whole output of autoreconf && ./configure && make.

    What's really bugging me is that it states to use libtool 2.4, though I clearly have libtool 2.4.2 installed? Do you know anything about that (I'm on Debian btw.)?

     
  • xaizek

    xaizek - 2013-04-02

    It tries to use libtool that comes with vifm. You can try removing it (it's in the root directory) and running autoreconf again. This should recreate the libtool file.

     
    • Merovius

      Merovius - 2013-04-02

      You can try removing it (it's in the root directory)

      hm… no it's not (it's only created after running ./configure, it's not in git). Right now I do a git clean -f after everything I do, so every output I cite is from a clean git checkout.

      So still no luck trying compiling it. Also tried building some old versions, but no luck there either.

       
  • xaizek

    xaizek - 2013-04-02

    Yeah, sorry about the mistake. I just tried to compile vifm on another machine and I was able to do this after autoreconf -if, could you try this command?

     
  • Merovius

    Merovius - 2013-04-02

    yay, works, thx (I actually just did it by very hackishly by cp =libtool ltmain.sh && aclocal && make | grep link and running every gcc-call shown without libtool… don't ask me, how that worked. But your way is better ^^).

     
  • xaizek

    xaizek - 2013-04-02

    It worked because vifm doesn't use functionality provided by libtool. Maybe (I'm not sure) libtool might be required for some dependencies on some systems, but I suspect that it's used because configure.in file was created by example long time ago. I know how to disable using of libtool, and maybe it's the right thing to do, I need to investigate this.

    Thanks for reminding me about this issue.

     
  • xaizek

    xaizek - 2013-04-21

    libtool is not used to compile vifm anymore (in development version). Hope this won't cause any issues, but will solve the version hell :)

     
  • xaizek

    xaizek - 2013-04-21
    • status: open --> closed
     

Log in to post a comment.