hrue / r-inla

This is the public repository for the r-inla project
GNU General Public License v2.0
82 stars 24 forks source link

Unexpected behaviour when using INLA with Pardiso #100

Closed fernandomayer closed 2 months ago

fernandomayer commented 2 months ago

After placing a new licence of the Pardiso library in ~/panua.lic, I got the following error in inla.pardiso.check():

library(INLA)
Loading required package: Matrix
Loading required package: sp
This is INLA_24.06.19 built 2024-06-19 13:30:03 UTC.
 - See www.r-inla.org/contact-us for how to get help.
 - List available models/likelihoods/etc with inla.list.models()
 - Use inla.doc(<NAME>) to access documentation
inla.pardiso.check()
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
[1] "[Panua] Internal error 0x3c"
attr(,"status")
[1] 60
Warning message:
In system(paste(shQuote(inla.call.no.remote()), "-m pardiso"), intern = TRUE) :
  running command ''/home/mayer/R/library/INLA/bin/linux/64bit/inla.mkl.run' -m pardiso' had status 60

By ignoring this warning and running a simple example (from the R-INLA webpage), I also got this error and INLA fails:

n = 100; a = 1; b = 1; tau = 100
z = rnorm(n)
eta = a + b*z
scale = exp(rnorm(n))
prec = scale*tau
y = rnorm(n, mean = eta, sd = 1/sqrt(prec))
data = list(y=y, z=z)
formula = y ~ 1+z
result = inla(formula, family = "gaussian", data = data,
    verbose = TRUE)
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
[Panua] Internal error 0x3c

 *** inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq
[Panua] Internal error 0x3c
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  :
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.
The inla program failed and the maximum number of tries has been reached.

Searching around, I found out that the

sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq

problem could be related with the libreadline version "shipped" with INLA, and the one on my system. As per this (unrelated with INLA) issue, the symbol rl_trim_arg_from_keyseq appears on my system

nm -D /usr/lib/libreadline.so.8 | grep rl_trim_arg_from_keyseq
00000000000252e0 T rl_trim_arg_from_keyseq

But it does not on the version from INLA

nm -D ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 | grep rl_trim_arg_from_keyseq

I was able to solve this by linking my version of libreadline in INLA

rm ~/R/library/INLA/bin/linux/64bit/libreadline.so.8
ln -s /usr/lib/libreadline.so.8 ~/R/library/INLA/bin/linux/64bit/libreadline.so.8

Now I get the message that Pardiso is working

library(INLA)
inla.pardiso.check()
[1] "SUCCESS: PARDISO IS INSTALLED AND WORKING"

However it appears another error and INLA fails anyway

n = 100; a = 1; b = 1; tau = 100
z = rnorm(n)
eta = a + b*z
scale = exp(rnorm(n))
prec = scale*tau
y = rnorm(n, mean = eta, sd = 1/sqrt(prec))
data = list(y=y, z=z)
formula = y ~ 1+z
result = inla(formula, family = "gaussian", data = data,
    verbose = TRUE)
malloc(): invalid size (unsorted)

 *** inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1
malloc(): invalid size (unsorted)
munmap_chunk(): invalid pointer
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  :
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.
The inla program failed and the maximum number of tries has been reached.

The full log of verbose is too long, so I pasted it here.

Even with the sym-linked libreadline, if I remove ~/panua.lic, the example code runs with no errors.

Can you please let me know if this is a problem specific to my system, or could it be something on the INLA side. I wonder it's not related to INLA because I couldn't find any other issues related to this. If that's the case, would you know any workaround to make possible to use Pardiso?

This is my R info:

sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Arch Linux

Matrix products: default
BLAS/LAPACK: /opt/intel/oneapi/mkl/2024.1/lib/libmkl_gf_lp64.so.2;  LAPACK version 3.11.0

locale:
 [1] LC_CTYPE=en_IE.UTF-8       LC_NUMERIC=C               LC_TIME=en_IE.UTF-8
 [4] LC_COLLATE=en_IE.UTF-8     LC_MONETARY=en_IE.UTF-8    LC_MESSAGES=en_IE.UTF-8
 [7] LC_PAPER=en_IE.UTF-8       LC_NAME=C                  LC_ADDRESS=C
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_IE.UTF-8 LC_IDENTIFICATION=C

time zone: America/Sao_Paulo
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] INLA_24.06.19 sp_2.1-4      Matrix_1.7-0

