Traval in Singapore

曾经去过新加坡的朋友回国都说新加坡如何如何的好,于是乎有机会也踏上了新加坡之旅。

新加坡是个发达国家,基本上以说英语和中文为主,所以不必担心自己的口语不好而感觉尴尬。

离开鹏城的倒计时

三年时间,不长也不短,终于决定要离开了。

鹏城的印象:创新企业很多,有很好的政策支持;房子贵;交通罚款厉害 :)

办完交接,与平时的同事聚聚最后2天的日子,友谊留存,但天下没有不散的筵席,各位珍重。

scann安装的问题

在CentOS7.4上安装向量搜索scann时,发现出现"Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0" 字样的错误,有2种解决办法:

(1)安装tensorflow-cpu或tensorflow-gpu

根据机器是否支持GPU,选择对应库安装:

pip3 install scann -i https://mirrors.aliyun.com/pypi/simple

pip3 uninstall tensorflow-cpu

pip3 install tensorflow-cpu -i https://mirrors.aliyun.com/pypi/simple

(2)去英伟达官网下载cudatoolkit库

访问: https://developer.nvidia.com/cuda-downloads,去找到对应系统的版本下载安装

另外,注意的是pip安装是自有用户目录,所以别忘记将bin目录加入PATH

export PATH=/$HOME/.local/bin:$PATH

这样就可以按照scann的官方例子运行demo程序,详情demo见(https://github.com/google-research/google-research/blob/master/scann/docs/example.ipynb)

fedora34发布了

fedora34发布了,带来了新的变化,新的gnome40... 快去尝鲜吧 -> https://getfedora.org/en/workstation/download/

fedora33从kernel-5.8.16-300升级到kernel-5.9.x之后,发现无法进行启动,启动提示如下错误:

failed to start rule-based r for device events and files
并停留在logo页,当前在kernel-5.9.10版本已解决,主要原因是内核引入bug,磁盘分区识别有问题导致。
BTW:在kernel-5.9.10之后的版本又出现同样的问题,估计代码合入造成;在kernel-5.12.13-200.fc33.x86_64又再次修复。

关于运行库和开发库区别

很多初级开发者刚刚进行linux系统编程开发,不清楚运行库和开发库区别,这里特别说明一下:

  • 运行库,一般是二进制运行所需要的库,用ldd命令能够看到该二进制或so依赖哪些运行库,如果没有该运行库,会出现找不到该运行库错误;运行库有以下特征:
    1. 在包管理上,一般是直接包(package)命名,或package-libs命名;
    2. 在文件表现上,一般是libxxx.so.y命名,可以多个数字版本结尾,具体见autoconf手册;
  • 开发库,一般是二进制编译所需要的库,因在开发的时候需要,所以称之为开发库,有如下特征:
    1. 开发库以.so和.a文件形式存在,libxxx.so一般以软链接形式链接libxxx.so.y;
    2. 开发库还包括头文件(必须)、cmake宏(可选),m4宏(可选)和pc文件(可选)
    3. 在包管理上,一般是package-devel命名,有较大的包会将静态库、头文件以及动态库分开,分别是package-static、package-headers、package-devel

开发库一般比运行库大很多,一般精简情况下不需要安装开发库;

另外,还有一个库叫调试库,以package-debuginfo命名,当使用gdb等工具调试时,可以安装此库获得更详细的调试信息;

在fedora32上,发现protobuf文件无法生成go语言的grpc的gateway,很奇怪,网上说是因为protobuf中protoc版本问题,也有说插件protoc-gen-go版本问题,其实,是google官方和github官方的"包冲突"问题,通过
dnf provides */protoc-gen-go
发现有golang-github-protobuf和golang-google-protobuf两个包,github的protoc-gen-go版本较低,google的protoc-gen-go版本较高,需要用到protoc-gen-go-grpc ,而这个插件还没有release,导致生成go文件失败。于是,卸载:
sudo rpm -e  golang-google-protobuf --nodeps
接着安装:
sudo dnf install golang-github-protobuf -y
大功告成 :)

关于mac系统上brew的安装

由于想在macOS上安装"wget"命令,但需要先安装brew工具,安装brew工具需要安装xcode,但macOS 10.15.2 默认没有安装xcode,安装了xcode【Version 11.4.1 (11E503a)】之后,通过brew官网的教程给的指令来安装brew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
执行后报错:
xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'
Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools

从报错来看,/Library/Developer/CommandLineTools的确不存在,通过:
xcode-select -p
以找到正确的路径,于是稍微修改一下官方给的指令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh | sed 's#/Library/Developer/CommandLineTools#$(xcode-select -p)#')"
于可以看到正确的结果:
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh

接着按照官方教程安心安装wget命令啦:
$ brew install wget

好久的一首歌

怀念一下

gpg: cancelled by user

突然某天,公司的服务签名过期导致包签名失败了,于是修改过期时间如下:
gpg> expire
Changing expiration time for the primary key.
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 2
Key expires at Sat 11 Apr 2020 03:51:25 PM CST
Is this correct? (y/N) y

You need a passphrase to unlock the secret key for
user: "Cnangel (Search R & D Engineer) <cnangel@gmail.com>"
1024-bit DSA key, ID FC0A6073, created 2009-06-01

gpg: cancelled by user
gpg: make_keysig_packet failed: Operation cancelled

Command> passwd
Key is protected.
can't connect to `/home/search_v/.gnupg/S.gpg-agent': Connection refused

You need a passphrase to unlock the secret key for
user: "Cnangel (Search R & D Engineer) <cnangel@gmail.com>"
1024-bit DSA key, ID FC0A6073, created 2009-06-01

gpg-agent[60982]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
Can't edit this key: General error

出错了,查询资料发现是tty终端权限问题,加上权限即可:
# chmod o+rw $(tty)
解决问题。



Monthly Archives

Pages

Powered by Movable Type 7.7.2