[Rcpp-devel] gcc 10 error: symbol `fun' is already defined

Dirk Eddelbuettel edd at debian.org
Sat Feb 8 23:50:31 CET 2020


On 8 February 2020 at 22:36, Iñaki Ucar wrote:
| lme4 fails to compile with this misterious message in Fedora Rawhide
| with gcc10 (see the build log and more details in [1]). There is no
| "fun" in lme4, but there are several local definitions of "fun" in
| RcppEigen, used by lme4, under inst/include/RcppEigenStubs.h. These

Shouldn't what is in RcppEigen be protected by namespaces?

Also, the ever-vigilant Prof Ripley emailed dozens of people last year about
gcc10 changes (for C, though). If this were systemic I cam sure we'd hear
from him.

| are the relevant lines from the assembler output:
| 
| fun:
| .zero 8
| .section .rodata
| .LC5:
| .string "cholmod_free_factor"
| 
| ...
| 
| fun:
| .zero 8
| .section .rodata
| .LC8:
| .string "cholmod_start"
| 
| So it seems that, unless lme4 is doing something improper in
| src/lme4CholmodDecomposition.h, this is a bug in RcppEigen due to the
| use of inline and static (or in gcc 10?). Thoughts? Should I open an
| issue in RcppEigen?

Better yet, provide a fix?  You're the one with a reproducible system :)

Dirk
 
| [1] https://github.com/lme4/lme4/issues/558
| 
| Iñaki
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list