userid在本地构建的库中

时间:2012-03-31 18:21:38

标签: linux shared-libraries

如果我构建了一个库(例如Quantlib:http://sourceforge.net/projects/quantlib/files/QuantLib/1.2/QuantLib-1.2.tar.gz/download),我会看到我的用户ID是在构建的库中编码的。

./configure --prefix=/usr/local --with-boost-include=/usr/include/boost --with-boost-lib=/usr/lib && make -j3 && sudo make install

$ grep rajanikanth /usr/local/lib/libQuantLib.*
Binary file /usr/local/lib/libQuantLib.a matches
Binary file /usr/local/lib/libQuantLib.so matches
Binary file /usr/local/lib/libQuantLib.so.0 matches
Binary file /usr/local/lib/libQuantLib.so.0.0.0 matches

这是正常的吗?

无论如何都要阻止用户ID出现在本地构建的库中?

谢谢, 拉吉

1 个答案:

答案 0 :(得分:1)

  

我看到我的用户ID是在内置库中编码的。

这很可能是因为

  1. 您使用COPTS = -O2 -g构建了库(这是使用configure构建时默认的gcc个脚本的默认值。)
  2. 您在主目录中构建了它,看起来像/home/rajanikanth或某些
  3.   

    无论如何都要阻止用户ID出现在本地构建的库中?

    您可以通过构建非调试版本(make -j3 CFLAGS=-O2)或在“通用”目录中构建它来避免这种情况,例如: /tmp/build-quantlib