分类 计算机 下的文章

[原创]Intel数学库引起Manjaro上Quantum Espresso段错误问题的解决

个人原创,如有转载,请注明出处。——by realasking

最近在联想Legion R7000P 2021款机器上的Manjaro Linux中安装了Quantum Espresso 7.0,希望在平时用作计算脚本测试的平台。结果,将以前的计算脚本拷贝过来,测试时报段错误。错误提示是:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

pw.x的错误提示中看不到任何有用的信息。难道是新版QE语法有变更?经过在其官网仔细核对,没有看到任何语法错误。那是stackmemlock的设置不对?在/etc/security/limits.conf中都设为unlimited仍然如此。还是说我的编译设置有问题?对照configure和官网的内容检查了PKGBUILD文件中的参数,没有问题。

在彷徨无计之际,就想到在HP的星13Air上试试,万一是显卡原因呢?结果相同的PKGBUILD编译出来的QE在HP这机器上很顺利的跑起来了。于是我又在联想这机器上修改PKGBUILD以关闭显卡支持后再编译,但运行时仍然报段错误。不过这个时候,我有了两个可以对比的对象。在两台电脑上分别用ldd检查链接库,发现联想机器上QE用的数学库链接到了intel-mklOneAPI,但系统的scalapack链接到的是lapackblas,而在HP的机器上,他们都链接到的lapackblas

问题找到了就好办了,在联想机器上先卸载intel的数学库,以及与之相关的程序,然后编译安装QE,再将那些程序装回去即可。在这个过程中,需要下载openmpiPKGBUILD和源代码,稍作修改后重新编译一个不含cuda支持的版本,或者编译使用mpich的包来提供mpi

之所以会遇到这个问题,是因为联想的机器有nvidia RTX-3050Ti显卡,安装tensorflow的时候,会将cudaIntel OneAPI相关的东西都装上,但是Manjaro Linux提供的OneAPI包并未提供Intel版的scalapack,导致QE编译时安装的scalapack又是原始版本的,在数学库调用时就产生了冲突。

[原创]在Manjaro Linux上安装brother-t420w打印机

个人原创,如有转载,请注明出处。——by realasking

最近到了一个大学工作,为了方便,自己买了一个Brother DCP-T420W打印机。这个打印机是墨仓式彩色打印和扫描复印一体机,并且支持无线打印功能.根据它的说明,在Windows 11、Realme GT Neo和Ubuntu 20.04上安装使用都非常方便。但是,我还有两台机器使用的是Manjaro Linux,官方没有提供相应的解决方案。这两天是五一假期,就试着折腾了一下,解决了这个问题。以下就是处理办法。

1.打印机设置

a. 在浏览器中输入打印机地址:192.168.0.105,然后输入管理密码完成登录。

192.168.0.105是我的打印机的地址,如果网友不知道自己打印机的地址的话,登录到你的路由器或Wifi的管理页面,查看连接设备即可。

b. 点击网络-服务,记录下服务名称

c. 点击网络-协议,点击LPD后的高级设置,勾选启用LPD标志,然后提交

2.驱动准备

a.从AUR上下载brother-dcpt520w的PKGBUILD和相关附加文件,并将brother-dcpt520w文件夹改名为brother-dcpt420w

b.将以下文件替换brother-dcpt420w中的文件:

PKGBUILD文件:

# Maintainer: none <[email protected]>
# Modified by realasking from brother-dcpt520w maintained by Chiwan Park 

pkgname=brother-dcpt420w
pkgver=3.5.0
pkgrel=1
pkgdesc="Driver for the Brother DCP-T420W wifi multifuncional printer"
url="http://solutions.brother.com/linux/en_us/index.html"
license=('custom:brother')
install="brother-dcpt420w.install"
arch=('i686' 'x86_64')
optdepends=('sane: scanning support'
            'brscan4: making dcpt420w available to sane'
            'brscan-skey: scankey support if connected via usb')

if [[ "$CARCH" == "x86_64" ]] ; then
  depends=('a2ps' 'cups' 'lib32-glibc')
elif [[ "$CARCH" == "i686" ]] ; then
  depends=('a2ps' 'cups')
fi

