Please remove LDLIBS_TB from stan/lib/stan_math/make/compiler_flags

Abierto
#1,329 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
build-system

Línea de trabajo

Abre stan/lib/stan_math/make/compiler_flags e inspecciona las dos líneas LDLIBS_TBB que añaden -ltbb. Reproduce el problema compilando el ejemplo bernoulli en CentOS 7. Está listo cuando eliminar esas líneas permite enlazar el modelo sin los errores de referencia indefinida de TBB mostrados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Describe the bug
The two lines:

LDLIBS_TBB ?= -ltbb

in:

stan/lib/stan_math/make/compiler_flags

add:

-ltbb

in the Linking model command before:

stan/lib/stan_math/lib/tbb/libtbb.so.2

thus always selecting the system tbb and producing the error:

/u/local/compilers/gcc/10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: src/cmdstan/main.o: in function `cmdstan::command(int, char const**)': main.cpp:(.text+0x28d3f): undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()' /u/local/compilers/gcc/10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: main.cpp:(.text+0x2a77e): undefined reference to `tbb::interface9::global_control::internal_create()' /u/local/compilers/gcc/10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: src/cmdstan/main.o: in function `tbb::interface7::task_arena::~task_arena()': main.cpp:(.text._ZN3tbb10interface710task_arenaD2Ev[_ZN3tbb10interface710task_arenaD5Ev]+0x15): undefined reference to `tbb::interface7::internal::task_arena_base::internal_terminate()' /u/local/compilers/gcc/10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: src/cmdstan/main.o: in function `tbb::interface9::global_control::~global_control()': main.cpp:(.text._ZN3tbb10interface914global_controlD2Ev[_ZN3tbb10interface914global_controlD5Ev]+0x5): undefined reference to `tbb::interface9::global_control::internal_destroy()' collect2: error: ld returned 1 exit status make: *** [examples/bernoulli/bernoulli] Error 1

To Reproduce

Try building the bernoulli example (on a CentOS 7 system)

Expected behavior
A description of what you expected to happen.

After removing the offending lines I can proceed to linking the model correctly.

Operating system
Your operating system (e.g. mac os x 10.15, windows 10, etc.)

CentOS 7.9

CmdStanR version number
Your CmdStanR version number (e.g. from packageVersion("cmdstanr")).

2.36.0

Additional context
Add any other context about the problem here.

Lenguaje dominante
C++
Estrellas
240
Forks
105
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stan-dev/cmdstan

Todos los issues de stan-dev/cmdstan

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.