2022-10-11 遇到的一點小問題
最近在ArchLinux上運行某個程序胳喷,遇到了錯誤提示灾前。
[root@wannoo bin]# wannoo
wannoo: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by wannoo)
之前遇到這種,都是直接執(zhí)行pacman -S gcc-libs
溅漾,更新gcc-libs。但這次擔心影響其他應用著榴,所以不能升級添履。
周圍問了下,同事給了個LD_LIBRARY_PATH
鏈接兄渺,讓試試缝龄。
命令export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/wannoo/lib
是修改的全局的環(huán)境,不合適挂谍。
改了下命令叔壤,可以了,而且只針對這次命令口叙。
[root@wannoo bin]# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/wannoo/lib wannoo
正常運行
不過這個程序是使用的systemctl start wannoo
來啟動的炼绘。wannoo.service文件的ExecStart=
沒辦法直接設置環(huán)境變量,原本是打算通過/bin/sh xxx.sh
來啟動妄田,但后面覺得這樣不太好看俺亮。
所以又翻了下Systemd
和systemd.exec
,發(fā)現(xiàn)可以通過設置EnvironmentFile=-/mnt/wannoo.conf
來配置程序的環(huán)境變量疟呐。
文件:wannoo.service
[Unit]
Description=Network Audio Adapter daemon
Requires=network-online.target sound.target systemd-udev-settle.service
After=network-online.target sound.target systemd-udev-settle.service
[Service]
Type=simple
ExecStart=/mnt/test/bin/wannoo
Restart=always
RestartSec=1
EnvironmentFile=-/mnt/test/wannoo.conf
Nice=-10
IOSchedulingClass=realtime
LimitMEMLOCK=1G
LimitNICE=-10
LimitRTPRIO=98
[Install]
WantedBy=multi-user.target
文件:/mnt/test/wannoo.conf
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/wannoo/lib