在M1 Mac上运行DAZ Studio

スクリーンショット 2022-01-06 18.02.25.png

运动环境

・MacBookPro macOS12.1(蒙特雷),M1 Max。
・DAZ Studio 4.16

我想解决这个错误。

当您启动DAZ Studio时,会显示”无法建立有效的PostgreSQL CMS连接…”的错误消息。尽管您可以使用它来处理本地文件,但无法登录,因此无法使用在线购买的内容。

スクリーンショット 2022-01-04 11.16.43.png

使用DIM安装DAZ Studio

最初我是通过DAZ Central安装的DAZ Studio,但看起来最新版本的Mac系统并不完全支持它,实际运行时出现了几次冻结并崩溃的情况。
根据推荐,建议使用DIM(Daz 3D安装管理器)进行安装。

スクリーンショット 2022-01-06 16.26.05.png

将PostgreSQL的工作文件夹更改

通常,PostgreSQL的工作目录会在以下目录中创建。

~/Library/Application Support/DAZ 3D/cms/ContentCluster

安装PostgreSQL CMS后,应该会保存配置文件和日志文件在其中,但是在Big Sur及其之后的版本中,权限处理似乎发生了变化,可能会出现无法正常工作的情况。在我的情况下,日志文件也没有保存任何内容,是空的状态。

由于更改权限设置也没有成功,所以我在桌面上创建了一个cms文件夹,并在DAZ Studio中通过「Preferences…」>「CMS Settings」>「Cluster Directory」选项,将路径更改为新创建的cms文件夹。

然后,在DIM上重新安装DAZ Studio和PostgreSQL之后,成功生成了日志文件。

更改共享内存的设置

当检查ContentCluster文件夹中的日志文件(dblog.txt)时,出现以下错误。

FATAL:  could not create shared memory segment: Cannot allocate memory
DETAIL:  Failed system call was shmget(key=17237001, size=40, 03600).
HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.
    The PostgreSQL documentation contains more information about shared memory configuration.

我认为我没有足够的共享内存,所以我对设置进行了更改,但后来在论坛上有人评论说” macOS的共享内存存在”错误”和”实现问题”,这个错误可以通过重新启动计算机来解决”,所以首先尝试重新启动计算机,如果问题仍未解决,请尝试以下步骤。

首先,在终端上确认当前的共享内存设置时,会发现内存最大值和段的最大值非常低。

$ sysctl kern.sysv
kern.sysv.shmall: 1024
kern.sysv.shmmax: 4194304
kern.sysv.shmmin: 1
kern.sysv.shmmni: 32
kern.sysv.shmseg: 8
kern.sysv.semmni: 87381
kern.sysv.semmns: 87381
kern.sysv.semmnu: 87381
kern.sysv.semmsl: 87381
kern.sysv.semume: 10

请执行以下命令以增加最大值,并重新启动计算机。

$ sudo sysctl kern.sysv.shmmax=536870912
$ sudo sysctl kern.sysv.shmseg=1024
$ sudo sysctl kern.sysv.shmall=131072

我参考了这篇文章来修改共享内存。

将PostgreSQL切换为在homebrew上安装的版本。

接下来,以下错误信息出现在日志文件中。

FATAL: Database files are incompatible with server
DETAIL: The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL.
HINT: It looks like you need to recompile or initdb.

我总觉得由于处理器从Intel更换到ARM可能会产生一些影响,而且重新编译也会很麻烦,所以我放弃了使用DIM安装的PostgreSQL,决定尝试使用Homebrew安装的版本。

首先,使用Homebrew安装PostgreSQL。

$ brew install postgresql

删除/Applications/DAZ 3D/PostgreSQL CMS中的bin、include、lib和share文件夹,并创建一个符号链接来替换以前安装的内容。(也许直接整个内容复制过去也可以)

$ ln -s /opt/homebrew/Cellar/postgresql/14.1_1/bin /Applications/DAZ\ 3D/PostgreSQL\ CMS/bin
$ ln -s /opt/homebrew/Cellar/postgresql/14.1_1/include /Applications/DAZ\ 3D/PostgreSQL\ CMS/include
$ ln -s /opt/homebrew/Cellar/postgresql/14.1_1/lib /Applications/DAZ\ 3D/PostgreSQL\ CMS/lib
$ ln -s /opt/homebrew/Cellar/postgresql/14.1_1/share /Applications/DAZ\ 3D/PostgreSQL\ CMS/share
スクリーンショット 2022-01-06 1.45.40.png

数据库初始化

这个工程可能不是必需的,但是我还是用initdb初始化了ContentCluster文件夹的内容。

$ initdb --locale=C -E UTF-8 ~/Desktop/cms/ContentCluster/
スクリーンショット 2022-01-06 2.45.39.png

数据库已被重置,但在这里也出现了dblog.txt的错误。

FATAL:  pg_hba.conf rejects connection for host "[local]", user "USERNAME", database "postgres", SSL off

打开pg_hba.conf文件后,发现所有local行都被设置为reject,因此需要将此行的reject替换为trust。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     reject
スクリーンショット 2022-01-06 2.44.03.png

在工作过程中,多次尝试使用DIM重新安装,或重复启动DAZ Studio,若无法成功,请尝试多次重新安装或重启。

广告
将在 10 秒后关闭
bannerAds