loaded via a namespace (and not attached):
 [1] fmesher_0.1.6.9003 lattice_0.22-6     magrittr_2.0.3     e1071_1.7-14
 [5] splines_4.4.1      KernSmooth_2.23-24 parallel_4.4.1     lifecycle_1.0.4
 [9] classInt_0.4-10    sf_1.0-16          cli_3.6.2          fortunes_1.5-4
[13] grid_4.4.1         DBI_1.2.3          withr_3.0.0        proxy_0.4-27
[17] class_7.3-22       compiler_4.4.1     tools_4.4.1        Rcpp_1.0.12
[21] rlang_1.1.4        units_0.8-5        MatrixModels_0.5-3

This is my system info:

OS: Arch Linux x86_64
Host: XPS 9320
Kernel: 6.6.34-1-lts
Shell: bash 5.2.26
CPU: 12th Gen Intel i7-1260P (16) @ 4.700GHz
GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics]
Memory: 6745MiB / 31706MiB

This is my libreadline version:

sudo pacman -Q readline
readline 8.2.010-1
hrue commented 2 months ago

I guess you need to download another linux build, chose one from

inla.binary.install()

On Thu, 2024-06-20 at 17:21 -0700, Fernando Mayer wrote:

After placing a new licence of the Pardiso library in ~/panua.lic, I got the following error in inla.pardiso.check(): library(INLA) Loading required package: Matrix Loading required package: sp This is INLA_24.06.19 built 2024-06-19 13:30:03 UTC.  - See www.r-inla.org/contact-us for how to get help.  - List available models/likelihoods/etc with inla.list.models()  - Use inla.doc() to access documentation inla.pardiso.check() sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [1] "[Panua] Internal error 0x3c" attr(,"status") [1] 60 Warning message: In system(paste(shQuote(inla.call.no.remote()), "-m pardiso"), intern = TRUE) :   running command ''/home/mayer/R/library/INLA/bin/linux/64bit/inla.mkl.run' - m pardiso' had status 60 By ignoring this warning and running a simple example (from the R-INLA webpage), I also got this error and INLA fails: n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c

  inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. Searching around, I found out that the sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq problem could be related with the libreadline version "shipped" with INLA, and the one on my system. As per this (unrelated with INLA) issue, the symbol rl_trim_arg_from_keyseq appears on my system nm -D /usr/lib/libreadline.so.8 | grep rl_trim_arg_from_keyseq 00000000000252e0 T rl_trim_arg_from_keyseq But it does not on the version from INLA nm -D ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 | grep rl_trim_arg_from_keyseq I was able to solve this by linking my version of libreadline in INLA rm ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 ln -s /usr/lib/libreadline.so.8 ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 Now I get the message that Pardiso os working library(INLA) inla.pardiso.check() [1] "SUCCESS: PARDISO IS INSTALLED AND WORKING" However it appears another error and INLA fails anyway n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) malloc(): invalid size (unsorted)

  inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log of verbose is too long, so I pasted it here. Even with the sym-linked libreadline, if I remove ~/panua.lic, the example code runs with no errors. Can you please let me know if this is a problem specific to my system, or could it be something on the INLA side. I wonder it's not related to INLA because I couldn't find any other issues related to this. If that's the case, would you know any workaround to make possible to use Pardiso? This is my R info: sessionInfo() R version 4.4.1 (2024-06-14) Platform: x86_64-pc-linux-gnu Running under: Arch Linux

Matrix products: default BLAS/LAPACK: /opt/intel/oneapi/mkl/2024.1/lib/libmkl_gf_lp64.so.2; LAPACK version 3.11.0

locale:  [1] LC_CTYPE=en_IE.UTF-8 LC_NUMERIC=C LC_TIME=en_IE.UTF-8  [4] LC_COLLATE=en_IE.UTF-8 LC_MONETARY=en_IE.UTF-8
LC_MESSAGES=en_IE.UTF-8  [7] LC_PAPER=en_IE.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=en_IE.UTF-8 LC_IDENTIFICATION=C

time zone: America/Sao_Paulo tzcode source: system (glibc)

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] INLA_24.06.19 sp_2.1-4 Matrix_1.7-0

