Clamav-freshclam cannot start due to missing PID directory

clamav-freshclam as in the current Manjaro ARM release cannot start because it tries to write its own PID in /var/run/clamav/, but that directory isn’t automatically created.

logrotate currently relies on these PID files in /etc/logrotate.d/clamav so it’s not possible to just deactivate PID files, before updating the logrotate script to switch it to, e.g., systemctl reload instead.

/var/run is a symlink to /run - which is a volatle structure created at runtime.

Since the folder is populated at runtime - it points to a bug in the upstream source - as the app itself is reponsible for creating the pid file.

Furthermore it appears to be a common issue deducted from a search

Nope - not a part of Manjaro - clamav exist but clamav-freshclam is not a package in Msnjaro repo - not even AUR.

If it is the clamav package you are referring to - I suggest you edit the config to place the pid file in e.g. /tmp which on Manjaro is on the volatile tmpfs or as /var/run/

According to the example config it is disabled by default - in that sense - not strictly required - thus your error is rooted in your configuration.

 $ clamconf --generate-config=freshclam.conf
# Save the process ID to a file.
# Default: disabled
#PidFile /var/run/

As far as i know the command is only freshclam
It shows a warning about /run/clamav/clam.ctl but updates ok.