[Rcpp-devel] RcppEigen-related compilation error for Windows i386
Evan Biederstedt
evan.biederstedt at gmail.com
Sun Sep 20 06:34:20 CEST 2020
Hey Dirk
I really appreciate the help here. I've been trying this via Mac OS with
VMWare Fusion using a Windows 10 32-bit ISO. (Yeesh, it's slow.)
> 1. You get an R CMD check warning on use of stderr. That is
understandable as
you included _upstream_ spdlog. It will do that. Once you instrument it the
way RcppSpdlog does, this issue goes away. The change is minimal as we can
simply create the 'r_sink_mt' instance we need in the Hnsw constructor. I
will send you a PR for that in a minute.
Yes, this is entirely correct. Although the spdlog library installs
successfully, I would love to use RcppSpdlog to get rid of the stderr
warning.
RcppSpdlog does precisely what I need here :) Thank you
> 2. The 32bit issue. I have not yet looked into this but it might be best
to
disentangle this. As I mentioned, _maybe_ we need to switch to int64_t
use. Very very worst case you could simply disable the code via #define and
state that 'legacy systems' will no longer be supported ;-). I am
half-kidding here but it is an option. Nobody is running your genomics
workload on systems from 15 years ago so ..
I have no successful updates, sadly. I'm using int64_t for every `int`
here: https://github.com/kharchenkolab/N2R/blob/master/src/n2knn.cpp
I still get this error.
What's difficult for me is that it's only RcppEigen code, so I'm finding it
a bit difficult to trace back where the issue is.
I guess the next step could be explicitly made every 'int' in the /src
int64_t...
I'd also be very welcome to disable code for 32-bit systems, if CRAN would
allow this. I think a warning message suggesting developers no longer
support this is entirely appropriate. :)
Best, Evan
On Sat, Sep 19, 2020 at 6:25 PM Dirk Eddelbuettel <edd at debian.org> wrote:
>
> Evan,
>
> As you posted a link to the repo, I took a look -- given my recent work on
> RcppSpdlog this was of obvious interest.
>
> Now, as I understand it, you are fighting two battles here:
>
> 1. You get an R CMD check warning on use of stderr. That is understandable
> as
> you included _upstream_ spdlog. It will do that. Once you instrument it the
> way RcppSpdlog does, this issue goes away. The change is minimal as we can
> simply create the 'r_sink_mt' instance we need in the Hnsw constructor. I
> will send you a PR for that in a minute.
>
> 2. The 32bit issue. I have not yet looked into this but it might be best to
> disentangle this. As I mentioned, _maybe_ we need to switch to int64_t
> use. Very very worst case you could simply disable the code via #define and
> state that 'legacy systems' will no longer be supported ;-). I am
> half-kidding here but it is an option. Nobody is running your genomics
> workload on systems from 15 years ago so ...
>
> Cheers, Dirk
>
> --
> https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20200920/dc3e3d84/attachment.html>
More information about the Rcpp-devel
mailing list