loaded via a namespace (and not attached):  [1] fmesher_0.1.6.9003 lattice_0.22-6 magrittr_2.0.3 e1071_1.7-14  [5] splines_4.4.1 KernSmooth_2.23-24 parallel_4.4.1 lifecycle_1.0.4  [9] classInt_0.4-10 sf_1.0-16 cli_3.6.2 fortunes_1.5-4 [13] grid_4.4.1 DBI_1.2.3 withr_3.0.0 proxy_0.4-27 [17] class_7.3-22 compiler_4.4.1 tools_4.4.1 Rcpp_1.0.12 [21] rlang_1.1.4 units_0.8-5 MatrixModels_0.5-3 This is my system info: OS: Arch Linux x86_64 Host: XPS 9320 Kernel: 6.6.34-1-lts Shell: bash 5.2.26 CPU: 12th Gen Intel i7-1260P (16) @ 4.700GHz GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics] Memory: 6745MiB / 31706MiB — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

fernandomayer commented 2 months ago

I tried every one of them with

##----------------------------------------------------------------------
## OSs
os <- c(
    "CentOS Linux-6",
    "CentOS Linux-7",
    "CentOS Linux-8",
    "CentOS Stream-8",
    "Rocky Linux-8",
    "Rocky Linux-9",
    "Fedora-33",
    "Fedora-34",
    "Fedora Linux-35",
    "Fedora Linux-36",
    "Fedora Linux-37",
    "Fedora Linux-38",
    "Fedora Linux-39",
    "Fedora Linux-40",
    "Ubuntu-16.04",
    "Ubuntu-18.04",
    "Ubuntu-20.04",
    "Ubuntu-22.04",
    "Ubuntu-24.04"
)

options(timeout = 600)
inla.binary.install(os = os[19])

and all of them failed someway. A summary of the results can be seen here.

hrue commented 2 months ago

I think its a game to play to make sure the correct versione librariers are loaded. you can play with 'inla.mkl.run' starting from Fedora40 binary (which should be the most 'modern' one). Another option is to add arch-linux to the OS's buildt, or you can just compile your own from scratch as follows

download

hrue.r-inla-download.org/build64.tgz

some of the symlinks in there might be dead, so you have to relink them.

you'll need Intel's oneapi MKL and also for libiomp5 from intel oneapi (install the compiler and its there)

do

make amd taucs

to compile those

then

env INLA_TAG=Version_24.06.19 make update

which will download from github and build a new version

sorry for the messy makefile...

H

On Thu, 2024-06-20 at 17:21 -0700, Fernando Mayer wrote:

After placing a new licence of the Pardiso library in ~/panua.lic, I got the following error in inla.pardiso.check(): library(INLA) Loading required package: Matrix Loading required package: sp This is INLA_24.06.19 built 2024-06-19 13:30:03 UTC.  - See www.r-inla.org/contact-us for how to get help.  - List available models/likelihoods/etc with inla.list.models()  - Use inla.doc() to access documentation inla.pardiso.check() sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [1] "[Panua] Internal error 0x3c" attr(,"status") [1] 60 Warning message: In system(paste(shQuote(inla.call.no.remote()), "-m pardiso"), intern = TRUE) :   running command ''/home/mayer/R/library/INLA/bin/linux/64bit/inla.mkl.run' - m pardiso' had status 60 By ignoring this warning and running a simple example (from the R-INLA webpage), I also got this error and INLA fails: n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c

  inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. Searching around, I found out that the sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq problem could be related with the libreadline version "shipped" with INLA, and the one on my system. As per this (unrelated with INLA) issue, the symbol rl_trim_arg_from_keyseq appears on my system nm -D /usr/lib/libreadline.so.8 | grep rl_trim_arg_from_keyseq 00000000000252e0 T rl_trim_arg_from_keyseq But it does not on the version from INLA nm -D ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 | grep rl_trim_arg_from_keyseq I was able to solve this by linking my version of libreadline in INLA rm ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 ln -s /usr/lib/libreadline.so.8 ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 Now I get the message that Pardiso os working library(INLA) inla.pardiso.check() [1] "SUCCESS: PARDISO IS INSTALLED AND WORKING" However it appears another error and INLA fails anyway n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) malloc(): invalid size (unsorted)

  inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log of verbose is too long, so I pasted it here. Even with the sym-linked libreadline, if I remove ~/panua.lic, the example code runs with no errors. Can you please let me know if this is a problem specific to my system, or could it be something on the INLA side. I wonder it's not related to INLA because I couldn't find any other issues related to this. If that's the case, would you know any workaround to make possible to use Pardiso? This is my R info: sessionInfo() R version 4.4.1 (2024-06-14) Platform: x86_64-pc-linux-gnu Running under: Arch Linux

Matrix products: default BLAS/LAPACK: /opt/intel/oneapi/mkl/2024.1/lib/libmkl_gf_lp64.so.2; LAPACK version 3.11.0

