MusicPlayerDaemon / MPD

Music Player Daemon
https://www.musicpd.org/
GNU General Public License v2.0
2.16k stars 346 forks source link

mpd 21.04 don't find /etc/mpd.conf #467

Closed seniorgod closed 5 years ago

seniorgod commented 5 years ago

Dear all,

i compiled an mpd 21.04 (in order to be able to use nonblocking also device). If i start mpd by 'systemctl start mpd', it won't start, because:

Unit mpd.service has begun starting up. Jan 26 19:18:04 DietPi mpd[8254]: exception: No configuration file found Jan 26 19:18:04 DietPi systemd[1]: mpd.service: Main process exited, code=exited, status=1/FAILURE Jan 26 19:18:04 DietPi systemd[1]: Failed to start Music Player Daemon. -- Subject: Unit mpd.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support

So i try to start mpd via command line. The result is the same. mpd doesn't start because it misses the config file. So i start mpd via command line with 'mpd /etc/mpd.conf &' This is successful. mpd starts and run.

Is it necessary to give the place of mpd.conf as parameter at runtime? The generated mpd.service don't include the a path to mpd.conf. The documentation explain, that mpd search by default for mpd.conf unter /etc. But this doesn't work for me.

seniorgod commented 5 years ago

Dear all, ok i found the build script "installed" /usr/local as location for mpd. therefore mpd expects its config file under /usr/local/etc .... So i linked it from /etc to /usr/local/etc

Is that a "new standard" ? How can i manage to locate mpd under /bin and the config file under /etc ?

MaxKellermann commented 5 years ago

Then this is the sysconfdir you configured in Meson, didn't you? What does "meson configure |grep sysconfdir" in the output directory say?

seniorgod commented 5 years ago

Hm, i simply follow the steps to compel from https://www.musicpd.org/doc/html/user.html meson . output/release --buildtype=debugoptimized -Db_ndebug=true meson configure output/release ninja -C output/release ninja -C output/release install

Everything work. (But pleas note, i never used meson/ninja before......)

the output is from build process is:

~/mpd-0.21.4# meson configure output/release
Core properties:
  Source dir /root/mpd-0.21.4
  Build dir  /root/mpd-0.21.4/output/release

Core options:
  Option          Current Value  Possible Values                                          Description                                             
  ------          -------------  ---------------                                          -----------                                             
  auto_features   auto           [enabled, disabled, auto]                                Override value of all 'auto' features                   
  backend         ninja          [ninja, vs, vs2010, vs2015, vs2017, xcode]               Backend to use                                          
  buildtype       debugoptimized [plain, debug, debugoptimized, release, minsize, custom] Build type to use                                       
  debug           true           [true, false]                                            Debug                                                   
  default_library shared         [shared, static, both]                                   Default library type                                    
  install_umask   0022           [preserve, 0000-0777]                                    Default umask to apply on permissions of installed files
  layout          mirror         [mirror, flat]                                           Build directory layout                                  
  optimization    2              [0, g, 1, 2, 3, s]                                       Optimization level                                      
  strip           false          [true, false]                                            Strip targets on install                                
  unity           off            [on, off, subprojects]                                   Unity build                                             
  warning_level   1              [1, 2, 3]                                                Compiler warning level to use                           
  werror          false          [true, false]                                            Treat warnings as errors                                
  wrap_mode       default        [default, nofallback, nodownload, forcefallback]         Wrap mode                                               

Backend options:
  Option            Current Value Possible Values Description                                                
  ------            ------------- --------------- -----------                                                
  backend_max_links 0             >=0             Maximum number of linker processes to run or 0 for no limit

