[ebuild][crossdev][mingw32][qt-core] Помогите пожалуйста с переменными окружения.
maquefel 20 февраля, 2012 - 16:05
Добрый день, прошу помощи сообщества.
Хочу переделать qt-core-4.8.0-r1.ebuild, чтобы он воспринимал CHOST="i686-pc-mingw32"
сделал
crossdev -t i686-pc-mingw32
Все собралось без приключений.
Настроил:
/usr/i686-pc-mingw32/make.conf
CFLAGS="-Os -pipe" CHOST="i686-pc-mingw32" CBUILD="i686-pc-linux-gnu" CXXFLAGS="${CXXFLAGS} -DWIN32 -DUNICODE" GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo \ http://prometheus.cs.wmich.edu/gentoo \ http://mirror.datapipe.net/gentoo \ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/" INPUT_DEVICES="keyboard mouse" MAKEOPTS="-j5"
Поправил qt4-build.eclass
/usr/local/portage/eclass/qt4-build.eclass
*** qt4-build.eclass.orig Mon Feb 20 14:48:02 2012 --- qt4-build.eclass Mon Feb 20 14:47:48 2012 *************** *** 770,775 **** --- 770,777 ---- spec=solaris ;; *-linux-*|*-linux) spec=linux ;; + *-mingw32*) + spec=win32 ;; *) die "Unknown CHOST, no platform chosen" esac
Пытаюсь собрать:
CXXFLAGS="-DWIN32 -DUNICODE" SYSROOT="/usr/i686-pc-mingw32/" ROOT="/usr/i686-pc-mingw32/" USE="-glib" i686-pc-mingw32-emerge qt-core
Все вроде норм - ипользуется mkspecs/win32-g++, и соответвенно i686-pc-mingw32-g++
Сборка валится так как qt-core считает, что он в unix, а подключаются headers из minw32.
Валится в данном случае на readlink.
i686-pc-mingw32-g++ -c -o qfilesystemengine_unix.o -DWIN32 -DUNICODE -DQMAKE_OPENSOURCE_EDITION -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/include -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/include/QtCore -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/src/corelib/global -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/src/corelib/xml -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/mkspecs/win32-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED /usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/src/corelib/io/qfilesystemengine_unix.cpp /usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/src/corelib/io/qfilesystemengine_unix.cpp: In static member function 'static QFileSystemEntry QFileSystemEngine::getLinkTarget(const QFileSystemEntry&, QFileSystemMetaData&)': /usr/i686-pc-mingw32/tmp/portage/x11-libs/qt-core-4.8.0-r1/work/qt-everywhere-opensource-src-4.8.0/src/corelib/io/qfilesystemengine_unix.cpp:119:70: error: 'readlink' was not declared in this scope
Вопрос, что необходимо настроить, что qt-core. Может надо какие переменные окружения поменять :( ?
»
- Для комментирования войдите или зарегистрируйтесь
Надо вот
Надо вот это
*-mingw32*)
поменять на вот это
*-mingw32*|*-mingw32)
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
Tzar написал(а): Надо вот
Не помогло =).
Там новый ебилд писать надо,
Там новый ебилд писать надо, с этим ты убьешься править eclass