locale:  [1] LC_CTYPE=en_IE.UTF-8 LC_NUMERIC=C LC_TIME=en_IE.UTF-8  [4] LC_COLLATE=en_IE.UTF-8 LC_MONETARY=en_IE.UTF-8
LC_MESSAGES=en_IE.UTF-8  [7] LC_PAPER=en_IE.UTF-8 LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=en_IE.UTF-8 LC_IDENTIFICATION=C

time zone: America/Sao_Paulo tzcode source: system (glibc)

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] INLA_24.06.19 sp_2.1-4 Matrix_1.7-0

loaded via a namespace (and not attached):  [1] fmesher_0.1.6.9003 lattice_0.22-6 magrittr_2.0.3 e1071_1.7-14  [5] splines_4.4.1 KernSmooth_2.23-24 parallel_4.4.1 lifecycle_1.0.4  [9] classInt_0.4-10 sf_1.0-16 cli_3.6.2 fortunes_1.5-4 [13] grid_4.4.1 DBI_1.2.3 withr_3.0.0 proxy_0.4-27 [17] class_7.3-22 compiler_4.4.1 tools_4.4.1 Rcpp_1.0.12 [21] rlang_1.1.4 units_0.8-5 MatrixModels_0.5-3 This is my system info: OS: Arch Linux x86_64 Host: XPS 9320 Kernel: 6.6.34-1-lts Shell: bash 5.2.26 CPU: 12th Gen Intel i7-1260P (16) @ 4.700GHz GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics] Memory: 6745MiB / 31706MiB — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

hrue commented 2 months ago

I added Manjaro build (which should be as Arch Linux). can you try that one for Version 23.06.19 ?

On Sat, 2024-06-22 at 09:20 +0900, Haavard Rue wrote:

I think its a game to play to make sure the correct versione librariers are loaded. you can play with 'inla.mkl.run' starting from Fedora40 binary (which should be the most 'modern' one). Another option is to add arch-linux to the OS's buildt, or you can just compile your own from scratch as follows

download

hrue.r-inla-download.org/build64.tgz

some of the symlinks in there might be dead, so you have to relink them.

you'll need Intel's  oneapi MKL and also for libiomp5 from intel oneapi (install the compiler and its there)

do

make amd taucs

to compile those

then

env INLA_TAG=Version_24.06.19 make update

which will download from github and build a new version

sorry for the messy makefile...

H

On Thu, 2024-06-20 at 17:21 -0700, Fernando Mayer wrote:

After placing a new licence of the Pardiso library in ~/panua.lic, I got the following error in inla.pardiso.check(): library(INLA) Loading required package: Matrix Loading required package: sp This is INLA_24.06.19 built 2024-06-19 13:30:03 UTC.  - See www.r-inla.org/contact-us for how to get help.  - List available models/likelihoods/etc with inla.list.models()  - Use inla.doc() to access documentation inla.pardiso.check() sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [1] "[Panua] Internal error 0x3c" attr(,"status") [1] 60 Warning message: In system(paste(shQuote(inla.call.no.remote()), "-m pardiso"), intern = TRUE) :   running command ''/home/mayer/R/library/INLA/bin/linux/64bit/inla.mkl.run'

m pardiso' had status 60 By ignoring this warning and running a simple example (from the R-INLA webpage), I also got this error and INLA fails: n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c

  inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1 sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq [Panua] Internal error 0x3c Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. Searching around, I found out that the sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq problem could be related with the libreadline version "shipped" with INLA, and the one on my system. As per this (unrelated with INLA) issue, the symbol rl_trim_arg_from_keyseq appears on my system nm -D /usr/lib/libreadline.so.8 | grep rl_trim_arg_from_keyseq 00000000000252e0 T rl_trim_arg_from_keyseq But it does not on the version from INLA nm -D ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 | grep rl_trim_arg_from_keyseq I was able to solve this by linking my version of libreadline in INLA rm ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 ln -s /usr/lib/libreadline.so.8 ~/R/library/INLA/bin/linux/64bit/libreadline.so.8 Now I get the message that Pardiso os working library(INLA) inla.pardiso.check() [1] "SUCCESS: PARDISO IS INSTALLED AND WORKING" However it appears another error and INLA fails anyway n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,     verbose = TRUE) malloc(): invalid size (unsorted)

  inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log of verbose is too long, so I pasted it here. Even with the sym-linked libreadline, if I remove ~/panua.lic, the example code runs with no errors. Can you please let me know if this is a problem specific to my system, or could it be something on the INLA side. I wonder it's not related to INLA because I couldn't find any other issues related to this. If that's the case, would you know any workaround to make possible to use Pardiso? This is my R info: sessionInfo() R version 4.4.1 (2024-06-14) Platform: x86_64-pc-linux-gnu Running under: Arch Linux

