Discussion:
"LT_INIT" definition / libtool version mismatch - compilation error
Manjesh HS
2016-07-21 11:26:00 UTC
Permalink
Hi,
I have a software project that uses GNU autotools for its build mechanism.

I was earlier building this project successfully on an *RHEL5.6* host
having *automake - 1.9.6, autoconf - 2.59, m4 - 1.4.5 and libtool - 1.5.22*
packages. Now I migrated to an *RHEL7.2* host having *automake - 1.15,
autoconf - 2.69, m4 - 1.4.17 and libtool - 2.4.6* packages.

The compilation is now failing on the new RHEL7.2 host with the below
error:

../libtool: line 1301: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b
libtool: and run autoconf again.
make[3]: *** [libabc_la-abcdef.lo] Error 63
make[3]: Leaving directory `/def'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/def'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/xyz'
make failed, bailing out
make: *** [all] Error 1

I investigated and found that it happens as the binary tarball was
distributed with an older version of libtool than the one that is present
in the host environment. I tried running "autoreconf --force --install" to
solve this issue but it did not work. None of the suggestions from the
blogs is fixing this blocking issue in my environment.

Please kindly suggest a solution or workaround to debug this issue further.
Thanks very much in advance.


- Manjesh.
Basin Ilya
2016-07-21 11:32:59 UTC
Permalink
Try deleting the shipped files manually. Those are usually:

configure \
config.h.in \
aclocal.m4 \
Makefile.in \
*/missing \
*/ltmain.sh \
*/install-sh \
*/depcomp \
*/config.sub \
*/config.guess \
*/compile \
*/lt~obsolete.m4 \
*/ltversion.m4 \
*/ltsugar.m4 \
*/ltoptions.m4 \
*/libtool.m4 \
Post by Manjesh HS
Hi,
I have a software project that uses GNU autotools for its build mechanism.
I was earlier building this project successfully on an *RHEL5.6* host
having *automake - 1.9.6, autoconf - 2.59, m4 - 1.4.5 and libtool - 1.5.22*
packages. Now I migrated to an *RHEL7.2* host having *automake - 1.15,
autoconf - 2.69, m4 - 1.4.17 and libtool - 2.4.6* packages.
The compilation is now failing on the new RHEL7.2 host with the below
../libtool: line 1301: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b
libtool: and run autoconf again.
make[3]: *** [libabc_la-abcdef.lo] Error 63
make[3]: Leaving directory `/def'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/def'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/xyz'
make failed, bailing out
make: *** [all] Error 1
I investigated and found that it happens as the binary tarball was
distributed with an older version of libtool than the one that is present
in the host environment. I tried running "autoreconf --force --install" to
solve this issue but it did not work. None of the suggestions from the
blogs is fixing this blocking issue in my environment.
Please kindly suggest a solution or workaround to debug this issue further.
Thanks very much in advance.
- Manjesh.
Loading...