LINUX.ORG.RU

Как обойти/исправить ошибку при сборке библиотек mxe?

 , , , ,


1

2

Всех приветствую! Пытаюсь собрать некоторые библиотеки для mxe. На каком-то этапе происходит ошибка:


[download]    libsndfile-1.1.0.tar.xz
[build]       libsndfile              x86_64-w64-mingw32.static

Failed to build package libsndfile for target x86_64-w64-mingw32.static!
------------------------------------------------------------
configure.ac:345: the top level
autom4te: error: /usr/bin/m4 failed with exit status: 1
aclocal: error: /usr/local/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1
make[1]: *** [Makefile:903: build-only-libsndfile_x86_64-w64-mingw32.static] Error 1
make[1]: Leaving directory '/home/bark/mxe'
real	0m5,646s
user	0m4,455s
sys	0m0,188s
------------------------------------------------------------
[log]      /home/bark/mxe/log/libsndfile_x86_64-w64-mingw32.static

make: *** [Makefile:891: /home/bark/mxe/usr/x86_64-w64-mingw32.static/installed/libsndfile] Error 1

Далее смотрю лог, в нем:

cd '/home/bark/mxe/tmp-libsndfile-x86_64-w64-mingw32.static/libsndfile-1.1.0' && autoreconf -fi
configure.ac:345: error: macro PKG_INSTALLDIR is not defined; is a m4 file missing?
m4/ax_require_defined.m4:35: AX_REQUIRE_DEFINED is expanded from...
configure.ac:345: the top level
autom4te: error: /usr/bin/m4 failed with exit status: 1
aclocal: error: /usr/local/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1
make[1]: *** [Makefile:903: build-only-libsndfile_x86_64-w64-mingw32.static] Error 1
make[1]: Leaving directory '/home/bark/mxe'

Моя версия pkg:

pkg-config --version
0.29.1

Читаю про макрос PKG_INSTALLDIR:

PKG_INSTALLDIR(КАТАЛОГ)
Определяет переменную $pkgconfigdir как место, куда пакет должен установить pkg-config.
файлы .pc.

В mxe/tmp-libsndfile-x86_64-w64-mingw32.static/libsndfile-1.1.0/configure.ac указано:

dnl Require autoconf version >= 2.69
AC_PREREQ([2.69])

У меня

autoconf --version
autoconf (GNU Autoconf) 2.71

В этом файле configure.ac макрос PKG_INSTALLDIR упоминается два раза:

dnl Check for pkg-config outside the if statement.
PKG_PROG_PKG_CONFIG
AX_REQUIRE_DEFINED([PKG_INSTALLDIR])
PKG_INSTALLDIR

Версия Убунты 20.04 LTS.

Никто случайно не знает как это решить. Мысли вслух: может вручную создать директорию m4?

Заранее благодарен за ответы со существу.


Файл-то /usr/bin/m4 запускается?
А то вроде Вас спрашивают: «уж не отсутствует ли файл m4?»:

configure.ac:345: error: macro PKG_INSTALLDIR is not defined; is a m4 file missing?

Попробуйте из произвольной директории запустить $m4 --help. Если не запустится - наверно в этом проблема. Если же запустится - в чём-то другом…

PeleWin
()
Ответ на: комментарий от Kirillunique

Если выдается «Failed to build package fontconfig for target x86_64-w64-mingw32.static!», то

я решил проблему последовательно обновившись:

(1) обновляем autoconf до версии 2.71
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz 
tar xf autoconf*
cd autoconf-2.71
sh configure --prefix /usr/local
sudo make install

(2) обновляем automake до версии 1.17
wget http://ftp.gnu.org/gnu/automake/automake-1.17.tar.gz
tar xf automake*
cd automake-1.17
sh configure --prefix /usr/local
sudo make install

(3) обновляем libtool до версии 2.5.3
wget https://mirror.tochlab.net/pub/gnu/libtool/libtool-2.5.3.tar.gz
разархивируем
cd libtool-2.5.3/
sh configure --prefix /usr/local
sudo make install

А главное (именно в нем определен новый макрос PKG_INSTALLDIR).
(4) обновляем pkg-config до версии 0.29.2
скачиваем https://pkgconfig.freedesktop.org/releases/
pkg-config-0.29.2.tar.gz
разархивируем
cd pkg-config-0.29.2/
sh configure --prefix /usr/local
sudo make install

(5) обновляем make до версии 4.4
скачиваем https://ftp.gnu.org/gnu/make/make-4.4.tar.gz
разархивируем 
cd make-4.4
sh configure --prefix /usr/local
sudo make install

незабываем
export PATH=//home/ваша-домашняя-директория/mxe/usr/bin:$PATH

После этого все успешно собралось!

PS. Уже не думал, что у кого то такие же проблемы могут возникнуть.

PS2. Еще раз отмечу, что моя версия Убунты 20.04 LTS и Вам возможно не все нужно обновлять.

Gyros
() автор топика
Последнее исправление: Gyros (всего исправлений: 1)