Matrix products: default BLAS/LAPACK: /opt/intel/oneapi/mkl/2024.1/lib/libmkl_gf_lp64.so.2;  LAPACK version 3.11.0

locale:  [1] LC_CTYPE=en_IE.UTF-8       LC_NUMERIC=C               LC_TIME=en_IE.UTF-8  [4] LC_COLLATE=en_IE.UTF-8     LC_MONETARY=en_IE.UTF-8   LC_MESSAGES=en_IE.UTF-8  [7] LC_PAPER=en_IE.UTF-8       LC_NAME=C                  LC_ADDRESS=C [10] LC_TELEPHONE=C             LC_MEASUREMENT=en_IE.UTF-8 LC_IDENTIFICATION=C

time zone: America/Sao_Paulo tzcode source: system (glibc)

attached base packages: [1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages: [1] INLA_24.06.19 sp_2.1-4      Matrix_1.7-0

loaded via a namespace (and not attached):  [1] fmesher_0.1.6.9003 lattice_0.22-6     magrittr_2.0.3     e1071_1.7-14  [5] splines_4.4.1      KernSmooth_2.23-24 parallel_4.4.1     lifecycle_1.0.4  [9] classInt_0.4-10    sf_1.0-16          cli_3.6.2          fortunes_1.5-4 [13] grid_4.4.1         DBI_1.2.3          withr_3.0.0        proxy_0.4-27 [17] class_7.3-22       compiler_4.4.1     tools_4.4.1        Rcpp_1.0.12 [21] rlang_1.1.4        units_0.8-5        MatrixModels_0.5-3 This is my system info: OS: Arch Linux x86_64 Host: XPS 9320 Kernel: 6.6.34-1-lts Shell: bash 5.2.26 CPU: 12th Gen Intel i7-1260P (16) @ 4.700GHz GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics] Memory: 6745MiB / 31706MiB — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

--

Haavard Rue @.***

fernandomayer commented 2 months ago

Thanks Håvard.

I tried the Manjaro build and got:

> inla.pardiso.check()
[1] "SUCCESS: PARDISO IS INSTALLED AND WORKING"

But when running the example, I still get an error:

Optimise using DEFAULT METHOD
malloc(): invalid size (unsorted)
munmap_chunk(): invalid pointer
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  : 
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.
The inla program failed and the maximum number of tries has been reached.

The full log being here.

However, with this Manjaro build, even if I remove ~/panua.lic, I get another type of error:

Optimise using DEFAULT METHOD
Input Error: Incorrect nseps.
Input Error: Incorrect nseps.
inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion `0 == 1' failed.
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  : 
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.
The inla program failed and the maximum number of tries has been reached.

The full log is here.

From the previous malloc(): invalid size (unsorted) error, that makes me think of something related to Fluxsort somehow?

From your previous message, I tried this:

mkdir ~/builds/build64/local
mkdir ~/builds/build64/local/include
mkdir ~/builds/build64/local/lib

then

make amd taucs

apparently with no issues (output here).

However this gives an error

$ env INLA_TAG=Version_24.06.19 make update

...

In file included from src/inla.c:65:
src/rmath.h:50:10: fatal error: Rmath.h: No such file or directory
   50 | #include <Rmath.h>
      |          ^~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: src/inla.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,
                 from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,
                 from src/dictionary.h:46,
                 from src/dictionary.c:1:
/home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory
   44 | #include "GMRFLib/sha.h"
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: src/dictionary.o] Error 1
In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,
                 from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,
                 from src/dictionary.h:46,
                 from src/iniparser.h:41,
                 from src/iniparser.c:23:
/home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory
   44 | #include "GMRFLib/sha.h"
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<builtin>: src/iniparser.o] Error 1
make[2]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64/r-inla/inlaprog'
make[1]: *** [GNUmakefile:59: inla.mkl] Error 2
make[1]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64'
make: *** [GNUmakefile:101: update] Error 2

(full output here).

I don't know exactly where should I start changing in the build64 files. If you could point me out, that would be great.

hrue commented 2 months ago

which example? will

inla(y~1, data=data.frame(y=0))

work?

On Tue, 2024-06-25 at 15:26 -0700, Fernando Mayer wrote:

Thanks Håvard. I tried the Manjaro build and got:

inla.pardiso.check() [1] "SUCCESS: PARDISO IS INSTALLED AND WORKING" But when running the example, I still get an error: Optimise using DEFAULT METHOD malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log being here. However, with this Manjaro build, even if I remove ~/panua.lic, I get another type of error: Optimise using DEFAULT METHOD Input Error: Incorrect nseps. Input Error: Incorrect nseps. inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion `0 == 1' failed. Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log is here. From the previous malloc(): invalid size (unsorted) error, that makes me think of something related to Fluxsort somehow? From your previous message, I tried this: mkdir ~/builds/build64/local mkdir ~/builds/build64/local/include mkdir ~/builds/build64/local/lib then make amd taucs apparently with no issues (output here). However this gives an error $ env INLA_TAG=Version_24.06.19 make update

