Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macOS上的Pacman fork_C_Macos_Makefile_Archlinux_Package Managers - Fatal编程技术网

macOS上的Pacman fork

macOS上的Pacman fork,c,macos,makefile,archlinux,package-managers,C,Macos,Makefile,Archlinux,Package Managers,我正在做一个项目,这是一个分叉。我正在尝试为macOS和Linux开发这个项目。到目前为止,在macOS上编译我的项目是成功的,但是我在一些目录上遇到了问题。在Makefile.am中,应该创建数据库和缓存的目录: # create the meme DB, cache, makepkg-template and system hook directories upon install install-data-local: for dir in "$(DESTDIR)$(localst

我正在做一个项目,这是一个分叉。我正在尝试为macOS和Linux开发这个项目。到目前为止,在macOS上编译我的项目是成功的,但是我在一些目录上遇到了问题。在Makefile.am中,应该创建数据库和缓存的目录:

# create the meme DB, cache, makepkg-template and system hook directories upon install
install-data-local:
    for dir in "$(DESTDIR)$(localstatedir)/lib/meme" "$(DESTDIR)$(localstatedir)/cache/meme/pkg" \
               "$(DESTDIR)$(datarootdir)/makepkg-template" "$(DESTDIR)$(datarootdir)/libalpm/hooks"; do \
    test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
在macOS上安装后,这些目录丢失,因此我通过
pacman
得到以下错误:

error: failed to initialize alpm library
(could not find or read directory: /usr/local/Cellar/meme/0.0.8.2/var/lib/meme/)
我正在使用自制来编译、封装和安装软件包管理器。您可以在GitHub上找到我的公式:

你知道如何解决这个问题吗?这是操作系统特有的问题吗?

正如Freenode(pacman官方开发频道)上的#archlinux pacman IRC频道中所讨论的那样,pacman安装了两个空目录,这些目录似乎是在手动
make install
上成功创建的,但在brew安装时却没有


Brew可能正在删除这些目录,因为它认为您不需要它们。这也类似于makepkg中的一个特性——如果!如果在或PKGBUILD中指定了emptydirs选项,则将删除空目录。默认情况下禁用此选项,因为当合法需要这些目录时,它可能会导致问题。

再次感谢您的帮助!:)#ArchLinuxPacman是乐于助人的家伙和女孩!使用
brew
,需要在
post_install
中创建目录,请参阅:。