Base options:
  Option      Current Value Possible Values                                               Description                                   
  ------      ------------- ---------------                                               -----------                                   
  b_asneeded  true          [true, false]                                                 Use -Wl,--as-needed when linking              
  b_colorout  always        [auto, always, never]                                         Use colored output                            
  b_coverage  false         [true, false]                                                 Enable coverage tracking.                     
  b_lto       false         [true, false]                                                 Use link time optimization                    
  b_lundef    true          [true, false]                                                 Use -Wl,--no-undefined when linking           
  b_ndebug    true          [true, false, if-release]                                     Disable asserts                               
  b_pch       true          [true, false]                                                 Use precompiled headers                       
  b_pgo       off           [off, generate, use]                                          Use profile guided optimization               
  b_pie       false         [true, false]                                                 Build executables as position independent     
  b_sanitize  none          [none, address, thread, undefined, memory, address,undefined] Code sanitizer to use                         
  b_staticpic true          [true, false]                                                 Build static libraries as position independent

Compiler options:
  Option        Current Value Possible Values                                                                                               Description                               
  ------        ------------- ---------------                                                                                               -----------                               
  c_args        []                                                                                                                          Extra arguments passed to the C compiler  
  c_link_args   []                                                                                                                          Extra arguments passed to the C linker    
  c_std         c99           [none, c89, c99, c11, gnu89, gnu99, gnu11]                                                                    C language standard to use                
  cpp_args      []                                                                                                                          Extra arguments passed to the C++ compiler
  cpp_debugstl  false         [true, false]                                                                                                 STL debug mode                            
  cpp_link_args []                                                                                                                          Extra arguments passed to the C++ linker  
  cpp_std       c++14         [none, c++98, c++03, c++11, c++14, c++17, c++1z, c++2a, gnu++03, gnu++11, gnu++14, gnu++17, gnu++1z, gnu++2a] C++ language standard to use              

Directories:
  Option         Current Value           Description                            
  ------         -------------           -----------                            
  bindir         bin                     Executable directory                   
  datadir        share                   Data file directory                    
  includedir     include                 Header file directory                  
  infodir        share/info              Info page directory                    
  libdir         lib/arm-linux-gnueabihf Library directory                      
  libexecdir     libexec                 Library executable directory           
  localedir      share/locale            Locale data directory                  
  localstatedir  /var/local              Localstate data directory              
  mandir         share/man               Manual page directory                  
  prefix         /usr/local              Installation prefix                    
  sbindir        sbin                    System executable directory            
  sharedstatedir /var/local/lib          Architecture-independent data directory
  sysconfdir     etc                     Sysconf data directory                 