...

In file included from src/inla.c:65: src/rmath.h:50:10: fatal error: Rmath.h: No such file or directory    50 | #include       | ^~~~~ compilation terminated. make[2]: [: src/inla.o] Error 1 make[2]: Waiting for unfinished jobs.... In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,                  from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,                  from src/dictionary.h:46,                  from src/dictionary.c:1: /home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory    44 | #include "GMRFLib/sha.h"       | ^~~~~~~ compilation terminated. make[2]: [: src/dictionary.o] Error 1 In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,                  from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,                  from src/dictionary.h:46,                  from src/iniparser.h:41,                  from src/iniparser.c:23: /home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory    44 | #include "GMRFLib/sha.h"       | ^~~~~~~ compilation terminated. make[2]: [: src/iniparser.o] Error 1 make[2]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64/r- inla/inlaprog' make[1]: [GNUmakefile:59: inla.mkl] Error 2 make[1]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64' make: [GNUmakefile:101: update] Error 2 (full output here). I don't know exactly where should I start changing in the build64 files. If you could point me out, that would be great. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

hrue commented 2 months ago

pamac search -f Rmath.h
Rmath.h is owned by r /usr/include/Rmath.h is owned by r

On Tue, 2024-06-25 at 15:26 -0700, Fernando Mayer wrote:

$ env INLA_TAG=Version_24.06.19 make update

...

In file included from src/inla.c:65: src/rmath.h:50:10: fatal error: Rmath.h: No such file or directory    50 | #include       | ^~~~~ compilation terminated. m

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

fernandomayer commented 2 months ago

which example?

The one in https://www.r-inla.org/download-install

will inla(y~1, data=data.frame(y=0)) work?

From the default build with Pardiso, no. From the builds of Manjaro and Ubuntu 24.04, yes (but the errors remain for the download page example).

Rmath.h is owned by r /usr/include/Rmath.h is owned by r

I don't use the binary r from Arch repositories, because I compile R from source to include the Intel MKL. So, for example, my Rmath.h is in /usr/local/lib64/R/include/Rmath.h. Could this be causing the errors?

hrue commented 2 months ago

Yes… you have to make sure  it’s found when compiling

-- Håvard Rue Professor of Statistics Statistics Program, CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900, Saudi Arabia Email: @. Office: +966 (0)12 808 0640 Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue On 26 Jun 2024 at 09:52 +0900, Fernando Mayer @.>, wrote:

which example? The one in https://www.r-inla.org/download-install will inla(y~1, data=data.frame(y=0)) work? From the default build with Pardiso, no. From the builds of Manjaro and Ubuntu 24.04, yes (but the errors remain for the download page example). Rmath.h is owned by r /usr/include/Rmath.h is owned by r I don't use the binary r from Arch repositories, because I compile R from source to include the Intel MKL. So, for example, my Rmath.h is in /usr/local/lib64/R/include/Rmath.h. Could this be causing the errors? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

hrue commented 2 months ago

I checked further, and there was an issue with the libmetis.so library installed in the system, maybe they have compiled it with 8byte ints ?? anyway, I replaced that one and built it again. can you retry? ie

inla.binary.install()

and chose Manjaro

On Tue, 2024-06-25 at 15:26 -0700, Fernando Mayer wrote:

Thanks Håvard. I tried the Manjaro build and got:

