void value not ignored as it ought to be

問題

コンパイル時に次のエラーが発生する。

コード

void(*p)() = hello();

エラー

error: void value not ignored as it ought to be

エラー: void 値が無視されていない
原因

関数名の後に括弧を書いていたため。

解決方法

括弧を削除する。

void(*p)() = hello;

qtbase のビルドが失敗する

問題

“qtbase” をビルドすると、次のエラーが発生する。

.../src/plugins/platforms/xcb/qxcbconnection.cpp: In constructor 'QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, const char*)':
.../src/plugins/platforms/xcb/qxcbconnection.cpp:280:45: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         m_connection = XGetXCBConnection(dpy);
                                             ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:13:19: error:   initializing argument 1 of 'xcb_connection_t* XGetXCBConnection(Display*)' [-fpermissive]
 xcb_connection_t *XGetXCBConnection(Display *dpy);
                   ^
.../src/plugins/platforms/xcb/qxcbconnection.cpp:281:51: error: invalid conversion from 'EGLNativeDisplayType {aka void*}' to 'Display* {aka _XDisplay*}' [-fpermissive]
         XSetEventQueueOwner(dpy, XCBOwnsEventQueue);
                                                   ^
In file included from .../src/plugins/platforms/xcb/qxcbconnection.cpp:72:0:
.../usr/include/X11/Xlib-xcb.h:16:6: error:   initializing argument 1 of 'void XSetEventQueueOwner(Display*, XEventQueueOwner)' [-fpermissive]
 void XSetEventQueueOwner(Display *dpy, enum XEventQueueOwner owner);
      ^
...
make[5]: *** [.obj/qxcbconnection.o] Error 1
make[5]: *** Waiting for unfinished jobs....
......
make[4]: *** [sub-xcb-plugin-pro-make_first-ordered] Error 2
...
make[3]: *** [sub-xcb-make_first] Error 2
...
make[2]: *** [sub-platforms-make_first] Error 2
...
make[1]: *** [sub-plugins-make_first] Error 2
...
make: *** [sub-src-make_first] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_compile (log file is located at .../temp/log.do_compile)
環境
  • Yocto 1.6.2 (daisy)
  • meta-qt5 (daisy, commit 23405d3a66c308e0b2ea64308b834285850c5c9f)
解決方法

qtbase レシピに次の行を加える。

PACKAGECONFIG_remove = "xcb"
参考文献

ERROR: 0:9: 'out' : syntax error syntax error

OpenGL プログラム実行時に次のメッセージが表示される。

ERROR: 0:9: 'out' : syntax error syntax error
コード
out vec4 fragColor;
...
fragColor = color;
原因

GLSL のバージョンが 1.3 未満のため。
‘out’ 修飾子は存在せず、出力変数は固定されているため。

解決方法

‘fragColor’ の代わりに ‘gl_FragColor’ を使う。

gl_FragColor = color;

ERROR: 0:6: 'in' : syntax error syntax error

OpenGL プログラム実行時に次のメッセージが表示される。

ERROR: 0:6: 'in' : syntax error syntax error
原因

GLSL のバージョンが 1.3 未満のため。

解決方法

‘in’ の代わりに ‘attribute’ を使う。

Shuriken で「名前(CN)が一致しません」と表示される

問題

メールチェック時に次のメッセージが表示される。

・名前(CN)が一致しません。

f:id:renkin3q:20170510131708j:plain

原因
解決方法

メールサーバーの名前にレンタルサーバーの名前を設定する。

メールサーバーの IP アドレスを調べる。

> ping mail.mydomain.com
mail.mydomain.com [192.168.0.1] ...

IP アドレスからレンタルサーバーの名前を調べる。

> ping -a 192.168.0.1
server.rental.com [192.168.0.1] ...

アカウント設定の[受信(POP3)サーバーの名前]の設定値をレンタルサーバーの名前に変更する。

server.rental.com
参考文献

Multiple .bb files are due to be built which each provide jpeg

問題

レイヤーに meta-multimedia を追加して、vlc をビルドすると、次のエラーが表示される。

ERROR: Multiple .bb files are due to be built which each provide jpeg (poky/meta/recipes-core/jpeg/jpeg_8d.bb meta-openembedded/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb).
 This usually means one provides something the other doesn't and should.

エラー: 複数の .bb ファイルがビルドされ、それぞれが jpeg を提供する (poky/meta/recipes-core/jpeg/jpeg_8d.bb meta-openembedded/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb).
 これは通常、一方が他に無い何かを提供する事を意味する。
環境
原因

vlc レシピの DEPENDS に libjpeg-turbo が含まれているため。

解決方法

local.conf に次の行を追加する。

PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native"
参考文献

.desktop ファイルを実行する方法

$ xdg-open program_name.desktop
参考文献

command line - Running a .desktop file in the terminal - Ask Ubuntu