source=(
  "https://download.brother.com/welcome/dlf105168/dcpt420wpdrv-3.5.0-1.i386.deb" \
  "fix_lp.patch"
)
sha256sums=(
  '3ede819a65aec379ec7676f7ac0cacabd70879fbaaf2c7978eeae406c0e1c1f2' \
  'ddb53ba14356b1fb98f19e3b32f124e878f06819a2cb6cb40a719d2250fababf'
)

build() {
    cd "$srcdir"
    tar -xf data.tar.gz -C .
    tar -xf control.tar.gz -C .
  patch -Np0 < fix_lp.patch
}

post_install() {
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
}

package() {
  install -d $pkgdir/usr/bin
  install -d $pkgdir/var/spool/lpd
  cp -R $srcdir/opt $pkgdir/opt
}

brother-dcpt420w.install文件:

post_install() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -i
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
  
  systemctl restart org.cups.cups.service
}

post_upgrade() {
  /bin/true
}

pre_remove() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -e
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w -e
}

op=$1
shift

$op "$@"

fix_lp.patch文件:

--- opt/brother/Printers/dcpt420w/inf/setupPrintcapij.old       2008-09-15 22:01:07.000000000 +0200
+++ opt/brother/Printers/dcpt420w/inf/setupPrintcapij   2008-09-15 22:01:26.000000000 +0200
@@ -34,7 +34,7 @@
        if [ ! -d $SPOOLER_NAME ]; then
                mkdir $SPOOLER_NAME
        fi
-       chown lp $SPOOLER_NAME
+       chown root $SPOOLER_NAME
        chgrp lp $SPOOLER_NAME
        chmod 700 $SPOOLER_NAME

c.打包和安装

makepkg
sudo pacman -U brother-dcpt420w-3.5.0-1-x86_64.pkg.tar.zst

2023年8月23日注 ------------------------------------------------------------------------

现在安装brother-dcpt420w后,org.cups.cups服务已经不再存在,
需要手动启动cups服务,但不必启动cups-browsed服务:

sudo systemctl enable --now cups

------------------------------------------------------------------------

d.安装其它相关文件

yay -S brother-cups-wrapper-common brother-lpr-drivers-common system-config-printer xsane xsane-gimp sane colord-sane 

2023年8月23日注 ------------------------------------------------------------------------

Arch上还要做如下设置:

  • 安装:
yay -S nss-mdns mdns-scan qmdnsengine python-zeroconf
  • 配置

vi打开/etc/nsswitch.conf
将如下行:

hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns

替换为:

hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

然后保存

  • 重启电脑

------------------------------------------------------------------------

3.扫描功能设置

sudo brsaneconfig4 -a name=Brother model=DCP-T420W ip=192.168.0.105

4.打印功能设置

a. sudo system-config-printer

b. 在Brother-DCP-T420W图标上单击右键,点击属性

c. 点击设备URI后的按钮

d. 点击网络打印机-查找打印机

e. 点击以Brother-DCP-T420W开头、以1-b中记录下来的服务名称加.local结尾的打印机,在连接中选择通过DNS-SD的IPP网络打印机,然后点击应用

f. 点击生产和型号后的按钮,选择从数据库中选择打印机,点击Brother,然后点击转发,点击DCP-T420W(推荐),点击转发

g. 打印测试页和确定。

然后打印机就可以正常使用了。

2024年1月6日注 ------------------------------------------------------------------------

要让mdns生效,需要让avahi-daemon服务启动,最近发现新装的archlinux连这个服务都是默认关闭的。无语。

[记录]今后还是使用移动硬盘盒......

个人经历记录,请勿转载。
————by realasking

昨天晚上,使用数年的5盘位硬盘箱突然坏了。当时我正在整理数据,突然全部蓝色指示灯熄灭,又依次亮起,再依次红蓝闪烁,然后就都只能看到盘符而无法打开了。将硬盘箱关闭后,把盘拿出来用3.5寸的移动硬盘盒装上,一个一个的连接到电脑上察看,发现所有的硬盘都变RAW了,虽然盘都没发生物理损坏,但多年积累的计算模拟数据全部丢失,数据损失超过8TB,还有部分计算程序和积累的文献也找不到了。
从昨晚到现在,一直在用软件恢复数据,已经处理的两个盘中,一个750GB的,数据全部没能找回,另一个1TB的找回了300GB左右,其余打开后全是乱码,欲哭无泪。
这次故障给了我一个教训,就是不止对数据要备份,对是否使用硬盘箱这一类将多个磁盘整合到一个相同环境下的设备也要谨慎,而且最好将数据分散放置。目前打算今后还是多用硬盘盒吧。
感觉好像又回到了收录机和磁带的时代,唉。

