[3rd-Party Apps] [已解决]deepin 20.2 下浩辰CAD2021选择物理打印机后闪退
Tofloor
poster avatar
littlebat
deepin
2021-04-15 23:44
Author

我用的是官方的最新版 GstarCAD2021_Linux_uos_amd64_v2.0_20210317.deb。

先是无法打开浩辰CAD程序,据“[问题求助] deepin 20.2 无法打开浩辰CAD2021,在deepin20.1下正常打开 https://bbs.deepin.org/zh/post/218293 ”介绍的临时方法,用下列脚本临时解决可以打开图纸:

mv /opt/apps/com.gstarcad.cad/files/qtplugins/{platforms,platforms.orig} -v
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms /opt/apps/com.gstarcad.cad/files/qtplugins/ -rv

但是又出现在 Deepin 20.1 下没有出现的新问题,无法用打印机打印图纸,在打印界面一点击物理打印机浩辰CAD就闪退,打印成PDF不会闪退。在命令行“bash /opt/apps/com.gstarcad.cad/files/gcad.sh”启动浩辰CAD闪退后的信息显示为:

free(): invalid pointer
/opt/apps/com.gstarcad.cad/files/gcad.sh:行 52:  9253 已放弃               "${CAD_RUN_PATH}/gcad" "$@"
Reply Favorite View the author
All Replies
deepin-mq
deepin
2021-04-15 23:48
#1
Reply View the author
sukanka
deepin
2021-04-16 00:23
#2

唉,祝你好运吧,希望你早日解决这个问题。解决不了的话欢迎来 ArchLinux, 我们有 aur 包 gstarcad-bin

Reply View the author
mgmpk
deepin
2021-04-16 04:16
#3

去去问CAD的官网客服

Reply View the author
littlebat
deepin
2021-04-16 18:30
#4
sukanka

唉,祝你好运吧,希望你早日解决这个问题。解决不了的话欢迎来 ArchLinux, 我们有 aur 包 gstarcad-bin

我有空的时间试试把Deepin 20.1时,浩辰CAD能运行的必须环境移植进 Deepin 20.2

Reply View the author
littlebat
deepin
2021-04-16 18:31
#5
mgmpk

去去问CAD的官网客服

嗯,我自己先简单处理一下,实在不行再看

Reply View the author
sukanka
deepin
2021-04-16 20:43
#6
littlebat

我有空的时间试试把Deepin 20.1时,浩辰CAD能运行的必须环境移植进 Deepin 20.2

你有探索心,我就告诉你一下大概思路吧。主要思路是删除浩辰的qt 库,用系统的 qt 库。同时需要改一下 qt.conf文件。

把这里的依赖装上(deepin 的包名可能不一样)。

depends=('qt5-svg' 'qt5-imageformats' 'hicolor-icon-theme')
optdepends=('deepin-qt5integration: deepin DE integration')

你可以自己去下 https://dl.sukanka.com/aliyun/ 里面的 gstarcad-bin。然后解压重新打包成deb(其实直接解压到 根目录可能也可以,但是不建议。)

你也可以学一下 Arch 的 PKGBUILD, 至少这样你会跟着 AUR 的 PKGBUILD 自己改

Reply View the author
littlebat
deepin
2021-04-17 02:08
#7
sukanka

你有探索心,我就告诉你一下大概思路吧。主要思路是删除浩辰的qt 库,用系统的 qt 库。同时需要改一下 qt.conf文件。

把这里的依赖装上(deepin 的包名可能不一样)。

depends=('qt5-svg' 'qt5-imageformats' 'hicolor-icon-theme')
optdepends=('deepin-qt5integration: deepin DE integration')

你可以自己去下 https://dl.sukanka.com/aliyun/ 里面的 gstarcad-bin。然后解压重新打包成deb(其实直接解压到 根目录可能也可以,但是不建议。)

你也可以学一下 Arch 的 PKGBUILD, 至少这样你会跟着 AUR 的 PKGBUILD 自己改

谢谢。我已经解决了。

我没仔细看错误输出,退出错误的前面指出了可能是 libcupsprintersupport.so 引起,我把系统中相应文件复制过去就行了,如下:

mv /opt/apps/com.gstarcad.cad/files/qtplugins/printsupport/{libcupsprintersupport.so,libcupsprintersupport.so.orig} -v

cp /usr/lib/x86_64-linux-gnu/qt5/plugins/printsupport/libcupsprintersupport.so /opt/apps/com.gstarcad.cad/files/qtplugins/printsupport/ -v

上面完整的错误提示如下图:

 

另外,我直接复制你包里的文件到系统中,同样复制了系统的相应文件,如下:

sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/* /usr/lib/gstarcad/ -rv

sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/printsupport/libcupsprintersupport.so /usr/lib/gstarcad/ -v

但是你的包在我的 Deepin20.2 上可以打开,但是不显示物理打印机。可能你需要检查一下你的包,或者在你原来的 Archlinux 上没问题?如下图:

 

我解决问题后的打印机列表后多了物理打印机且再点击不会闪退了,如下图,LBP2900 就是我的物理打印机:

Reply View the author
sukanka
deepin
2021-04-17 04:13
#8

我没有物理打印机。你的路径确实和我的不一样,你是 /usr/lib/x86_64-linux-gnu/qt5/plugins。另外我打的包全部用的系统自带的库,我的系统自带的qt 库都在 /usr/lib/qt/plugins

Reply View the author