Project options:
  Option                  Current Value Possible Values                  Description                                         
  ------                  ------------- ---------------                  -----------                                         
  adplug                  auto          [enabled, disabled, auto]        AdPlug decoder plugin                               
  alsa                    auto          [enabled, disabled, auto]        ALSA support                                        
  android_abi             armeabi-v7a                                    The Android ABI to be built                         
  android_debug_keystore                                                 The keystore file used to sign debug APK files      
  android_keyalias                                                       The key alias used to sign APK files                
  android_keypass                                                        The password of the keystore used to sign APK files 
  android_keystore                                                       The keystore file used to sign APK files            
  android_ndk                                                            The path where Android NDK is installed             
  android_sdk                                                            The path where Android SDK is installed             
  android_strip           strip                                          The "strip" tool from the NDK                       
  ao                      auto          [enabled, disabled, auto]        libao output plugin                                 
  audiofile               auto          [enabled, disabled, auto]        libaudiofile decoder plugin                         
  bzip2                   auto          [enabled, disabled, auto]        bzip2 support using libbz2                          
  cdio_paranoia           auto          [enabled, disabled, auto]        libcdio_paranoia input plugin                       
  chromaprint             auto          [enabled, disabled, auto]        ChromaPrint / AcoustID support                      
  cue                     true          [true, false]                    CUE sheet support                                   
  curl                    auto          [enabled, disabled, auto]        HTTP client using CURL                              
  daemon                  true          [true, false]                    enable daemonization                                
  database                true          [true, false]                    enable support for the music database               
  dbus                    auto          [enabled, disabled, auto]        D-Bus support                                       
  documentation           false         [true, false]                    Build documentation                                 
  dsd                     true          [true, false]                    Support the DSD audio format                        
  epoll                   true          [true, false]                    Use epoll on Linux                                  
  eventfd                 true          [true, false]                    Use eventfd() on Linux                              
  expat                   auto          [enabled, disabled, auto]        Expat XML support                                   
  faad                    auto          [enabled, disabled, auto]        AAC decoder using libfaad                           
  ffmpeg                  auto          [enabled, disabled, auto]        FFmpeg codec support                                
  fifo                    true          [true, false]                    FIFO output plugin                                  
  flac                    auto          [enabled, disabled, auto]        FLAC decoder plugin                                 
  fluidsynth              auto          [enabled, disabled, auto]        fluidsynth MIDI decoder plugin                      
  gme                     auto          [enabled, disabled, auto]        Game Music Emulator decoder plugin                  
  httpd                   true          [true, false]                    HTTP streaming output plugin                        
  iconv                   auto          [enabled, disabled, auto]        Use iconv() for character set conversion            
  icu                     auto          [enabled, disabled, auto]        Use libicu for Unicode                              
  id3tag                  auto          [enabled, disabled, auto]        ID3 support using libid3tag                         
  inotify                 true          [true, false]                    inotify support (for automatic database update)     
  ipv6                    auto          [enabled, disabled, auto]        Support for IPv6                                    
  iso9660                 auto          [enabled, disabled, auto]        ISO9660 support using libiso9660                    
  jack                    auto          [enabled, disabled, auto]        JACK output plugin                                  
  lame                    auto          [enabled, disabled, auto]        LAME MP3 encoder plugin                             
  libmpdclient            auto          [enabled, disabled, auto]        libmpdclient support (for the proxy database plugin)
  libsamplerate           auto          [enabled, disabled, auto]        libsamplerate resampler                             
  local_socket            true          [true, false]                    Support for clients connecting via local sockets    
  mad                     auto          [enabled, disabled, auto]        MP3 decoder using libmad                            
  mikmod                  auto          [enabled, disabled, auto]        MikMod decoder plugin                               
  mms                     auto          [enabled, disabled, auto]        MMS protocol support using libmms                   
  modplug                 auto          [enabled, disabled, auto]        Modplug decoder plugin                              
  mpcdec                  auto          [enabled, disabled, auto]        Musepack decoder plugin                             
  mpg123                  auto          [enabled, disabled, auto]        MP3 decoder using libmpg123                         
  neighbor                true          [true, false]                    enable support for neighbor discovery               
  nfs                     auto          [enabled, disabled, auto]        NFS protocol support using libnfs                   
  openal                  auto          [enabled, disabled, auto]        OpenAL output plugin                                
  opus                    auto          [enabled, disabled, auto]        Opus decoder plugin                                 
  oss                     auto          [enabled, disabled, auto]        Open Sound System support                           
  pcre                    auto          [enabled, disabled, auto]        Enable regular expression support (using libpcre)   
  pipe                    true          [true, false]                    Pipe output plugin                                  
  pulse                   auto          [enabled, disabled, auto]        PulseAudio support                                  
  qobuz                   auto          [enabled, disabled, auto]        Qobuz client                                        
  recorder                true          [true, false]                    Recorder output plugin                              
  shine                   auto          [enabled, disabled, auto]        shine MP3 encoder plugin                            
  shout                   auto          [enabled, disabled, auto]        Shoutcast streaming support using libshout          
  sidplay                 auto          [enabled, disabled, auto]        C64 SID support via libsidplayfp or libsidplay2     
  signalfd                true          [true, false]                    Use signalfd() on Linux                             
  smbclient               auto          [enabled, disabled, auto]        SMB support using libsmbclient                      
  sndfile                 auto          [enabled, disabled, auto]        libsndfile decoder plugin                           
  sndio                   auto          [enabled, disabled, auto]        sndio output plugin                                 
  solaris_output          auto          [enabled, disabled, auto]        Solaris /dev/audio support                          
  soundcloud              auto          [enabled, disabled, auto]        SoundCloud client                                   
  soxr                    auto          [enabled, disabled, auto]        libsoxr resampler                                   
  sqlite                  auto          [enabled, disabled, auto]        SQLite database support (for stickers)              
  syslog                  auto          [enabled, disabled, auto]        syslog support                                      
  systemd                 auto          [enabled, disabled, auto]        systemd support                                     
  systemd_system_unit_dir                                                systemd system service directory                    
  systemd_user_unit_dir                                                  systemd user service directory                      
  tcp                     true          [true, false]                    Support for clients connecting via TCP              
  test                    false         [true, false]                    Build the unit tests and debug programs             
  tidal                   auto          [enabled, disabled, auto]        Tidal client                                        
  twolame                 auto          [enabled, disabled, auto]        TwoLAME MP2 encoder plugin                          
  udisks                  auto          [enabled, disabled, auto]        Support for removable media using udisks2           
  upnp                    auto          [enabled, disabled, auto]        UPnP client support                                 
  vorbis                  auto          [enabled, disabled, auto]        Vorbis decoder plugin                               
  vorbisenc               auto          [enabled, disabled, auto]        Vorbis encoder plugin                               
  wave_encoder            true          [true, false]                    PCM wave encoder encoder plugin                     
  wavpack                 auto          [enabled, disabled, auto]        WavPack decoder plugin                              
  webdav                  auto          [enabled, disabled, auto]        WebDAV support using CURL and Expat                 
  wildmidi                auto          [enabled, disabled, auto]        WildMidi decoder plugin                             
  yajl                    auto          [enabled, disabled, auto]        libyajl for YAML support                            
  zeroconf                auto          [auto, avahi, bonjour, disabled] Zeroconf support                                    
  zlib                    auto          [enabled, disabled, auto]        zlib support (for database compression)             
  zzip                    auto          [enabled, disabled, auto]        ZIP support using zziplib                           

