Когда я использую cc_test, как:
cc_test(
name = "xxx_test",
srcs = glob([
'xxx.cpp',
]),
linkopts = [
"-L/usr/local/lib",
"-lcppunit",
"-ldl",
"-lz",
"-ltbb",
"-llz4",
"-lzstd"],
deps = [
":feature_generator"],
)
Мне нужно запустить этот cmd:
./bazel test @xxx//xxx:xxx_test --test_output=errors --test_env=LD_LIBRARY_PATH=/usr/local/lib
Как я могу опустить это "--test_env=LD_LIBRARY_PATH=/usr/local/lib".
Есть ли у cc_test опция env_path?
Я хочу сделать так
cc_test(
***
***
test_env = ['/usr/local/lib']
)
и я могу проверить в этом cmd:./bazel test @xxx//xxx:xxx_test --test_output=errors
Я не хочу писать "--test_env=LD_LIBRARY_PATH=/usr/local/lib"
когда я хочу проверить
Теперь, если я запускаю этот cmd:./bazel test @xxx//xxx:xxx_test --test_output=errors
получит эту ошибку:
/home/alex.sh/.cache/bazel/_bazel_alex.sh/c973fcd5ba7eef8db46b22b84af3a149/bazel-sandbox/3561058496653596424/execroot/__main__/bazel-out/local-fastbuild/bin/external/feature_generator/featur\
e_generator/gbdt_test.runfiles/__main__/external/feature_generator/feature_generator/gbdt_test: error while loading shared libraries: libzstd.so.1: cannot open shared object file: No such fi\
le or directory
Таким образом, вы можете добавить флаг к вашему ~ / .bazelrc file, например.:
test --test_env=LD_LIBRARY_PATH=/usr/local/lib
Однако тот факт, что тестовое действие не может найти LD_LIBRARY_PATH, в то время как действие сборки может показаться мне ошибкой, вы должны сообщить об ошибке на https://github.com/bazelbuild/bazel/issues/new
Других решений пока нет …