简记通过Yast处理Linux依赖问题并化简

大老赖不赖 52 2022-08-17

这里进入上文

bing一下

刚开始我看到Screenshot_20220817_003049
Unable to load native GTK lib我就去bing了一下,找到了一个相关的
Screenshot_20220817_101739
然而点进去
image-1660702758272
这不是废话吗?
还是得自己动手啊

处理缺失的依赖

既然是gtk的,那我就去找GTK呗。
搜索了gtk发现太多了,不过从中找到了一个应该与之相关的。
Screenshot_20220817_102454
接着搜索libgtk
Screenshot_20220817_102937
不算多,然后我全部勾选,安装之后能成功启动IDEA

简化不需要的依赖

全部安装之后大概也占了300-400MiB的空间,我就想着既然不算多,那就一个个试呗。
先把刚刚安装的全部卸了

大范围搜索

直觉告诉我libgtk绝对是,刚开始我就把前面几个都勾上了
Screenshot_20220817_103253
失败😅,接着卸载

继续搜索

往下继续勾,当我勾到libgtkdatabox-0_9_3-1时,libgtk-2_0-0自动勾上了
image-1660703938383
还是直觉,感觉就是这个了,于是我又把下面libgtkdatabox同名的那几个也勾上
Screenshot_20220817_104025
安装完成后能正常启动idea

老天有眼

缩小搜索范围

还没完,安装之后还是上百MiB,我就想看看能不能继续缩小。
还是先把刚刚安装的卸载,然后把刚刚安装的这几个一个个试。
Screenshot_20220817_104316
失败->删除->下一个->失败->删除->下一个…
直到libgtkdatabox-devel,安装之后成功了!
好,可能到这里已经比刚刚省下超过一半的空间了,您也可能不会继续弄下去了,但我空间吃紧啊,继续精简下去!

继续精简

还是把刚刚libgtkdatabox-develh给删了,然后勾选上,查看依赖项
image-1660704927099
可以看到有cairo、gtk+2、pango
这三个一个个试,发现第一个cairo可以运行

其实到这里应该就能发现是与libstdc++6-devel有关的了

然后删掉cairo-devel,继续找依赖
只不过这里有个简单的方法,可能不正确,请多指教。
找到安装摘要,去掉cairo-devel的勾
image-1660706225485
您会发现所有勾都去掉了
然后找所有的devel的包,一个个勾,直到找到需要libstdc++6-devel-gcc12 的包,比如glib2-devel
image-1660706426658
这时候可以点击安装去试了,成功运行!Screenshot_20220817_100155

还可以更简吗?应该可以,但我按上面的方法试了一下发现不行,也许glib2-devel是最简的依赖包了吧。