rstan问题汇总
compileCode error
报错显示为:
Error in compileCode(f, code, language = language, verbose = verbose) :
C:/rtools40/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/8.3.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: C:/Program Files/R/R-4.0.3/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata
Z
Z
N
5
b
o
o
s
t
4
m
a
t
h
6
d
e
t
a
i
l
9
b
e
s
s
e
l
j
0
I
e
E
E
T
S
3
E
2
P
1
[
Z
Z
N
5
b
o
o
s
t
4
m
a
t
h
6
d
e
t
a
i
l
9
b
e
s
s
e
l
j
0
I
e
E
E
T
S
3
E
2
P
1
]
+
0
x
0
)
:
m
u
l
t
i
p
l
e
d
e
f
i
n
i
t
i
o
n
o
f
‘
b
o
o
s
t
:
:
m
a
t
h
:
:
d
e
t
a
i
l
:
:
b
e
s
s
e
l
j
0
<
l
o
n
g
d
o
u
b
l
e
>
(
l
o
n
g
d
o
u
b
l
e
)
:
:
P
1
′
;
f
i
l
e
1
d
a
012
a
9
c
f
.
o
:
f
i
l
e
1
d
a
012
a
9
c
f
.
c
p
p
:
(
.
d
a
t
a
_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): multiple definition of `boost::math::detail::bessel_j0<long double>(long double)::P1'; file1da012a9cf.o:file1da012a9cf.cpp:(.data
ZZN5boost4math6detail9besselj0IeEETS3E2P1[ZZN5boost4math6detail9besselj0IeEETS3E2P1]+0x0):multipledefinitionof‘boost::math::detail::besselj0<longdouble>(longdouble)::P1′;file1da012a9cf.o:file1da012a9cf.cpp:(.data_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): first defined hereC:/rtools40/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/8.3.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: C:/Program Files/R/R-4.0.3/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata
Z
Z
N
5
b
o
o
s
t
4
m
a
t
h
6
d
e
t
a
i
l
9
b
e
s
s
e
l
j
0
I
e
E
E
T
S
3
E
2
Q
C
[
Z
Z
N
5
b
o
o
s
t
4
m
a
t
h
6
d
e
t
a
i
l
9
b
e
s
s
e
l
j
0
I
e
E
E
T
S
3
E
2
Q
C
]
+
0
x
0
)
:
m
u
l
t
i
p
l
e
d
e
f
i
n
i
t
i
o
n
o
f
‘
b
o
o
s
t
:
:
m
a
t
h
:
:
d
e
t
a
i
l
:
:
b
e
s
s
e
l
j
0
<
l
o
n
g
d
o
u
b
l
e
>
(
l
o
n
g
d
o
u
b
l
e
)
:
:
Q
C
′
;
f
i
l
e
1
d
a
012
a
9
c
f
.
o
:
f
i
l
e
1
d
a
012
a
9
c
f
.
c
p
p
:
(
.
d
a
t
a
_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QC[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QC]+0x0): multiple definition of `boost::math::detail::bessel_j0<long double>(long double)::QC'; file1da012a9cf.o:file1da012a9cf.cpp:(.data
ZZN5boost4math6detail9besselj0IeEETS3E2QC[ZZN5boost4math6detail9besselj0IeEETS3E2QC]+0x0):multipledefinitionof‘boost::math::detail::besselj0<longdouble>(longdouble)::QC′;file1da012a9cf.o:file1da012a9cf.cpp:(.data_ZZN5boos
注意其中关键字为multiple definition of***处理方式为:
Then restart R and reinstall rstan and StanHeaders from source:
Sys.setenv(MAKEFLAGS = paste0("-j",parallel::detectCores()))
install.packages(c("StanHeaders","rstan"),type="source")
即可。