inla.pardiso.check() [1] "SUCCESS: PARDISO IS INSTALLED AND WORKING" But when running the example, I still get an error: Optimise using DEFAULT METHOD malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log being here. However, with this Manjaro build, even if I remove ~/panua.lic, I get another type of error: Optimise using DEFAULT METHOD Input Error: Incorrect nseps. Input Error: Incorrect nseps. inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion `0 == 1' failed. Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. The full log is here. From the previous malloc(): invalid size (unsorted) error, that makes me think of something related to Fluxsort somehow? From your previous message, I tried this: mkdir ~/builds/build64/local mkdir ~/builds/build64/local/include mkdir ~/builds/build64/local/lib then make amd taucs apparently with no issues (output here). However this gives an error $ env INLA_TAG=Version_24.06.19 make update

...

In file included from src/inla.c:65: src/rmath.h:50:10: fatal error: Rmath.h: No such file or directory    50 | #include       | ^~~~~ compilation terminated. make[2]: [: src/inla.o] Error 1 make[2]: Waiting for unfinished jobs.... In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,                  from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,                  from src/dictionary.h:46,                  from src/dictionary.c:1: /home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory    44 | #include "GMRFLib/sha.h"       | ^~~~~~~ compilation terminated. make[2]: [: src/dictionary.o] Error 1 In file included from /home/mayer/builds/build64/local/include/GMRFLib/utils.h:56,                  from /home/mayer/builds/build64/local/include/GMRFLib/GMRFLib.h:105,                  from src/dictionary.h:46,                  from src/iniparser.h:41,                  from src/iniparser.c:23: /home/mayer/builds/build64/local/include/GMRFLib/graph.h:44:10: fatal error: GMRFLib/sha.h: No such file or directory    44 | #include "GMRFLib/sha.h"       | ^~~~~~~ compilation terminated. make[2]: [: src/iniparser.o] Error 1 make[2]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64/r- inla/inlaprog' make[1]: [GNUmakefile:59: inla.mkl] Error 2 make[1]: Leaving directory '/home/mayer/Dropbox/INLA-run/build64' make: [GNUmakefile:101: update] Error 2 (full output here). I don't know exactly where should I start changing in the build64 files. If you could point me out, that would be great. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

hrue commented 2 months ago

can you try the new testing version of today?

fernandomayer commented 2 months ago

With the default build from the new version:

With the Manjaro build from the new version:

> inla(y~1, data=data.frame(y=0))
Time used:
  Pre = 0.2, Running = 0.101, Post = 0.0104, Total = 0.311
> inla(y~1, data=data.frame(y=0))
Time used:
  Pre = 0.207, Running = 0.12, Post = 0.0168, Total = 0.344

I'm trying to compile on my own with the build64 files you sent before, but I'm getting many different errors each time I change something. Probably it's my lack of experience on this.

Just a quick question about those files. In the main GNUmakefile, around line 60, there is this flag:

    FLAGS="$(FLAGS) -DINLA_WITH_MKL -fopenmp \
        -I$(HOME)/p/inla/work/local/include -I/usr/include/R -DINLA_LIBR" $(ARGS) \
             EXTLIBS2="-L/usr/lib64 -L/usr/lib64/R/lib -L$(HOME)/p/inla/work/local/lib -lgsl -ltaucs -lpardiso -lmetis  \

What files should be expected in $(HOME)/p/inla/work/local/include?

Thanks.

hrue commented 2 months ago

I made a new Manjaro build for version 24.06.27. please retry

On Thu, 2024-06-27 at 15:42 -0700, Fernando Mayer wrote:

With the default build from the new version:   Without Pardiso: everything works   With Pardiso: even this fails (expected)

inla(y~1, data=data.frame(y=0)) sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, : The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully. If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. With the Manjaro build from the new version:   Without Pardiso: n = 100; a = 1; b = 1; tau = 100 > z = rnorm(n) > eta = a + bz > scale = exp(rnorm(n)) > prec = scale*tau > y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) > data = list(y=y, z=z) > formula = y ~ 1+z > result = inla(formula, family = "gaussian", data = data, + verbose = FALSE) inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion 0 == 1' failed. inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion0 == 1' failed. inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion 0 == 1' failed. inla.mkl: smtp-taucs.c:470: taucs_ccs_metis5: Assertion0 == 1' failed. Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, : The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully. If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. inla(y~1, data=data.frame(y=0)) Time used: Pre = 0.2, Running = 0.101, Post = 0.0104, Total = 0.311   With Pardiso: n = 100; a = 1; b = 1; tau = 100 > z = rnorm(n) > eta = a + bz > scale = exp(rnorm(n)) > prec = scale*tau > y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) > data = list(y=y, z=z) > formula = y ~ 1+z > result = inla(formula, family = "gaussian", data = data, + verbose = FALSE) malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, : The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully. If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached. inla(y~1, data=data.frame(y=0)) Time used: Pre = 0.207, Running = 0.12, Post = 0.0168, Total = 0.344 I'm trying to compile on my own with the build64 files you sent before, but I'm getting many different errors each time I change something. Probably it's my lack of experience on this. Just a quick question about those files. In the main GNUmakefile, around line 60, there is this flag:  FLAGS="$(FLAGS) -DINLA_WITH_MKL -fopenmp \ - I$(HOME)/p/inla/work/local/include -I/usr/include/R -DINLA_LIBR" $(ARGS) \ EXTLIBS2="-L/usr/lib64 -L/usr/lib64/R/lib -L$(HOME)/p/inla/work/local/lib - lgsl -ltaucs -lpardiso -lmetis \ What files should be expected in $(HOME)/p/inla/work/local/include? Thanks. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

fernandomayer commented 2 months ago

Now it works without Pardiso, but with Pardiso I still get

> n = 100; a = 1; b = 1; tau = 100
> z = rnorm(n)
> eta = a + b*z
> scale = exp(rnorm(n))
> prec = scale*tau
> y = rnorm(n, mean = eta, sd = 1/sqrt(prec))
> data = list(y=y, z=z)
> formula = y ~ 1+z
> result = inla(formula, family = "gaussian", data = data,
+     verbose = FALSE)
malloc(): invalid size (unsorted)
munmap_chunk(): invalid pointer

 *** inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1 
malloc(): invalid size (unsorted)
munmap_chunk(): invalid pointer
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  : 
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.
The inla program failed and the maximum number of tries has been reached.

> inla(y~1, data=data.frame(y=0))
Time used:
  Pre = 0.191, Running = 0.117, Post = 0.0176, Total = 0.325
hrue commented 2 months ago

Move away from Arch... ;-)

On Thu, 2024-06-27 at 17:37 -0700, Fernando Mayer wrote:

Now it works without Pardiso, but with Pardiso I still get

n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data,

  • verbose = FALSE) malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer

  inla.core.safe: The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached.

inla(y~1, data=data.frame(y=0)) Time used:   Pre = 0.191, Running = 0.117, Post = 0.0176, Total = 0.325 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

hrue commented 2 months ago

or use without pardiso. I do not have a license on that machine, so I cannot check

On Fri, 2024-06-28 at 09:39 +0900, Haavard Rue wrote:

Move away from Arch... ;-)

On Thu, 2024-06-27 at 17:37 -0700, Fernando Mayer wrote:

Now it works without Pardiso, but with Pardiso I still get

n = 100; a = 1; b = 1; tau = 100 z = rnorm(n) eta = a + bz scale = exp(rnorm(n)) prec = scaletau y = rnorm(n, mean = eta, sd = 1/sqrt(prec)) data = list(y=y, z=z) formula = y ~ 1+z result = inla(formula, family = "gaussian", data = data, +     verbose = FALSE) malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer

  inla.core.safe:  The inla program failed, but will rerun in case better initial values may help. try=1/1 malloc(): invalid size (unsorted) munmap_chunk(): invalid pointer Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts,  :   The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.   If this does not help, please contact the developers at @.>. The inla program failed and the maximum number of tries has been reached.

inla(y~1, data=data.frame(y=0)) Time used:   Pre = 0.191, Running = 0.117, Post = 0.0176, Total = 0.325 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue @.***

fernandomayer commented 2 months ago

No problem. That must be a very specific issue. I'll continue without Pardiso.

Thanks for your effort here.

hrue commented 2 months ago

Arch is an expert distro... Ubuntu or Fedora are mainstreem ones where less ``issues'' are expected

On Thu, 2024-06-27 at 17:43 -0700, Fernando Mayer wrote:

No problem. That must be a very specific issue. I'll continue without Pardiso. Thanks for your effort here. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

-- Håvard Rue Professor of Statistics Chair of the Statistics Program CEMSE Division King Abdullah University of Science and Technology Thuwal 23955-6900 Kingdom of Saudi Arabia

@.*** Office: +966 (0)12 808 0640   Mobile: +966 (0)54 470 0421 Research group: bayescomp.kaust.edu.sa   R-INLA project: www.r-inla.org Zoom: kaust.zoom.us/my/haavard.rue

--

This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.