Raspberry Pi の見分け方
次のコマンドを実行する
$ cat /proc/cpuinfo | grep "^Revision"
表示された Revision の値をメモる
Revision : 000e
ブラウザーで https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md を開いて、メモった値を探す
INSANE_SKIP
Specifies the QA checks to skip for a specific package within a recipe. For example, to skip the check for symbolic link .so files in the main package of a recipe, add the following to the recipe. The package name override must be used, which in this example is ${PN}:
レシピ内の指定したパッケージの QA のチェックをスキップします。たとえば、レシピのメインパッケージ内のシンボリックリンク .so ファイルのチェックをスキップするには、レシピに次の行を追加します。 パッケージ名のオーバーライドを使う必要があります。この例では ${PN} です。
INSANE_SKIP_${PN} += "dev-so"
See the "insane.bbclass" section for a list of the valid QA checks you can specify using this variable.
この変数で指定できる QA のチェック項目は、"insane.bbclass" セクションを参照してください。
exim4 を restart すると "ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken" と表示される
paniclog に次のようなメッセージが記録されている。
2019-01-18 13:45:30 socket bind() to port 25 for address ::1 failed: Cannot assign requested address: daemon abandoned
環境
原因
IPv6 を無効にしているのに、dc_local_interfaces の値に "::1" (IPv6 アドレス)を書いていたため。
/etc/exim4/update-exim4.conf.conf
dc_local_interfaces='127.0.0.1 ; ::1'
解決方法
dc_local_interfaces の値から "::1" を消す。
/etc/exim4/update-exim4.conf.conf
dc_local_interfaces='127.0.0.1'
paniclog ファイルを削除する。
$ sudo rm /var/log/exim4/paniclog
Qwt 6.0.1 のビルドが失敗する
次のメッセージが表示される
qwt-6.0.1> mingw32-make qwt_clipper.cpp: In instantiation of 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygon; Rect = QRect; Point = QPoint; T = int]': qwt_clipper.cpp:449:55: required from here qwt_clipper.cpp:232:78: error: 'qMemCopy' was not declared in this scope qMemCopy( p.data(), points1.data(), points1.size() * sizeof( Point ) ); ^ qwt_clipper.cpp: In instantiation of 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygonF; Rect = QRectF; Point = QPointF; T = double]': qwt_clipper.cpp:465:55: required from here qwt_clipper.cpp:232:78: error: 'qMemCopy' was not declared in this scope qwt_clipper.cpp: In instantiation of 'QwtClip::PointBuffer<Point>::~PointBuffer() [with Point = QPoint]': qwt_clipper.cpp:220:28: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygon; Rect = QRect; Point = QPoint; T = int]' qwt_clipper.cpp:449:55: required from here qwt_clipper.cpp:140:29: error: 'qFree' was not declared in this scope qFree( m_buffer ); ^ qwt_clipper.cpp: In instantiation of 'void QwtClip::PointBuffer<Point>::setPoints(int, const Point*) [with Point = QPoint]': qwt_clipper.cpp:223:9: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygon; Rect = QRect; Point = QPoint; T = int]' qwt_clipper.cpp:449:55: required from here qwt_clipper.cpp:148:62: error: 'qMemCopy' was not declared in this scope qMemCopy( m_buffer, points, m_size * sizeof( Point ) ); ^ qwt_clipper.cpp: In instantiation of 'QwtClip::PointBuffer<Point>::~PointBuffer() [with Point = QPointF]': qwt_clipper.cpp:220:28: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygonF; Rect = QRectF; Point = QPointF; T = double]' qwt_clipper.cpp:465:55: required from here qwt_clipper.cpp:140:29: error: 'qFree' was not declared in this scope qFree( m_buffer ); ^ qwt_clipper.cpp: In instantiation of 'void QwtClip::PointBuffer<Point>::setPoints(int, const Point*) [with Point = QPointF]': qwt_clipper.cpp:223:9: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygonF; Rect = QRectF; Point = QPointF; T = double]' qwt_clipper.cpp:465:55: required from here qwt_clipper.cpp:148:62: error: 'qMemCopy' was not declared in this scope qMemCopy( m_buffer, points, m_size * sizeof( Point ) ); ^ qwt_clipper.cpp: In instantiation of 'void QwtClip::PointBuffer<Point>::reserve(int) [with Point = QPoint]': qwt_clipper.cpp:134:31: required from 'QwtClip::PointBuffer<Point>::PointBuffer(int) [with Point = QPoint]' qwt_clipper.cpp:220:28: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygon; Rect = QRect; Point = QPoint; T = int]' qwt_clipper.cpp:449:55: required from here qwt_clipper.cpp:194:52: error: 'qRealloc' was not declared in this scope m_buffer, m_capacity * sizeof( Point ) ); ^ qwt_clipper.cpp: In instantiation of 'void QwtClip::PointBuffer<Point>::reserve(int) [with Point = QPointF]': qwt_clipper.cpp:134:31: required from 'QwtClip::PointBuffer<Point>::PointBuffer(int) [with Point = QPointF]' qwt_clipper.cpp:220:28: required from 'Polygon QwtPolygonClipper<Polygon, Rect, Point, T>::clipPolygon(const Polygon&, bool) const [with Polygon = QPolygonF; Rect = QRectF; Point = QPointF; T = double]' qwt_clipper.cpp:465:55: required from here qwt_clipper.cpp:194:52: error: 'qRealloc' was not declared in this scope mingw32-make[2]: *** [release/qwt_clipper.o] Error 1 mingw32-make[1]: *** [release-all] Error 2 mingw32-make: *** [sub-src-make_first-ordered] Error 2
環境
- Windows 7 Pro. x64
- Qt 5.3.2
- Qwt 6.0.1
原因
Qwt 6.0 は Qt5 をサポートしていないため。
対処
Qwt 6.1 を使う。
参考文献
Organizations と HasComponentの違い
Organizations ≒ タグ
HasComponent ≒ フォルダー
参考
autoheader 実行時に "error: AC_CONFIG_HEADERS not found in configure.ac" が表示される
エラーメッセージ
autoheader: error: AC_CONFIG_HEADERS not found in configure.ac
訳
autoheader: エラー: configure.ac に AC_CONFIG_HEADERS がありません
環境
- autoheader (GNU Autoconf) 2.69
原因
"AM_CONFIG_HEADER" が使われていた。
対処
"AC_CONFIG_HEADERS" に書き換える。