Долго не мог понять, почему кросс-компиляция пакета, который зависит от libpcap приводит к тому, что включаются заголовочные файлы из хоста (/usr/include вместо локальных для кросс-компиляции).
Нашёл, что откуда-то появляется "-I/usr/include" в CXXFLAGS.
Методом проб и ошибок дошёл до виновника: оказалось, что чтобы определить зависимость от pcap в моём скрипте CMake вызывается pcap-config (у libpcap нет описания для pkgconfig, но есть вот этот конфигурационный скрипт: вообще, логично, что он написан на shell, для кросс-компиляции - самое оно), но в нём нет никакой пользы для кросс-компиляции, к сожалению. Например: http://trac.aircrack-ng.org/ticket/1528
Действительно, даже собранный для кросс-компиляции этот скрипт выводит следующее:
В результате, люди чего только не делают. Вот, как в OpenWRT адаптируют pppd/Makefile.linux для сборки с libpcap:
https://github.com/openwrt/openwrt/blob/master/package/network/services/ppp/patches/300-filter-pcap-includes-lib.patch
Ещё, бродя по исходникам, наткнулся на феерический отступ, напоминающий закладку в коде, когда далеко-далеко за пределами 80-ой колонки что-нибудь вставляют (проскроллируйте вправо до конца):
https://github.com/openwrt/openwrt/blob/master/package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch
UPD: А, ну, это строки удаляются из автоконфигурного скрипта, он автоматически генерируется. Но, всё-равно, "сюрприз".
P.S.: Кстати, нашёл другие пакеты, у которых те же проблемы:
http://www.yoctoproject.org/docs/2.2/mega-manual/mega-manual.html
Нашёл, что откуда-то появляется "-I/usr/include" в CXXFLAGS.
Методом проб и ошибок дошёл до виновника: оказалось, что чтобы определить зависимость от pcap в моём скрипте CMake вызывается pcap-config (у libpcap нет описания для pkgconfig, но есть вот этот конфигурационный скрипт: вообще, логично, что он написан на shell, для кросс-компиляции - самое оно), но в нём нет никакой пользы для кросс-компиляции, к сожалению. Например: http://trac.aircrack-ng.org/ticket/1528
Действительно, даже собранный для кросс-компиляции этот скрипт выводит следующее:
> ./build_dir/target-mips_34kc_musl-1.1.15/libpcap-1.7.4/pcap-config --cflags -I/usr/includeНет слов.
В результате, люди чего только не делают. Вот, как в OpenWRT адаптируют pppd/Makefile.linux для сборки с libpcap:
https://github.com/openwrt/openwrt/blob/master/package/network/services/ppp/patches/300-filter-pcap-includes-lib.patch
Ещё, бродя по исходникам, наткнулся на феерический отступ, напоминающий закладку в коде, когда далеко-далеко за пределами 80-ой колонки что-нибудь вставляют (проскроллируйте вправо до конца):
https://github.com/openwrt/openwrt/blob/master/package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch
UPD: А, ну, это строки удаляются из автоконфигурного скрипта, он автоматически генерируется. Но, всё-равно, "сюрприз".
P.S.: Кстати, нашёл другие пакеты, у которых те же проблемы:
http://www.yoctoproject.org/docs/2.2/mega-manual/mega-manual.html
23.6.4. Binary Configuration Scripts Disabled
Some of the core recipes that package binary configuration scripts now disable the scripts due to the scripts previously requiring error-prone path substitution. Software that links against these libraries using these scriptsshould use the much more robustpkg-config instead. The list of recipes changed in this version (and their configuration scripts) is as follows:
directfb (directfb-config)
freetype (freetype-config)
gpgme (gpgme-config)
libassuan (libassuan-config)
libcroco (croco-6.0-config)
libgcrypt (libgcrypt-config)
libgpg-error (gpg-error-config)
libksba (ksba-config)
libpcap (pcap-config)
libpcre (pcre-config)
libpng (libpng-config, libpng16-config)
libsdl (sdl-config)
libusb-compat (libusb-config)
libxml2 (xml2-config)
libxslt (xslt-config)
ncurses (ncurses-config)
neon (neon-config)
npth (npth-config)
pth (pth-config)
taglib (taglib-config)Additionally, support for pkg-config has been added to some recipes in the previous list in the rare cases where the upstream software package does not already provide it.
no subject
Date: 2016-12-07 01:49 pm (UTC)Re: Ð¢Ñ ÑейÑÐ°Ñ Ð½Ð°Ð´ каким пÑоекÑо
Date: 2016-12-07 02:16 pm (UTC)no subject
Date: 2016-12-07 03:55 pm (UTC)no subject
Date: 2016-12-07 03:59 pm (UTC)Ñ Ð¼Ð¾Ð³Ñ ÑзаÑÑ Ð¼ÐµÐ¹ÐºÑайлÑ, qmake какой-нибÑдÑ
но Ð²Ð¾Ñ ÑÑÐ¾Ñ Ð´Ð¾Ð»Ð±Ð°Ð½ÑÑÑй ÑинÑакÑÐ¸Ñ Ñимейка мне ÑеалÑно неÑдобен, пÑи ÑÑом вÑоде как полно наÑÐ¾Ð´Ñ ÐµÐ³Ð¾ полÑзÑÐµÑ Ð¸ не жÑжжаÑ
Re: мне не нÑавиÑÑÑ CMake, ÑовÑем
Date: 2016-12-07 05:17 pm (UTC)РабоÑÐ°Ñ Ð² ÐойÑе банке, Ñ ÐºÐ°Ðº-Ñо Ñаз ÑÑлÑÑал, ÑÑо наÑод обÑÑÐ¶Ð´Ð°ÐµÑ Ð¿ÐµÑÐµÑ Ð¾Ð´ на ÑкÑипÑовÑй ÑзÑк.
Я поинÑеÑеÑовалÑÑ, а поÑемÑ, мол, не пиÑон?
Ðне оÑвеÑили: ÑÑ - Ñ Ñма ÑоÑÑл: как можно пиÑаÑÑ Ð½Ð° ÑзÑке, в коÑоÑом копи-паÑÑ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑабоÑего кÑÑка кода Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к оÑибке!!!
Рмне, в обÑем-Ñо, плеваÑÑ Ð½Ð° его ÑинÑакÑиÑ, мне не до ÑаÑеÑек бÑло, мне нÑжно бÑло бÑÑÑÑо ÑделаÑÑ ÑбоÑкÑ, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ ÑабоÑаÑÑ Ð¸ на Ñ Ð¾ÑÑе, и на кÑоÑÑ-плаÑÑоÑме. ЧÑо, ÑобÑÑвенно, Ñ Ð¸ полÑÑил: в OpenWRT еÑÑÑ ÑÐ¾Ð´Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка CMake https://wiki.openwrt.org/doc/devel/packages.flags?s[]=cmake#cmake
Ð Ð²Ð¾Ñ Ð¾ÑÑалÑнÑе алÑÑеÑнаÑÐ¸Ð²Ñ Ð¸Ð· Ñого ÑпиÑка - как-Ñо мне не Ñ Ð¾ÑелоÑÑ, извинÑÑÑÑ.
Re: подклÑÑаÑÑ packages вмеÑÑо оÑдел
Date: 2016-12-07 05:21 pm (UTC)Ð¢Ñ Ñоже пÑо OpenWRT?
СбоÑка CMake'ом?
ÐонÑÑно, ÑÑо по пÑавилÑÐ½Ð¾Ð¼Ñ Ð»Ñди не Ñ Ð°ÑдкодÑÑ Ð·Ð°Ð²Ð¸ÑимоÑÑи, Ð´Ð»Ñ ÑÑого ÑÑеда должна позволÑÑÑ ÑпÑоÑиÑÑ Ð¾Ð±Ð¾Ð±ÑÑнно и полÑÑиÑÑ ÐºÐ¾Ð½ÐºÑеÑно.
no subject
Date: 2016-12-07 10:15 pm (UTC)Re: подклÑÑаÑÑ packages вмеÑÑо оÑдел
Date: 2016-12-07 10:18 pm (UTC)Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-07 11:45 pm (UTC)ÐказалоÑÑ, Ð½ÐµÑ Ñакого пакеÑа в ÑиÑÑеме, ÑобиÑаÑÑейÑÑ Ð¸Ð· иÑÑ Ð¾Ð´Ð½Ð¸ÐºÐ¾Ð².
ÐÑÑÑ ÑолÑко
> emerge -s qmake [ Results for search key : qmake ] Searching... * dev-util/kdevelop-qmake [ Masked ] Latest version available: 1.7.0 Latest version installed: [ Not Installed ] Size of files: 65 KiB Homepage: https://www.kdevelop.org/ Description: qmake plugin for KDevelop 4 License: GPL-2 [ Applications found : 1 ]Ð OpenWRT запÑоÑfind . -iname "*qmake*"не вÑдаÑÑ Ð½Ð¸Ñего, вообÑе.Ðа моей ÑиÑÑеме qmake Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² dev-qt/qtcore.
ÐейÑÑвиÑелÑно, ÑÑнÑÑÑ qtcore ÑолÑко ÑÑÐ¾Ð±Ñ ÑобÑаÑÑÑÑ - Ð¼Ð¾Ð¶ÐµÑ Ð¸ ноÑмалÑно, а Ð¼Ð¾Ð¶ÐµÑ Ð¸ ÑлиÑком Ñж, вÑÑ Ð·Ð°Ð²Ð¸ÑиÑ...
СкоÑее, неÑ, ÑÑиÑÑÐ²Ð°Ñ Ð½Ð°Ñе пÑедÑдÑÑее обÑÑждение пÑо qt, Ñж ÑоÑно, не Ð´Ð»Ñ Ð²ÑÐµÑ .
ТепеÑÑ Ð¿ÑобÑем Ð´Ð»Ñ CMake:ÐÑо кÑоме Ñого, ÑÑо Ñ ÑоÑно знаÑ, ÑÑо еÑÑÑ ÐºÑÑа пакеÑов, коÑоÑÑе Ñ Ñобой внÑÑÑи CMake пÑиноÑÑÑ, им ÑобиÑаÑÑÑÑ.
ÐоÑмоÑÑел в OpenWRT, Ñам Ð½ÐµÑ Ð¿Ð°ÐºÐµÑа cmake.
Ðо он ÑобиÑаеÑÑÑ Ð¸ ÑÑÑанавливаеÑÑÑ, как ÑаÑÑÑ Ð´Ð»Ñ Ñ Ð¾ÑÑа, Ñ.е. его оÑделÑно OpenWRT ÑобиÑÐ°ÐµÑ (Ñ Ð¼ÐµÐ½Ñ Ð² Gentoo веÑÑÐ¸Ñ ÑÑаÑее, Ñем в ÑÑÐ»Ð·Ð°Ñ Ð´Ð»Ñ Ñ Ð¾ÑÑа Ð¾Ñ OpenWRT!) не Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ñом на ÑаÑÐ³ÐµÑ ÑÑÑанавливаÑÑ, а ÑÑÐ¾Ð±Ñ Ð´Ð»Ñ ÑаÑгеÑа ÑобиÑаÑÑ Ð¿Ð°ÐºÐµÑÑ, неоÑÑÐµÐ¼Ð»ÐµÐ¼Ð°Ñ ÑаÑÑÑ ÑÑлзов и ÑбоÑки ÑÑой ÑиÑÑемÑ.
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 01:00 am (UTC)QT += core gui opengl
QT_CONFIG -= no-pkg-config
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ImageCompressionDemo
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
cqtopencvviewergl.cpp
HEADERS += mainwindow.h \
cqtopencvviewergl.h
FORMS +=
RESOURCES += \
resources.qrc
packagesExist(opencv) {
CONFIG += link_pkgconfig
PKGCONFIG += opencv
DEFINES += USING_OPENCV
} else {
message(Cannot build! Install OpenCV package.)
}
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 07:51 am (UTC)CMake, даже еÑли Ñ Ð½ÐµÐ³Ð¾ ÑÑÑаннÑÑ ÑинÑакÑиÑ, Ð´Ð»Ñ ÑÑивиалÑнÑÑ Ð·Ð°Ð´Ð°Ñ - оÑÐµÐ½Ñ Ð´Ð°Ð¶Ðµ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ.
ÐÑо Qt - и Ñак понÑÑно, Ð¼Ñ ÐµÑÑ Ñам вÑÑÑнили (давал ÑÑÑÐ»ÐºÑ Ð½Ð° пÑедÑдÑÑие ÑаÑÑÑждениÑ), ÑÑо еÑли Ñж поÑÑнÑл Qt, Ñо поÑло-Ð¿Ð¾ÐµÑ Ð°Ð»Ð¾...
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 03:43 pm (UTC)Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 04:31 pm (UTC)ÐÑÑ Ñ Ð¾ÑоÑо: мÑÑÑ ÑÑки, ÑиÑÑиÑÑ Ð·ÑбÑ, заÑÑÐ´ÐºÑ Ð´ÐµÐ»Ð°ÑÑ... ;-)
Чего ÑÑ Ð½Ðµ ÑнимаеÑÑÑÑ?!
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 04:46 pm (UTC)ÐмееÑÑÑ Ð²ÑÑеознаÑÐµÐ½Ð½Ð°Ñ Ð¿Ñоблема. РгоÑовÑй Ð¿Ð°ÐºÐµÑ ÐµÑÑÑ? Ðо еÑли абÑолÑÑно Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ *ÑейÑаÑ* компилиÑоваÑÑ, дÑÑгое дело.
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 05:02 pm (UTC)> ÑÑо ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð·Ð°Ð²Ð¸ÑимоÑÑÑ Ð¾Ñ pcap в моÑм ÑкÑипÑе CMake вÑзÑваеÑÑÑ pcap-config (Ñ libpcap Ð½ÐµÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ pkgconfig, но еÑÑÑ Ð²Ð¾Ñ ÑÑÐ¾Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй ÑкÑипÑ: вообÑе, логиÑно, ÑÑо он напиÑан на shell, Ð´Ð»Ñ ÐºÑоÑÑ-компилÑÑии - Ñамое оно), но в нÑм Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ полÑÐ·Ñ Ð´Ð»Ñ ÐºÑоÑÑ-компилÑÑии, к ÑожалениÑ.
Ðо она Ñак напиÑана, ÑÑо в кÑоÑÑ-компилÑÑии ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ вÑкинÑÑÑ (дана ÑÑÑлка на ÑикеÑ, где лÑди Ñ Ñожалением веÑнÑлиÑÑ Ðº Ñ Ð°ÑдкодиÑованиÑ).
РеÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ изнаÑалÑно Ñла, ÑÑо воÑ, делал Ñ Ð²ÑÑ Ð¿Ð¾ пÑавилам, и CMake замеÑаÑелÑно ÑÐ²Ð¾Ñ ÑабоÑÑ Ñделал, но ÑÐ¾Ð´Ð½Ð°Ñ ÑÑлза Ð´Ð»Ñ ÐºÐ¾Ð½ÑигÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÐºÐµÑов, Ð¾Ñ ÐºÐ¾ÑоÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ ÑÑÐ¾Ñ Ð¿Ð°ÐºÐµÑ - ÐÐÐÐÐ!
Ð, ÑооÑвеÑÑÑвенно, Ñего Ð±Ñ ÑÑ Ð½Ðµ иÑполÑзовал (вÑбиÑай ÑÐ²Ð¾Ñ Ð»ÑбимÑÑ ÑиÑÑÐµÐ¼Ñ ÑбоÑки), ÑадоÑÑи - никакой: Ñами ÑазÑабоÑÑики вÑÑ Ð¿ÑоÑÑали.
Я не знаÑ, ÑÑмел ли Ñ ÑепеÑÑ Ð¾Ð±ÑÑÑниÑÑ Ð´Ð¾Ñ Ð¾Ð´Ñиво....
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 05:47 pm (UTC)Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 07:43 pm (UTC)Я еÑÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ, еÑли Ð±Ñ Ñ Ð¼ÐµÐ½Ñ Ð²ÑÐ±Ð¾Ñ Ð±Ñл, пеÑеклÑÑиÑÑÑÑ Ð½Ð° qmake, попÑобоваÑÑ, Ñам, ...
Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ, не надо забÑваÑÑ, ÑÑо ÑÑÐ´ÐµÑ - не бÑваеÑ: Ð´Ð»Ñ qmake - ÑÑо ÑоÑно Ñак же надо адапÑиÑоваÑÑ, кÑо-Ñо пÑопиÑÑÐ²Ð°ÐµÑ ÑÑи завиÑимоÑÑи Ð´Ð»Ñ ÑебÑ, а Ñгадай - кÑо!? ÐокÑÑÑÑ Ð»Ð¸ вÑе пакеÑÑ!? ÐÑдÑо в дÑÑÐ³Ð¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ - ÑÑо не делаеÑÑÑ Ð²Ð¾Ð¾Ð±Ñе, а Ñ qmake - золоÑÐ°Ñ Ð¿ÑÐ»Ñ Ñ Ð´Ð¶Ð¾ÐºÐµÑом и анÑигÑавиÑаÑионнÑм двигаÑелем в пÑидаÑÑ!
ÐогÑгли: https://www.google.co.uk/#q=packages+qmake+libpcap
Ð Ð²Ð¾Ñ ÑепеÑÑ Ð²Ð·Ð³Ð»Ñни назад: Ñ Ð½Ð°ÑÑиÑал 5 ÑÐ²Ð¾Ð¸Ñ Ð½Ð°ÑÑойÑивÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑиев вÑÑе в ÑазнÑÑ Ð²ÐµÑÐºÐ°Ñ Ð¾ полÑзе packages.
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-08 11:26 pm (UTC)ÐÑ ÑÑпой, Ð½Ñ Ð´Ð°. ТолÑко не о панаÑее же Ñ. Ро Ñом, ÑÑо лÑÑÑе IMHO в коÑекÑÑе cmake/qmake, и как оно вообÑе Ð¸Ð¼ÐµÐµÑ Ð¾ÑноÑение к Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ ÑÑедÑ. ÐоддеÑжал vaddimka.
Re: qmake наÑÑили ÑабоÑаÑÑ Ñ packages
Date: 2016-12-09 07:29 am (UTC)