{"id":6680,"date":"2018-09-02T23:59:07","date_gmt":"2018-09-02T14:59:07","guid":{"rendered":"https:\/\/y2tech.net\/blog\/?p=6680"},"modified":"2018-09-27T13:25:00","modified_gmt":"2018-09-27T04:25:00","slug":"upnp-openhome-music-server-vol-8","status":"publish","type":"post","link":"https:\/\/y2tech.net\/blog\/audio\/digital-audio\/upnp-openhome-music-server-vol-8-6680\/","title":{"rendered":"UPnP\/OpenHome Music Server \u306e\u81ea\u4f5c\uff08\u305d\u306e\uff18\uff09"},"content":{"rendered":"<h3>MPD\u30ec\u30f3\u30c0\u30e9\u30fc\u3092UPnP\/OpenHome\u3067\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3059\u308b<\/h3>\r\n<br>\r\n<p>\u3055\u3066\u3001\u3053\u308c\u307e\u3067\u9577\u3005\u3068\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u30b5\u30fc\u30d0\u74b0\u5883\u3068\u30aa\u30fc\u30c7\u30a3\u30aa\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u306e\u69cb\u7bc9\u306b\u6642\u9593\u3092\u8cbb\u3084\u3057\u3066\u304d\u305f\u304c\u3001\u3044\u3088\u3044\u3088\u4eca\u56de\u306e\u672c\u984c\u306eUPnP\/OpenHome\u5bfe\u5fdc\u30aa\u30fc\u30c7\u30a3\u30aa\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u306e\u69cb\u7bc9\u306b\u53d6\u308a\u639b\u304b\u308b\u3053\u3068\u306b\u3057\u3088\u3046\uff0e<\/p>\r\n<br>\r\n<p>\u79c1\u306e\u73fe\u5728\u306e\u30e1\u30a4\u30f3\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30fc\u30c7\u30a3\u30aa\u74b0\u5883\u306f\u3001UPnP\u5bfe\u5fdc\u5316\u3057\u305flightMPD\uff08BeagleBone Green Botic7\u30d9\u30fc\u30b9 + ES9038PRO\/AK4497EQ I2S DAC\uff09\u3092 LINN Kazoo\u3001IO-Data fidata\u306a\u3069\u306eUPnP\/OpenHome\u5bfe\u5fdc\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30a2\u30d7\u30ea\u3068\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u69cb\u7bc9\u3057\u3066\u3044\u308b\uff0e\u97f3\u8cea\u7684\u306a\u30e1\u30ea\u30c3\u30c8\u304b\u3089\u3001lightMPD\u3092\u3001\u64cd\u4f5c\u6027\u306e\u89b3\u70b9\u304b\u3089 Kazoo \u3068\u3044\u3046\u826f\u3044\u3068\u3053\u53d6\u308a\u306e\u9078\u629e\u3060\u304c\u3001\u5143\u3005MPD\u3068UPnP\/OpenHome\u3068\u3044\u3046\u5225\u306a\u4e16\u754c\u306e\u7d44\u307f\u3042\u308f\u305b\u306a\u306e\u3067\u3001\u3053\u306e\u74b0\u5883\u3092\u6574\u3048\u308b\u306b\u306f\u305d\u308c\u306a\u308a\u306e\u5de5\u592b\u304c\u5fc5\u8981\u3060\uff0e<\/p>\r\n<br>\r\n<p>\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u3001lightMPD\u3067\u304a\u99b4\u67d3\u307f\u306e\uff62\u30c7\u30b8\u30d5\u30a1\u30a4\u306e\u304a\u3068\uff63\u3055\u3093\u306e\u3001&#8221;digifi labo&#8221;\u3067\u7d39\u4ecb\u3057\u3066\u3044\u308b\u3001&#8221;<a href=\"https:\/\/sites.google.com\/site\/digififan\/home\/digifi-labo\/lightmpd-upnpgw\" rel=\"noopener\" target=\"_blank\">lightMPD\/upnpgw<\/a>&#8221; \u3092\u53c2\u8003\u306b\u3001\u81ea\u5206\u3067APU2C4\u4e0a\u306eCentOS7\u74b0\u5883\u4e0a\u306b\u69cb\u7bc9\u3057\u305f\u3082\u306e\u3060\uff0e<\/p>\r\n<br>\r\n<p>\u6280\u8853\u7684\u306a\u6982\u8981\u306flightMPD\/upnpgw\u306e\u30da\u30fc\u30b8\u8a73\u7d30\u306a\u89e3\u8aac\uff08\u4e00\u822c\u306e\u30e6\u30fc\u30b6\u306b\u3068\u3063\u3066\u306f\u304b\u306a\u308a\u96e3\u89e3\u304b\u3082\u3057\u308c\u306a\u3044\uff09\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u53c2\u7167\u3059\u308b\u306e\u304c\u826f\u3044\u3060\u308d\u3046\uff0e\u4f46\u3057\u3001\u8907\u6570\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u81ea\u5206\u306e\u76ee\u7684\u306b\u5408\u3063\u305f\u7d44\u307f\u3042\u308f\u305b\u3092\u9078\u629e\u3059\u308b\u306e\u304c\u96e3\u3057\u305d\u3046\u3060\uff0e\u81ea\u5206\u3067Linux\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3084\u8907\u96d1\u306a\u30a2\u30d7\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u3082\u306a\u304f\u3001\u3068\u3066\u3082\u7c21\u5358\uff08\u4eca\u56de\u306e\u8a18\u4e8b\u5185\u5bb9\u306b\u8f03\u3079\u308c\u3070\uff09\u306a\u306e\u3067Linux\u306e\u30a8\u30ad\u30b9\u30d1\u30fc\u30c8\u3067\u3082\u7121\u3044\u9650\u308a\u3001\u3053\u3061\u3089\u306e &#8220;lightMPD\/upnpgw&#8221; \u306e\u65b9\u3092\u304a\u85a6\u3081\u3059\u308b\uff0e&#8221;lightMPD\/upnpgw&#8221;\u306b\u3064\u3044\u3066\u306f\u3001\u307e\u305f\u5225\u306a\u6a5f\u4f1a\u306b\u7d39\u4ecb\u3057\u3088\u3046\u3068\u601d\u3046\uff0e<\/p>\r\n<br>\r\n<p>\u4e00\u822c\u7684\u306aMPD\u30ec\u30f3\u30c0\u30e9\u30fc\u306fNFS\u3084SMB\/CIFS\u3092\u4f7f\u3063\u3066\u3001\u97f3\u6e90\u30c7\u30fc\u30bf\u304c\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30de\u30a6\u30f3\u30c8\u3057\u3066\u4f7f\u7528\u3057\u3066\u3044\u308b\u304c\u3001\u4eca\u56de\u306fMinimServer\u304cAPU2C$\u5074\u3067\u7a3c\u50cd\u3057\u3066\u3044\u308b\u306e\u3067\u3001MPD\u30ec\u30f3\u30c0\u30e9\u30fc\u5074\u304cHTTP\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u30b5\u30fc\u30d0\u3068\u97f3\u6e90\u30c7\u30fc\u30bf\u306e\u3084\u308a\u3068\u308a\u304c\u884c\u3048\u308b\u74b0\u5883\u3067\u3042\u308c\u3070\u3001NFS\u3084SMB\/CIFS\u306a\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u624b\u5143\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u4e0a\u306b\u30de\u30a6\u30f3\u30c8\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044\uff0e\u3053\u306e\u65b9\u6cd5\u306e\u65b9\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30fc\u30c7\u30a3\u30aa\u7684\u306b\u898b\u3066\u3082\u6d17\u7df4\u3055\u308c\u3066\u3044\u308b\u3057\u3001\u4f55\u3088\u308a\u3082\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306a\u3069\u3068\u3044\u3046\u5384\u4ecb\u306a\u7269\u304b\u3089\u89e3\u653e\u3055\u308c\u308b\u306e\u3067\u7cbe\u795e\u885b\u751f\u4e0a\u597d\u307e\u3057\u3044\uff0e<p>\r\n<br>\r\n<div style=\"width: 100%; margin: 0 auto; text-align: center;\">\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/APU2C4-Audio-Router-OpenHome.png\" alt=\"APU2C4 OpenHome Audio Network\" width=\"615\" height=\"484\" class=\"size-full wp-image-6687\" srcset=\"https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/APU2C4-Audio-Router-OpenHome.png 615w, https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/APU2C4-Audio-Router-OpenHome-320x252.png 320w\" sizes=\"auto, (max-width: 615px) 100vw, 615px\" \/> \r\n<br>\r\n<span>\u4eca\u56de\u306eUPnp\/OpenHome\u30aa\u30fc\u30c7\u30a3\u30aa\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883<\/span>\r\n<br>\r\n<\/div>\r\n<br>\r\n<p>\u4eca\u56de\u306f\u3001UPnP\/OpenHome\u30d7\u30ed\u30c8\u30b3\u30eb\u3092MPD\u30d7\u30ed\u30c8\u30b3\u30eb\u306b\u5909\u63db\u3059\u308b &#8220;upmpdci&#8221; \u3068\u3044\u3046\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3001\u4eca\u56de\u306eAPU2C4\u4e0a\u306eCentOS7\u74b0\u5883\u306b\u69cb\u7bc9\u3059\u308b\uff0e&#8221;<a href=\"https:\/\/www.lesbonscomptes.com\/upmpdcli\/upmpdcli-manual.html#_introduction\" rel=\"noopener\" target=\"_blank\">upmpdci<\/a>&#8220;\u306fDebian\u7cfb\u306e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3042\u308c\u3070\u6bd4\u8f03\u7684\u7c21\u5358\u306b\u5b9f\u88c5\u3067\u304d\u308b\u306e\u3060\u304c\u3001CentOS\u306a\u3069\u306eRedHat\u7cfb\u306f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u305a\u3001Linux\u306b\u7cbe\u901a\u3057\u3066\u3044\u306a\u3051\u308c\u3070\u69cb\u7bc9\u306f\u7121\u7406\u3060\u308d\u3046\uff0e<\/p>\r\n<br>\r\n<p>\u79c1\u3082\u5f53\u521d\u306f\u3001CentOS7\u74b0\u5883\u3067 &#8220;upmpdci&#8221; \u3092\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u69cb\u7bc9\u3059\u308b\u4e8b\u3092\u8a66\u307f\u305f\u304c\u3001&#8221;.\/configure&#8221; \u6bb5\u968e\u3067\u30ae\u30d6\u30a2\u30c3\u30d7\u3057\u3066\u3001\u5b89\u76f4\u306bCentOS7\u306eKVM\u4eee\u60f3\u74b0\u5883\u4e0a\u3067\u3001Debian 9(Stretch) \u3092\u52d5\u304b\u3057\u3001\u305d\u306e\u4e0a\u3067 &#8220;upmpdci&#8221;\u3092\u7a3c\u50cd\u3055\u305b\u3066\u3044\u305f\u307b\u3069\u3060\uff0eKVM\u4eee\u60f3\u74b0\u5883\u3092\u6574\u3048\u308b\u65b9\u304c\u3001&#8221;upmpdci&#8221;\u3092\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u69cb\u7bc9\u3059\u308b\u3088\u308a\u7c21\u5358\u3060\uff0e<\/p>\r\n<br>\r\n<p>\u4eca\u56de\u4f55\u3068\u304bCentOS7\u4e0a\u3067KVM\u4eee\u60f3\u74b0\u5883\u3092\u7528\u3044\u308b\u3053\u3068\u7121\u304f\u3001&#8221;upmpdci&#8221;\u3092\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305f\u306e\u3067\u3001\u3068\u308a\u3042\u3048\u305a\u305d\u306e\u624b\u9806\u306e\u6982\u8981\u3092\u7d39\u4ecb\u3059\u308b\u3053\u3068\u306b\u3059\u308b\uff0e\u4f46\u3057\u3001&#8221;upmpdci&#8221;\u3068\u7d50\u3073\u3064\u304fMPD\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f1\u3064\u3060\u3051\u306e\u3088\u3046\u306a\u306e\u3067\u3001\u8907\u6570\u306eMPD\u30ec\u30f3\u30c0\u30e9\u30fc\uff08\u30d7\u30ec\u30a4\u30e4\u30fc\uff09\u3092OpenHome\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u3067\u5207\u308a\u66ff\u3048\u3066\u4f7f\u3046\u5834\u5408\u306f\u3001KVM\u4eee\u60f3\u74b0\u5883\u4e0a\u3067\u8907\u6570\u306eDebian 9(Stretch) \u74b0\u5883\u3092\u7acb\u3061\u4e0a\u3052\u3001&#8221;upmpdci&#8221;\u3092\u540c\u6642\u306b\u8907\u6570\u52d5\u304b\u3059\u65b9\u304c\u73fe\u5b9f\u7684\u3060\u308d\u3046\uff0e<\/p>\r\n<br>\r\n<p>&#8220;upmpdci&#8221;\u306e\u30da\u30fc\u30b8\u306b\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30fc\u30c7\u30a3\u30aa\u306b\u95a2\u3059\u308b\u6709\u76ca\u306a\u60c5\u5831\u304c\u8f09\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u4e00\u5ea6\u76ee\u3092\u901a\u3057\u3066\u7f6e\u304f\u3068\u826f\u3044\u3060\u308d\u3046\uff0e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304b\u3089\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u306b\u306f\u3001&#8221;<a href=\"https:\/\/www.lesbonscomptes.com\/upmpdcli\/upmpdcli-manual.html#UPMPDCLI-BUILDING\" rel=\"noopener\" target=\"_blank\">Building from source<\/a>&#8221; \u306f\u5fc5\u8aad\u3060\uff0e\u3053\u3053\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u60c5\u5831\u3060\u3051\u3067\u4f5c\u696d\u3092\u9032\u3081\u308b\u3053\u3068\u306f\u51fa\u6765\u305a\u3001\u4e00\u9031\u9593\u8fd1\u304f\u8a66\u884c\u932f\u8aa4\u3057\u3066\u3088\u3046\u3084\u304f&#8221;upmpdci&#8221;\u3092\u6b63\u5e38\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305f\uff0eCentOS7\u3067\u306f\u96e3\u5100\u3059\u308b\u3053\u3068\u5fc5\u81f3\u3060\u308d\u3046\uff0e<\/p>\r\n<br>\r\n<h4>&#8220;upmpdci&#8221;\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u6210\u529f\u3059\u308b\u307e\u3067\u306e\u9577\u3044\u9053\u306e\u308a<\/h4>\r\n<br>\r\n<p>\u672c\u5f53\u306f&#8221;upmpdci&#8221;\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u6210\u529f\u3059\u308b\u307e\u3067\u306e\u8a66\u884c\u932f\u8aa4\u306e\u69d8\u5b50\u3092\u304d\u3061\u3093\u3068\u7d39\u4ecb\u3057\u305f\u304b\u3063\u305f\u304c\u3001\u4f59\u308a\u306b\u3082\u81a8\u5927\u306a\u306e\u3067\u3001\u4eca\u56de\u306f\u5358\u7d14\u306b\u4e0a\u624b\u304f\u51fa\u6765\u305f\u6642\u306e\u624b\u9806\u306e\u6982\u8981\u3060\u3051\u3092\u793a\u3059\u3053\u3068\u306b\u3059\u308b\uff0e\u5b9f\u6a5f\u3067\u306f\u7121\u304f\u4eee\u60f3\u74b0\u5883\u4e0a\u306b\u4f55\u5ea6\u3082CentOS7\u74b0\u5883\u3092\u4f5c\u3063\u3066\u306f\u58ca\u3057\u306e\u9023\u7d9a\u3067\u3001\u3088\u3046\u3084\u304f\u3053\u306e\u624b\u9806\u306b\u8fbf\u308a\u7740\u3044\u305f\u3068\u3044\u3046\u306e\u304c\u5b9f\u60c5\u3060\uff0e<\/p>\r\n<br>\r\n<p>\u3082\u3046\u4e00\u5ea6\u540c\u3058\u4e8b\u3092\u3057\u3066\u3082\u3001\u672c\u5f53\u306b\u4e0a\u624b\u304f\u884c\u304f\u304b\u3069\u3046\u304b\u306f\u3084\u3063\u3066\u307f\u306a\u3051\u308c\u3070\u308f\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u306e\u304c\u5b9f\u60c5\u3060\uff0e\u540c\u3058CentOS7\u74b0\u5883\u3067\u3082\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3084\u30c4\u30fc\u30eb\u985e\u304c\u7570\u306a\u308c\u3070\u4e0a\u624b\u304f\u884c\u304b\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u306e\u5834\u5408\u306f\u8f9b\u62b1\u5f37\u304f\u8a66\u884c\u932f\u8aa4\u3092\u91cd\u306d\u3066\u6b32\u3057\u3044\uff0e<\/p>\r\n<br>\r\n<h5>\uff11\uff0e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<h5>\r\n<br>\r\n<p>&#8220;<a href=\"https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads.html\" rel=\"noopener\" target=\"_blank\">Upmpdcli downloads<\/a>&#8221; \u30da\u30fc\u30b8\u304b\u3089\u3001libupnpp-0.16.1.tar.gz, upmpdcli-1.2.16.tar.gz, sc2mpd-1.1.5.tar.gz \u306e3\u3064\u306etar\u30dc\u30fc\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u9069\u5f53\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306b\u89e3\u51cd\u3057\u3066\u5c55\u958b\u3057\u3066\u304a\u304f\uff0e<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[yasuaki@jukebox UpMPD]$ mkdir RPM\r\n[yasuaki@jukebox UpMPD]$ mkdir SRC\r\n[yasuaki@jukebox UpMPD]$ ls -la\r\ntotal 0\r\ndrwxr-xr-x  4 yasuaki wheel  28 Sep  2 20:39 .\r\ndrwx------. 6 yasuaki wheel 154 Sep  2 20:38 ..\r\ndrwxr-xr-x  2 yasuaki wheel   6 Sep  2 20:39 RPM\r\ndrwxr-xr-x  2 yasuaki wheel   6 Sep  2 20:39 SRC\r\n[yasuaki@jukebox UpMPD]$ cd SRC\r\n[yasuaki@jukebox SRC]$ wget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/libupnpp-0.16.1.tar.gz\r\n ...\r\n[yasuaki@jukebox SRC]$ wget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/upmpdcli-1.2.16.tar.gz\r\n ...\r\n[yasuaki@jukebox SRC]$ wget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/sc2mpd-1.1.5.tar.gz\r\n ...\r\n[yasuaki@jukebox SRC]$ tar xvzf libupnpp-0.16.1.tar.gz\r\n[yasuaki@jukebox SRC]$ tar xvzf sc2mpd-1.1.5.tar.gz\r\n[yasuaki@jukebox SRC]$ tar xvzf upmpdcli-1.2.16.tar.gz\r\n[yasuaki@jukebox SRC]$ ls -la\r\ntotal 1104\r\ndrwxr-xr-x 5 yasuaki wheel    159 Sep  2 20:53 .\r\ndrwxr-xr-x 4 yasuaki wheel     28 Sep  2 20:39 ..\r\ndrwxr-xr-x 3 yasuaki wheel    303 Apr  6 23:59 libupnpp-0.16.1\r\n-rw-r--r-- 1 yasuaki wheel 473013 Apr  7 01:06 libupnpp-0.16.1.tar.gz\r\ndrwxr-xr-x 4 yasuaki wheel    224 Apr  7 22:09 sc2mpd-1.1.5\r\n-rw-r--r-- 1 yasuaki wheel 219031 Apr  8 01:06 sc2mpd-1.1.5.tar.gz\r\ndrwxr-xr-x 8 yasuaki wheel   4096 Apr  7 00:29 upmpdcli-1.2.16\r\n-rw-r--r-- 1 yasuaki wheel 429958 Apr  7 01:06 upmpdcli-1.2.16.tar.gz\r\n[yasuaki@jukebox SRC]$\r\n<\/code><\/code><\/pre>\r\n<br>\r\n<h5>\uff12\uff0e\u95a2\u9023\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u6e96\u5099<h5>\r\n<br>\r\n<p>\u3053\u306e\u95a2\u9023\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u6e96\u5099\u3092\u884c\u3046\u306e\u304c\u7d50\u69cb\u5927\u5909\u3067\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f9d\u5b58\u95a2\u4fc2\u3084\u5404\u7a2e\u30c4\u30fc\u30eb\u306e\u4e8b\u524d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306a\u3069\u3067\u4e00\u7b4b\u7e04\u3067\u306f\u884c\u304b\u306a\u3044\uff0e&#8221;yum install xxxx&#8221; \u3067\u4e00\u767a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u306f\u884c\u304b\u306a\u3044\uff0e\u4eca\u56de\u306fRHEL7\u7cfb\uff08CentOS7\uff09\u3067\u306f\u6a19\u6e96\u3067\u5c0e\u5165\u3055\u308c\u3066\u3044\u306a\u3044\u3001 yum\u306e\u5f8c\u7d99\u3067\u3042\u308bdnf \u74b0\u5883\u3092\u6574\u3048\u308b\u3053\u3068\u304b\u3089\u59cb\u3081\u308b\uff0e<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[yasuaki@jukebox SRC]$ sudo yum install epel-release\r\n\u3000\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox UpMPD]$ sudo yum install centos-release-yum4\r\n\u3000\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\nInstalled:\r\n  centos-release-yum4.noarch 0:1-2.el7.centos                                                                                             \r\n\r\nDependency Installed:\r\n  centos-release-configmanagement.noarch 0:1-1.el7.centos                                                                                 \r\n\r\nComplete!\r\n[yasuaki@jukebox UpMPD]$ sudo yum install yum4\r\n\u3000\uff0e\uff0e\uff0e\r\nInstalled:\r\n  yum4.noarch 0:2.7.5-10.el7                                                                                                              \r\n\r\nDependency Installed:\r\n  PyYAML.x86_64 0:3.10-11.el7                           dnf.noarch 0:2.7.5-10.el7                 dnf-conf.noarch 0:2.7.5-10.el7         \r\n  libcomps.x86_64 0:0.1.8-7.el7                         libdnf.x86_64 0:0.11.1-3.el7              librepo.x86_64 0:1.8.1-1.el7           \r\n  libreport-filesystem.x86_64 0:2.1.11-40.el7.centos    libsmartcols.x86_64 0:0.2.32-0.2.el7      libsolv.x86_64 0:0.6.26-2.el7          \r\n  libyaml.x86_64 0:0.1.4-11.el7_0                       python-dateutil.noarch 0:1.5-7.el7        python2-dnf.noarch 0:2.7.5-10.el7      \r\n  python2-hawkey.x86_64 0:0.11.1-3.el7                  python2-libcomps.x86_64 0:0.1.8-7.el7     python2-librepo.x86_64 0:1.8.1-1.el7   \r\n  python2-modulemd.noarch 0:1.3.3-2.el7                 python2-smartcols.x86_64 0:0.3.0-2.el7   \r\n\r\nComplete!\r\n[yasuaki@jukebox UpMPD]$ sudo yum4 install dnf-plugins-core\r\n\u3000\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\nInstalled:\r\n  dnf-plugins-core.noarch 2.1.5-4.el7                             python2-dnf-plugins-core.noarch 2.1.5-4.el7                            \r\n\r\nComplete!\r\n[yasuaki@jukebox UpMPD]$\r\n<\/code><\/code><\/pre>\r\n<br>\r\n<p>\u4ee5\u4e0a\u3067\u3001\u65b0\u3057\u3044dnf\u74b0\u5883\u304c\u6574\u3063\u305f\u306e\u3067\u3001\u95a2\u9023\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u500b\u5225\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3046\uff0e\u3053\u306e\u969b\u306b\u3001\u540c\u6642\u306b\u30c7\u30d9\u30ed\u30c3\u30d7\u7528\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3082\u5fc5\u305a\u4e00\u7dd2\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304f\uff0e\u3053\u308c\u304c\u306a\u3044\u3068&#8221;.\/configure&#8221; \u6bb5\u968e\u3067\u30a8\u30e9\u30fc\u3068\u306a\u3063\u3066\u5148\u3078\u9032\u3081\u306a\u3044\uff0e<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><\/code>\r\n[yasuaki@jukebox UpMPD]$ sudo dnf install expat*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox UpMPD]$ sudo dnf install jsoncpp*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox UpMPD]$ sudo dnf install libcurl*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ sudo dnf install libmicrohttpd*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ sudo dnf install alsa-lib*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ sudo dnf install libsamplerate*\r\n\u3000\uff0e\uff0e\uff0e\r\n\r\n[yasuaki@jukebox UpMPD]$ sudo dnf install libupnp-*\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox UpMPD]$ \r\n[yasuaki@jukebox RPM]$ wget http:\/\/li.nux.ro\/download\/nux\/dextop\/el7\/x86_64\/libmpdclient-2.7-4.el7.nux.x86_64.rpm\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox RPM]$ wget http:\/\/li.nux.ro\/download\/nux\/dextop\/el7\/x86_64\/libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm\r\n\u3000\uff0e\uff0e\uff0e\r\n\u3000\r\n[yasuaki@jukebox RPM]$ ls -la\r\ntotal 204\r\ndrwxr-xr-x 2 yasuaki wheel    102 Sep  2 22:08 .\r\ndrwxr-xr-x 4 yasuaki wheel     28 Sep  2 20:39 ..\r\n-rw-r--r-- 1 yasuaki wheel  36080 Jan 13  2015 libmpdclient-2.7-4.el7.nux.x86_64.rpm\r\n-rw-r--r-- 1 yasuaki wheel 169412 Jan 13  2015 libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm\r\n[yasuaki@jukebox RPM]$ \r\n[yasuaki@jukebox RPM]$ sudo rpm -ivh libmpdclient-2.7-4.el7.nux.x86_64.rpm\r\nwarning: libmpdclient-2.7-4.el7.nux.x86_64.rpm: Header V4 RSA\/SHA1 Signature, key ID 85c6cd8a: NOKEY\r\nPreparing...                          ################################# [100%]\r\nUpdating \/ installing...\r\n   1:libmpdclient-2.7-4.el7.nux       ################################# [100%]\r\n\r\n[yasuaki@jukebox RPM]$ sudo rpm -ivh libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm\r\n[sudo] password for yasuaki: \r\nwarning: libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm: Header V4 RSA\/SHA1 Signature, key ID 85c6cd8a: NOKEY\r\nPreparing...                          ################################# [100%]\r\nUpdating \/ installing...\r\n   1:libmpdclient-devel-2.7-4.el7.nux ################################# [100%]\r\n[yasuaki@jukebox RPM]$ \r\n<\/code><\/code><\/pre>\r\n<br>\r\n<h5>\uff13\uff0e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u30b3\u30f3\u30d1\u30a4\u30eb<h5>\r\n<br>\r\n<p>\u95a2\u9023\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u6e96\u5099\u304c\u6574\u3063\u305f\u3089\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u306b\u53d6\u308a\u639b\u304b\u308b\uff0e&#8221;upmpdcli&#8221; \u306f &#8220;libupnpp&#8221; \u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u5fc5\u8981\u306b\u306a\u308b\u306e\u3067\u3001&#8221;libupnpp&#8221;\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u7d42\u4e86\u5f8c\u306b\u69cb\u7bc9\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308b\uff0e\u624b\u59cb\u3081\u306b &#8220;sc2mpd&#8221; \u304b\u3089\u53d6\u308a\u639b\u304b\u308b\uff0eOpenHome\u95a2\u9023\u306e\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u5c02\u7528\u30b9\u30af\u30ea\u30d7\u30c8 &#8220;ohbuild.sh&#8221; \u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001&#8221;.\/configure&#8221; \u3092\u5b9f\u65bd\u3059\u308b\uff0e<\/p>\r\n<br>\r\n<p>&#8220;sc2mpd&#8221; \u306fLINN\u306e &#8220;Songcast&#8221; \u30d7\u30ed\u30c8\u30b3\u30eb\u306b\u5bfe\u5fdc\u3055\u305b\u308b\u305f\u3081\u306e\u3082\u306e\u306e\u3088\u3046\u3060\u304c\u3001\u4eca\u56de\u306e\u7528\u9014\u3067\u306f\u5b9f\u88c5\u3057\u306a\u304f\u3066\u3082\u826f\u3044\u306e\u304b\u3082\u3057\u308c\u306a\u3044\uff0eLINN\u88fd\u54c1\u3092\u5c0e\u5165\u3059\u308b\u4e88\u5b9a\u306f\u306a\u3044\u304c\u5ff5\u306e\u305f\u3081\u5b9f\u88c5\u3057\u3066\u304a\u304f\u3053\u3068\u306b\u3059\u308b\uff0e\uff08\u3044\u3064\u304b\u306f&#8221;LINN&#8221;&#8230;\uff09<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[yasuaki@jukebox SRC]$ cd sc2mpd-1.1.5\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ ls -la\r\ntotal 424\r\ndrwxr-xr-x 4 yasuaki wheel    224 Apr  7 22:09 .\r\ndrwxr-xr-x 5 yasuaki wheel    159 Sep  2 20:53 ..\r\n-rw-r--r-- 1 yasuaki wheel  42141 Apr  7 22:07 aclocal.m4\r\n-rwxr-xr-x 1 yasuaki wheel   7333 Apr  7 22:07 compile\r\n-rwxr-xr-x 1 yasuaki wheel 193254 Apr  7 22:07 configure\r\n-rw-r--r-- 1 yasuaki wheel   2701 Apr  7 22:02 configure.ac\r\n-rw-r--r-- 1 yasuaki wheel  17992 Mar 20  2017 COPYING\r\n-rwxr-xr-x 1 yasuaki wheel  23566 Apr  7 22:07 depcomp\r\n-rwxr-xr-x 1 yasuaki wheel  15155 Apr  7 22:07 install-sh\r\n-rw-r--r-- 1 yasuaki wheel   3680 Apr  7 22:04 Makefile.am\r\n-rw-r--r-- 1 yasuaki wheel  82769 Apr  7 22:07 Makefile.in\r\n-rwxr-xr-x 1 yasuaki wheel   6872 Apr  7 22:07 missing\r\ndrwxr-xr-x 2 yasuaki wheel    309 Apr  7 22:09 mpd2src\r\n-rw-r--r-- 1 yasuaki wheel  13001 Sep 19  2017 ohbuild.sh\r\ndrwxr-xr-x 2 yasuaki wheel   4096 Apr  7 22:09 sc2src\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ mkdir OpenHome\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ sh ohbuild.sh -b OpenHome\r\nopt_t 0\r\nopt_c 0\r\nopt_b 1\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u6570\u5341\u5206\u301c1\u6642\u9593\u7a0b\u5ea6\u6642\u9593\u304c\u639b\u304b\u308b\u3011\r\n\u3000\r\nI..\/ohTopology\/build\/Include\/  WavSender\/WavSender.cpp\r\ng++ -pthread  -o Build\/Obj\/Posix\/Release\/WavSender.elf Build\/Obj\/Posix\/Release\/WavSender.o Build\/Obj\/Posix\/Release\/Ohm.o Build\/Obj\/Posix\/Release\/OhmMsg.o Build\/Obj\/Posix\/Release\/OhmSocket.o Build\/Obj\/Posix\/Release\/OhmSender.o ..\/ohNetGenerated\/Build\/Obj\/Posix\/Release\/DvAvOpenhomeOrgSender1.o ..\/ohNet\/Build\/Obj\/Posix\/Release\/libohNetCore.a ..\/ohNet\/Build\/Obj\/Posix\/Release\/libTestFramework.a\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ \r\n[yasuaki@jukebox sc2mpd-1.1.5]$ .\/configure --prefix=\/usr --with-openhome=.\/OpenHome\r\nchecking for a BSD-compatible install... \/bin\/install -c\r\nchecking whether build environment is sane... yes\r\nchecking for a thread-safe mkdir -p... \/bin\/mkdir -p\r\nchecking for gawk... gawk\r\nchecking whether make sets $(MAKE)... yes\r\nchecking whether make supports nested variables... yes\r\nchecking for g++... g++\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\nconfig.status: creating sc2src\/config.h\r\nconfig.status: executing depfiles commands\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ \r\n[yasuaki@jukebox sc2mpd-1.1.5]$ make\r\ng++ -DHAVE_CONFIG_H -I. -I.\/sc2src  -I. -DDEBUG -g -Wall -DDATADIR=\\\"\/usr\/share\/sc2mpd\\\" -DCONFIGDIR=\\\"\/usr\/etc\\\" -DPACKAGE_VERSION=\\\"1.1.5\\\" -I.\/OpenHome\/ohNet\/Build\/Include\/ -I.\/OpenHome\/ohNetGenerated\/Build\/Include\/ -I.\/OpenHome\/ohTopology\/build\/Include\/ -I.\/OpenHome\/ohSongcast\/ -DWITH_OHBUILD    -DDEFINE_LITTLE_ENDIAN -std=c++11 -g -O2 -MT sc2src\/sc2mpd-alsadirect.o -MD -MP -MF sc2src\/.deps\/sc2mpd-alsadirect.Tpo -c -o sc2src\/sc2mpd-alsadirect.o `test -f 'sc2src\/alsadirect.cpp' || echo '.\/'`sc2src\/alsadirect.cpp\r\nmv -f sc2src\/.deps\/sc2mpd-alsadirect.Tpo sc2src\/.deps\/sc2mpd-alsadirect.Po\r\ng++ -DHAVE_CONFIG_H -I. -I.\/sc2src  -I. -DDEBUG -g -Wall -DDATADIR=\\\"\/usr\/share\/sc2mpd\\\" -DCONFIGDIR=\\\"\/usr\/etc\\\" -DPACKAGE_VERSION=\\\"1.1.5\\\" -I.\/OpenHome\/ohNet\/Build\/Include\/ -I.\/OpenHome\/ohNetGenerated\/Build\/Include\/ -I.\/OpenHome\/ohTopology\/build\/Include\/ -I.\/OpenHome\/ohSon\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\npd2src\/mpd2sc-stringtotokens.o mpd2src\/mpd2sc-wavreader.o sc2src\/mpd2sc-log.o .\/OpenHome\/ohSongcast\/Build\/Obj\/Posix\/Release\/\/Ohm.o .\/OpenHome\/ohSongcast\/Build\/Obj\/Posix\/Release\/\/OhmMsg.o .\/OpenHome\/ohSongcast\/Build\/Obj\/Posix\/Release\/\/OhmSocket.o .\/OpenHome\/ohSongcast\/Build\/Obj\/Posix\/Release\/\/OhmSender.o .\/OpenHome\/ohNetGenerated\/Build\/Obj\/Posix\/Release\/DvAvOpenhomeOrgSender1.o .\/OpenHome\/ohNet\/Build\/Obj\/Posix\/Release\/libohNetCore.a .\/OpenHome\/ohNet\/Build\/Obj\/Posix\/Release\/libTestFramework.a -lasound -lsamplerate -lmicrohttpd -lpthread  -lasound -lsamplerate -lmicrohttpd -lpthread \r\n[yasuaki@jukebox sc2mpd-1.1.5]$ \r\n[yasuaki@jukebox sc2mpd-1.1.5]$ sudo make install\r\n[sudo] password for yasuaki: \r\nmake[1]: Entering directory `\/home\/yasuaki\/UpMPD\/SRC\/sc2mpd-1.1.5'\r\n \/bin\/mkdir -p '\/usr\/bin'\r\n  \/bin\/install -c sc2mpd mpd2sc '\/usr\/bin'\r\n \/bin\/mkdir -p '\/usr\/bin'\r\n \/bin\/install -c mpd2src\/scmakempdsender '\/usr\/bin'\r\nmake[1]: Nothing to be done for `install-data-am'.\r\nmake[1]: Leaving directory `\/home\/yasuaki\/UpMPD\/SRC\/sc2mpd-1.1.5'\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ \r\n\r\n[yasuaki@jukebox sc2mpd-1.1.5]$ cd ..\r\n[yasuaki@jukebox SRC]$ ls -la\r\ntotal 1104\r\ndrwxr-xr-x 5 yasuaki wheel    159 Sep  2 20:53 .\r\ndrwxr-xr-x 4 yasuaki wheel     28 Sep  2 20:39 ..\r\ndrwxr-xr-x 3 yasuaki wheel    303 Apr  6 23:59 libupnpp-0.16.1\r\n-rw-r--r-- 1 yasuaki wheel 473013 Apr  7 01:06 libupnpp-0.16.1.tar.gz\r\ndrwxr-xr-x 5 yasuaki wheel    323 Sep  2 21:50 sc2mpd-1.1.5\r\n-rw-r--r-- 1 yasuaki wheel 219031 Apr  8 01:06 sc2mpd-1.1.5.tar.gz\r\ndrwxr-xr-x 8 yasuaki wheel   4096 Apr  7 00:29 upmpdcli-1.2.16\r\n-rw-r--r-- 1 yasuaki wheel 429958 Apr  7 01:06 upmpdcli-1.2.16.tar.gz\r\n[yasuaki@jukebox SRC]$ cd libupnpp-0.16.1\r\n[yasuaki@jukebox libupnpp-0.16.1]$ \r\n[yasuaki@jukebox libupnpp-0.16.1]$ .\/configure --prefix=\/usr --sysconfdir=\/etc\r\nchecking build system type... x86_64-pc-linux-gnu\r\nchecking host system type... x86_64-pc-linux-gnu\r\nchecking for a BSD-compatible install... \/bin\/install -c\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\nconfig.status: executing depfiles commands\r\nconfig.status: executing libtool commands\r\n[yasuaki@jukebox libupnpp-0.16.1]$ \r\n[yasuaki@jukebox libupnpp-0.16.1]$ make\r\ndepbase=`echo libupnpp\/control\/avlastchg.lo | sed 's|[^\/]*$|.deps\/&|;s|\\.lo$||'`;\\\r\n\/bin\/sh .\/libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I.\/libupnpp  -DDEBUG -g -Wall -I\/usr\/include\/upnp     -DDATADIR=\\\"\/usr\/share\/libupnpp\\\" -DCONFIGDIR=\\\"\/etc\\\"  -std=c++11 -std=c++11 -g -O2 -MT libupnpp\/control\/avlastchg.lo -MD -MP -MF $depbase.Tpo -c -o libupnpp\/control\/avlastchg.lo libupnpp\/control\/avlastchg.cxx &&\\\r\nmv -f $depbase.Tpo $depbase.Plo\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\n-lpthread -lrt -lupnp -lthreadutil -lixml -lcurl -lexpat -L\/usr\/lib\/gcc\/x86_64-redhat-linux\/4.8.5 -L\/usr\/lib\/gcc\/x86_64-redhat-linux\/4.8.5\/..\/..\/..\/..\/lib64 -L\/lib\/..\/lib64 -L\/usr\/lib\/..\/lib64 -L\/usr\/lib\/gcc\/x86_64-redhat-linux\/4.8.5\/..\/..\/.. -lstdc++ -lm -lc -lgcc_s \/usr\/lib\/gcc\/x86_64-redhat-linux\/4.8.5\/crtendS.o \/usr\/lib\/gcc\/x86_64-redhat-linux\/4.8.5\/..\/..\/..\/..\/lib64\/crtn.o  -g -O2 -Wl,-zdefs -pthread   -pthread -Wl,-soname -Wl,libupnpp.so.7 -o .libs\/libupnpp.so.7.0.0\r\nlibtool: link: (cd \".libs\" && rm -f \"libupnpp.so.7\" && ln -s \"libupnpp.so.7.0.0\" \"libupnpp.so.7\")\r\nlibtool: link: (cd \".libs\" && rm -f \"libupnpp.so\" && ln -s \"libupnpp.so.7.0.0\" \"libupnpp.so\")\r\nlibtool: link: ( cd \".libs\" && rm -f \"libupnpp.la\" && ln -s \"..\/libupnpp.la\" \"libupnpp.la\" )\r\n[yasuaki@jukebox libupnpp-0.16.1]$ \r\n[yasuaki@jukebox libupnpp-0.16.1]$ sudo make install\r\n[sudo] password for yasuaki: \r\nmake[1]: Entering directory `\/home\/yasuaki\/UpMPD\/SRC\/libupnpp-0.16.1'\r\n \/bin\/mkdir -p '\/usr\/lib'\r\nmore information, such as the ld(1) and ld.so(8) manual pages.\r\n----------------------------------------------------------------------\r\n \/bin\/mkdir -p '\/usr\/include'\r\n \/bin\/mkdir -p '\/usr\/include\/libupnpp\/control'\r\n \/bin\/install -c -m 644  libupnpp\/control\/avtransport.hxx libupnpp\/control\/cdircontent.hxx libupnpp\/control\/cdirectory.hxx libupnpp\/control\/description.hxx libupnpp\/control\/device.hxx libupnpp\/control\/discovery.hxx libupnpp\/control\/linnsongcast.hxx libupnpp\/control\/mediarenderer.hxx libupnpp\/control\/mediaserver.hxx libupnpp\/control\/ohinfo.hxx libupnpp\/control\/ohplaylist.hxx libupnpp\/control\/ohproduct.hxx libupnpp\/control\/ohradio.hxx libupnpp\/control\/ohreceiver.hxx libupnpp\/control\/ohsender.hxx libupnpp\/control\/ohtime.hxx libupnpp\/control\/ohvolume.hxx libupnpp\/control\/renderingcontrol.hxx libupnpp\/control\/service.hxx libupnpp\/control\/typedservice.hxx '\/usr\/include\/libupnpp\/control'\r\n \/bin\/mkdir -p '\/usr\/include\/libupnpp\/device'\r\n \/bin\/install -c -m 644  libupnpp\/device\/device.hxx libupnpp\/device\/vdir.hxx '\/usr\/include\/libupnpp\/device'\r\n \/bin\/mkdir -p '\/usr\/include\/libupnpp'\r\n \/bin\/install -c -m 644  libupnpp\/base64.hxx libupnpp\/conf_post.h libupnpp\/config.h libupnpp\/log.h libupnpp\/log.hxx libupnpp\/soaphelp.hxx libupnpp\/upnpavutils.hxx libupnpp\/upnpplib.hxx libupnpp\/upnpputils.hxx libupnpp\/workqueue.h '\/usr\/include\/libupnpp'\r\n \/bin\/mkdir -p '\/usr\/lib\/pkgconfig'\r\n \/bin\/install -c -m 644 libupnpp.pc '\/usr\/lib\/pkgconfig'\r\nmake[1]: Leaving directory `\/home\/yasuaki\/UpMPD\/SRC\/libupnpp-0.16.1'\r\n[yasuaki@jukebox libupnpp-0.16.1]$ \r\n\u3000\r\n[yasuaki@jukebox SRC]$ cd upmpdcli-1.2.16\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ .\/configure --prefix=\/usr --sysconfdir=\/etc\r\nchecking for a BSD-compatible install... \/bin\/install -c\r\nchecking whether build environment is sane... yes\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\nchecking pkg-config is at least version 0.9.0... yes\r\nchecking for upnpp... no\r\nconfigure: error: libupnpp\u3000\uff1c\uff1d\uff1d \u74b0\u5883\u5909\u6570: PKG_CONFIG_PATH\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u306e\u3067\u30a8\u30e9\u30fc\u767a\u751f\r\n\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ export PKG_CONFIG_PATH=\/usr\/lib\/pkgconfig:\/usr\/local\/lib\/pkgconfig\u3000\u3000\uff1c\uff1d\uff1d\u3000PKG_CONFIG_PATH\u306e\u8a2d\u5b9a\r\n\u3000\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ .\/configure --prefix=\/usr --sysconfdir=\/etc\r\nchecking for a BSD-compatible install... \/bin\/install -c\r\nchecking whether build environment is sane... yes\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\nUPMPDCLI_LIBS=-lpthread  -pthread -lupnpp -lcurl -lupnp -lthreadutil -lixml   -lmpdclient   -lmicrohttpd   -ljsoncpp  \r\nchecking that generated files are newer than configure... done\r\nconfigure: creating .\/config.status\r\nconfig.status: creating Makefile\r\nconfig.status: creating src\/config.h\r\nconfig.status: executing depfiles commands\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ \r\n[yasuaki@jukebox upmpdcli-1.2.16]$ make\r\nmake  all-am\r\nmake[1]: Entering directory `\/home\/yasuaki\/UpMPD\/SRC\/upmpdcli-1.2.16'\r\ndepbase=`echo src\/avtransport.o | sed 's|[^\/]*$|.deps\/&|;s|\\.o$||'`;\\\r\n\u3000\r\n \uff0e\uff0e\uff0e\u3000\u3010\u7701\u7565\u3011\r\n\u3000\r\n(cd \/\/usr\/share\/upmpdcli\/cdplugins\/uprcl; chmod a+x uprcl-app.py) \r\nmake[3]: Leaving directory `\/home\/yasuaki\/UpMPD\/SRC\/upmpdcli-1.2.16'\r\nmake[2]: Leaving directory `\/home\/yasuaki\/UpMPD\/SRC\/upmpdcli-1.2.16'\r\nmake[1]: Leaving directory `\/home\/yasuaki\/UpMPD\/SRC\/upmpdcli-1.2.16'\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ \r\n[yasuaki@jukebox upmpdcli-1.2.16]$ which upmpdcli\r\n\/bin\/upmpdcli\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ ls -la \/etc\/upmpdcli.conf\r\n-rw------- 1 root root 27104 Sep  2 22:20 \/etc\/upmpdcli.conf\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ \r\n<\/code><\/code><\/pre>\r\n<br>\r\n<h5>\uff14\uff0e&#8221;upmpdcli&#8221; \u5b9f\u884c\u74b0\u5883\u306e\u6574\u5099<h5>\r\n<br>\r\n<p>&#8220;upmpdcli&#8221; \u304c\u7121\u4e8b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u305f\u3089\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb &#8220;\/etc\/upmpdcli.conf&#8221; \u306b\u6700\u4f4e\u9650\u5fc5\u8981\u306a\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8a18\u8f09\u3057\u3001&#8221;upmpdcli&#8221;\u3092\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u767b\u9332\u3057\u3066\u304a\u304f\uff0e<\/p>\r\n<br>\r\n<p>\u3000&#8221;\/etc\/upmpdcli.conf&#8221;\u3000\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u8a18\u8f09\u4f8b <br>\r\n<br>\r\n\u3000logfilename = \/var\/log\/upmpdcli.log<br>\r\n\u3000loglevel = 2<br>\r\n\u3000friendlyname = UPnPLMPDBotic7<br>\r\n\u3000openhome = 1<br>\r\n\u3000mpdhost = 192.168.10.51<br>\r\n\u3000mpdport = 6600<br>\r\n\u3000ohproductroom =  UPnPLMPDBotic7<br>\r\n<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ sudo vi \/usr\/lib\/systemd\/system\/upmpdcli.service\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ cat \/usr\/lib\/systemd\/system\/upmpdcli.service\r\n[Unit]\r\nDescription=UPnP Renderer front-end to MPD\r\nAfter=network.target\r\n\r\n[Service]\r\nType=simple\r\n# Note: if start fails check with \"systemctl status upmpdcli\"\r\nExecStart=\/usr\/bin\/upmpdcli -c \/etc\/upmpdcli.conf\r\n# For some reason, the first start of libupnp fails. Probably this should\r\n# be started later in the start sequence, but I don't know how. Retry a bit\r\n# later. \r\nRestart=always\r\nRestartSec=1min\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n\r\n<\/code><\/code><\/pre>\r\n<br>\r\n<p>&#8220;upmpdcli&#8221; \u5b9f\u884c\u7528\u306e\u30e6\u30fc\u30b6\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3001&#8221;upmpdcli&#8221; \u304cOS\u8d77\u52d5\u6642\u306b\u81ea\u52d5\u8d77\u52d5\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u304a\u304f\uff0e<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ sudo groupadd -g  500 upmpdcli\r\n[sudo] password for yasuaki: \r\n[yasuaki@jukebox upmpdcli-1.2.16]$ sudo useradd -g upmpdcli -u 500 -s \/sbin\/nologin upmpdcli\r\n \r\n[yasuaki@jukebox upmpdcli-1.2.16]$ sudo systemctl enable upmpdcli\r\n[sudo] password for yasuaki: \r\nCreated symlink from \/etc\/systemd\/system\/multi-user.target.wants\/upmpdcli.service to \/usr\/lib\/systemd\/system\/upmpdcli.service.\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ sudo systemctl start upmpdcli\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ ps -aux\r\nUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND\r\nroot         1  0.0  0.1 191044  3992 ?        Ss   14:27   0:05 \/usr\/lib\/systemd\/systemd --switched-root --system --deserialize 22\r\nroot         2  0.0  0.0      0     0 ?        S    14:27   0:00 [kthreadd]\r\nroot         3  0.0  0.0      0     0 ?        S    14:27   0:00 [ksoftirqd\/0]\r\n\r\nroot     17852  0.0  0.0      0     0 ?        S    22:34   0:00 [kworker\/2:1]\r\nroot     17853  0.0  0.0      0     0 ?        S    22:39   0:00 [kworker\/2:2]\r\nupmpdcli 17882  2.0  0.1 659568  6424 ?        Ssl  22:49   0:00 \/usr\/bin\/upmpdcli -c \/etc\/upmpdcli.conf\r\nyasuaki  17892  0.0  0.0 155324  1864 pts\/0    R+   22:49   0:00 ps -aux\r\n[yasuaki@jukebox upmpdcli-1.2.16]$ \r\n<\/code><\/code><\/pre>\r\n<br>\r\n<p>\u3082\u3057\u3001&#8221;upmpdcli&#8221;\u306e\u5b9f\u884c\u6642\u306b\u4e0b\u8a18\u306e\u69d8\u306a\u5171\u6709\u30e9\u30a4\u30d6\u30e9\u30ea\u95a2\u4fc2\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u3089\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b &#8220;ldconfig&#8221; \u3092\u5b9f\u884c\u3057\u3066\u3001\u5171\u6709\u30e9\u30a4\u30d6\u30e9\u30ea\u30d1\u30b9\u3092\u66f4\u65b0\u3057\u3066\u304a\u304f\uff0e<\/p>\r\n<br>\r\n<pre><code class=\"language-Markup\"><code>\r\n[root@jukebox etc]# upmpdcli -D -c  \/etc\/upmpdcli.conf\r\nupmpdcli: error while loading shared libraries: libupnpp.so.7: cannot open shared object file: No such file or directory\r\n\r\n[root@jukebox etc]# ldconfig\r\n\r\n[root@jukebox etc]# ldconfig -p | grep \"libupnpp.so.7\"\r\n\tlibupnpp.so.7 (libc6,x86-64) => \/lib\/libupnpp.so.7\r\n[root@jukebox etc]# \r\n<\/code><\/code><\/pre> \r\n<br>\r\n<h5>\uff15\uff0eKazoo\u306a\u3069\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30a2\u30d7\u30ea\u4e0a\u3067 Room \u540d\u304c\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d<h5>\r\n<br>\r\n<br>\r\n<div style=\"width: 100%; margin: 0 auto; text-align: center;\">\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/KazooRoomSettings.png\" alt=\"Checking on Kazoo Room Settings\" width=\"640\" height=\"408\" class=\"size-full wp-image-6695\" srcset=\"https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/KazooRoomSettings.png 640w, https:\/\/y2tech.net\/blog\/wp-content\/uploads\/2018\/09\/KazooRoomSettings-320x204.png 320w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/> \r\n<br>\r\n<span>Kazoo\u4e0a\u3067\u52d5\u4f5c\u78ba\u8a8d<\/span>\r\n<br>\r\n<\/div>\r\n<br>\r\n<br>\r\n<p>\u6b21\u56de\u306f\u3001CentOS7\u4e0a\u306eKVM\u4eee\u60f3\u74b0\u5883\u4e0b\u3067Debian\u7cfb\u5217\u306eOS\u3092\u5c0e\u5165\u3057\u3066\u3001&#8221;upmpdcli&#8221; \u3092\u8907\u6570\u5c0e\u5165\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3059\u308b\u3053\u3068\u306b\u3059\u308b\uff0e<\/p>\r\n<br>\r\n<hr \/>\r\n<h5>CentOS7 Minimal \u304b\u3089\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b3\u30de\u30f3\u30c9\u629c\u7c8b\uff08\u304a\u307e\u3051\uff09<\/h5>\r\n<pre><code class=\"language-Markup\"><code>\r\nexport PKG_CONFIG_PATH=\/usr\/lib\/pkgconfig:\/usr\/local\/lib\/pkgconfig\r\n\r\nyum update\r\nyum install epel-release\r\nyum install centos-release-yum4\r\nyum install yum4\r\nyum4 install dnf-plugins-core\r\n\r\ndnf install wget\r\ndnf group install \"Development Tools\"\r\n\r\ndnf install libupnp* \r\ndnf install expat*\r\ndnf install jsoncpp*\r\ndnf install libsamplerate*\r\ndnf install libmicrohttpd*\r\ndnf install libcurl*\r\ndnf install libasound*\r\ndnf install alsa-lib*\r\n\r\nwget http:\/\/li.nux.ro\/download\/nux\/dextop\/el7\/x86_64\/libmpdclient-2.7-4.el7.nux.x86_64.rpm\r\nrpm -ivh libmpdclient-2.7-4.el7.nux.x86_64.rpm\r\n\r\nwget http:\/\/li.nux.ro\/download\/nux\/dextop\/el7\/x86_64\/libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm\r\nrpm -ivh libmpdclient-devel-2.7-4.el7.nux.x86_64.rpm\r\n\r\nwget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/sc2mpd-1.1.5.tar.gz\r\ntar xvzf sc2mpd-1.1.5.tar.gz\r\ncd sc2mpd-1.1.5\r\nmkdir OpenHome\r\nsh ohbuild.sh -b OpenHome\r\n.\/configure --prefix=\/usr --with-openhome=OpenHome\r\nmake\r\nmake install\r\n\r\nwget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/libupnpp-0.16.1.tar.gz\r\ntar xvzf libupnpp-0.16.1.tar.gz\r\ncd libupnpp-0.16.1\r\n.\/configure --prefix=\/usr --sysconfdir=\/etc\r\nmake\r\nmake install\r\n\r\nwget https:\/\/www.lesbonscomptes.com\/upmpdcli\/downloads\/upmpdcli-1.2.16.tar.gz\r\ntar xvzf upmpdcli-1.2.16.tar.gz\r\ncd upmpdcli-1.2.16\r\n.\/configure --prefix=\/usr --sysconfdir=\/etc\r\nmake\r\nmake install\r\n<\/code><\/code><\/pre>","protected":false},"excerpt":{"rendered":"\u3055\u3066\u3001\u3053\u308c\u307e\u3067\u9577\u3005\u3068\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u30b5\u30fc\u30d0\u74b0\u5883\u3068\u30aa\u30fc\u30c7\u30a3\u30aa\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u306e\u69cb\u7bc9\u306b\u6642\u9593\u3092\u8cbb\u3084\u3057\u3066\u304d\u305f\u304c\u3001\u3044\u3088\u3044\u3088\u4eca\u56de\u306e\u672c\u984c\u306eUPnP\/OpenHome\u5bfe\u5fdc\u30aa\u30fc\u30c7\u30a3\u30aa\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u306e\u69cb\u7bc9\u306b\u53d6\u308a\u639b\u304b\u308b\u3053\u3068\u306b\u3057\u3088\u3046\uff0e","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[713],"tags":[822,823,804,821],"class_list":["post-6680","post","type-post","status-publish","format-standard","hentry","category-digital-audio","tag-centos7","tag-mpd","tag-openhome","tag-upmpdci"],"_links":{"self":[{"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/posts\/6680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/comments?post=6680"}],"version-history":[{"count":3,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/posts\/6680\/revisions"}],"predecessor-version":[{"id":6779,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/posts\/6680\/revisions\/6779"}],"wp:attachment":[{"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/media?parent=6680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/categories?post=6680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/y2tech.net\/blog\/wp-json\/wp\/v2\/tags?post=6680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}