Testing options:
  Option    Current Value Possible Values Description                                 
  ------    ------------- --------------- -----------                                 
  errorlogs true          [true, false]   Whether to print the logs from failing tests
  stdsplit  true          [true, false]   Split stdout and stderr in test logs        
root@DietPi:~/mpd-0.21.4# ninja -C output/release
ninja: Entering directory `output/release'
[1/3] Generating GitVersion.cxx with a custom command.
root@DietPi:~/mpd-0.21.4# ninja -C output/release install
ninja: Entering directory `output/release'
[1/2] Installing files.
Installing mpd to /usr/local/bin
Installing /root/mpd-0.21.4/systemd/system/mpd.socket to /usr/local/lib/systemd/system
Installing /root/mpd-0.21.4/output/release/systemd/system/mpd.service to /usr/local/lib/systemd/system
Installing /root/mpd-0.21.4/output/release/systemd/user/mpd.service to /usr/local/lib/systemd/user
Installing /root/mpd-0.21.4/mpd.svg to /usr/local/share/icons/hicolor/scalable/apps
Installing /root/mpd-0.21.4/AUTHORS to /usr/local/share/doc/mpd
Installing /root/mpd-0.21.4/COPYING to /usr/local/share/doc/mpd
Installing /root/mpd-0.21.4/NEWS to /usr/local/share/doc/mpd
Installing /root/mpd-0.21.4/README.md to /usr/local/share/doc/mpd `

if i run

meson configure

i get


root@DietPi:~/mpd-0.21.4# meson configure
Meson configurator encountered an error:

ERROR: Directory /root/mpd-0.21.4 does not seem to be a Meson build directory.
root@DietPi:~/mpd-0.21.4# cd build
root@DietPi:~/mpd-0.21.4/build# meson configure
Meson configurator encountered an error:

ERROR: Directory /root/mpd-0.21.4/build does not seem to be a Meson build directory.

``
MaxKellermann commented 5 years ago

If you want MPD to look for mpd.conf in /etc/ instead of /usr/local/etc/ (=Meson's default) configure with -Dsysconfdir=/etc.

seniorgod commented 5 years ago

Thanks