[备忘]个人Windows10下办公必备软件列表

个人常用软件列表,方便自己重装系统,如有转载,请注明出处。

———— by realasking

Alexandra Reader:一些英语小说集合

Avogadro:画分子结构图

Bandizip:比较干净的解压软件

Bing Wallpaper: 微软官方的壁纸工具

Blumind:思维导图编辑器

ColorVeil: 一个免费的可自定义颜色的屏幕色彩滤镜,大量编辑word文档或上网时,打开它可以减轻视疲劳。

两台电脑上的设置为暖屏 #95B47E, 47%冷屏 #738631,39%

Cp1:屏幕拾色器

CTex或Texlive:Latex文档编辑环境

DuktoR6:局域网文件互传

Emacs:文本编辑器

Everything:搜索工具

FastCopy:快速复制工具

flameshot:截图工具

Foobar2000:音乐播放器

geek:彻底卸载软件

GIMP:图像处理软件

Goldendict:词典

Ghostscript:Scribus和Latex需要的东西

Joplin:个人云笔记工具

KeePassXC:密码管理工具

LLVM:Emacs的插件进行C语言格式化需要

maxima-5.41.0a:推公式

Mendeley:文献管理

Noteexpress:之前使用的文献管理

Microsoft Edge:浏览器

Office:办公软件

MobaXterm:很好的ssh和Xserver工具

Msys2:Emacs的irony扩展需要

Nextcloud客户端:网盘

nomacs:看图软件

Octave-4.4.1:数值计算软件

Ovito-3.0.0-dev481:一个还能支持脚本的3.0系列的免费版本,分子模拟可视化工具

Potplayer:视频播放器

PTCLab:马氏体相变取向关系相关软件

python-3.7.7:python环境,使用此版本因为和自己的Emacs配置匹配,不想多折腾

QTranslate:多引擎网络聚合翻译工具

Racipro:SAED衍射斑点模拟

Rawtherapee:处理Raw格式照片工具

Scribus:一个排版工具

Typora:Markdown编辑器

Visit:VTK文件可视化工具

VMD:分子模拟可视化工具

金山PDF独立版:免费;支持换背景色且不影响图片颜色;比全套WPS干净

京东读书:很好的看书工具,不过买书有点贵

万能科学计算器:计算器

小狼毫输入法:RIME输入法框架Windows版,不过和ColorVeil配合会闪烁,问题不大

元素:周期表:一个化学元素周期表

易呗背单词:背单词

越飞阅读:没有配置好Emacs时的阅读工具,配置好后就不怎么用了

然后python中至少要安装的包有:
autopep8 black Cython flake8 ipython jedi numpy pandas pyflakes rope regex scipy statsmodels yapf matplotlib shapely

[笔记]中国移动光宽带用户下载Github项目中releases压缩包的办法

个人笔记,如有转载,请注明出处。

——by realasking

我家用的中国移动送的移动光宽带,以前在家干活儿时间少,没有觉得有啥不便,最近因为疫情问题,没有出家门,终于觉得移动光宽带上某些站点实在难以忍受了。

最近一段时间,用移动光宽带下载Github上的项目的releases包和更新AUR里的很多包,速度都慢到令人发指。上午8点到10点,下午2点到4点稍快,能达到50KiB/s,其它时候都在7~8KiB/s,而且关键是,如果挂在那里不管,下载一段时间后就会中断。Github的东西又不能续传,更新几次VTKLAMMPS等等简直要了老命了。百度网盘的离线下载就是废物,技术水平可能太水了,尽管买了超级会员,离线下载的时候总是资源不存在。

好在经过一番搜索,找到了解决的办法,直接用微软账号登录offcloud.com,然后把链接拷贝到页面上的对话框,什么都不用再改,直接回车,就能开始顺利下载了,下载速度基本上保持在120KiB/s~2MiB/s,也没中断,很好了。只是AUR的更新就得手动完成,不过这也不算麻烦,可以将就用着了。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它