Instale o R sem suporte para longas dobras (noLD) no Ubuntu

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Os pacotes R no CRAN precisam passar por uma série de verificações técnicas. Essas verificações também podem ser chamadas por qualquer usuário ao executar R CMD check na embalagem tar.gz (emular o CRAN, tanto quanto possível, deve-se também definir o --as-cran opção ao fazê-lo). Essas verificações precisam ser aprovadas antes que um pacote seja aceito no CRAN. Além disso, essas verificações são executadas regularmente para cada pacote no CRAN para garantir que novos recursos R ou atualizações de pacotes upstream não quebrem o pacote. Além disso, as verificações CRAN se tornam regularmente mais rígidas. Portanto, manter um pacote no CRAN pode exigir um esforço regular do mantenedor do pacote. Embora isso às vezes possa ser um pouco frustrante para o mantenedor, em parte por causa do limite bastante curto de duas semanas do CRAN em caso de problemas recentes, esse é um dos recursos que garante a alta qualidade técnica dos pacotes no CRAN.

Como um exemplo para verificações cada vez mais rigorosas, o CRAN agora também realiza um conjunto de verificações adicionais, além das verificações do CRAN em todas as plataformas R que são mostradas em uma página de verificação de pacotes (por exemplo, para o MPTmultiverse). Essas verificações adicionais incluem testes para erros de acesso à memória (por exemplo, usando valgrind), R compilado usando compiladores alternativos, diferentes bibliotecas de álgebra numérica, mas também testa uma versão R sem suporte para duplas longas (ou seja, noLD) Agora aconteceu pela segunda vez que um dos meus pacotes mostrou um problema na versão R sem suporte duplo e longo

No meu caso, o problema na versão R sem suporte duplo longo apareceu nos exemplos de pacotes ou nos testes de unidade do pacote. Portanto, eu não queria apenas corrigir o problema do cheque, mas também entender o que estava acontecendo. Portanto, eu precisava de uma versão funcional do R sem suporte para duplas longas. Infelizmente, a descrição dessa configuração é bastante esparsa. A única informação sobre CRAN é bastante esparsa:

testes no Linux x86_64 com o R-devel configurado usando --disable-long-double

Outros detalhes como https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-gcc

Da mesma forma, informações esparsas são fornecidas em Writing R Extensions:

Se você deve tentar estabelecer uma tolerância empiricamente, configure e construa R com –Disable-long-double e use sinalizadores de compilador apropriados (como -ffloat-store e -fexcess-precision = standard para gcc, dependendo do tipo de CPU86) para atenuar os efeitos dos cálculos de precisão estendida.

Infelizmente, minha primeira abordagem na qual simplesmente tentei adicionar o --disable-long-double A opção para o script de instalação do R-devel falhou. Após algumas pesquisas, encontrei a solução no fórum da comunidade RStudio, graças a David F. Severski. Além de --disable-long-double é preciso também adicionar --enable-long-double=no to configure. Pelo menos no Ubuntu, isso compila com êxito um R versão sem suporte duplo longo. Isso pode ser confirmado com uma chamada para capabilities() no R.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

O restante deste post fornece uma lista de todos os pacotes que eu precisava instalar em uma nova versão do Ubuntu para compilar o R ​​dessa maneira. Obviamente, esse conjunto de pacotes também deve ser utilizado para a compilação de versões R normais. Espero não ter esquecido muitos pacotes, mas espero que isso cubra a maioria. Sinta-se livre para postar um comentário se algo estiver faltando e vou tentar atualizar a lista.

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gfortran
sudo apt-get install libpcre2-dev
sudo apt-get install xorg-dev
sudo apt-get install libcurl
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libbz2-dev
sudo apt-get install texlive-fonts-extra
sudo apt-get install default-jdk
sudo apt-get install curl

Depois disso, poderemos construir o R. Para isso, segui as instruções do `RStudio` para instalar várias versões do R em paralelo. Começamos definindo uma variável de ambiente e baixando R.

export R_VERSION=4.0.1

curl -O https://cran.rstudio.com/src/base/R-4/R-${R_VERSION}.tar.gz
tar -xzvf R-${R_VERSION}.tar.gz
cd R-${R_VERSION}

Podemos então instalar R (aqui defino as opções para desativar duplas longas):

./configure 
    --prefix=/opt/R/${R_VERSION} 
    --enable-R-shlib 
    --with-blas 
    --with-lapack 
    --disable-long-double 
    --enable-long-double=no

make 
sudo make install

Para testar a instalação, podemos usar:

/opt/R/${R_VERSION}/bin/R --version

Por fim, precisamos criar um link simbólico:

sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript

Podemos então correr R e verifique os recursos da instalação:

> capabilities()
       jpeg         png        tiff       tcltk         X11 
      FALSE        TRUE       FALSE       FALSE        TRUE 
       aqua    http/ftp     sockets      libxml        fifo 
      FALSE        TRUE        TRUE        TRUE        TRUE 
     cledit       iconv         NLS     profmem       cairo 
       TRUE        TRUE        TRUE       FALSE       FALSE 
        ICU long.double     libcurl 
       TRUE       FALSE        TRUE

Ou mais curto:

> capabilities()[["long.double"]]
[1] FALSE

Leia Também  Gráficos em R com ggplot2



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha o seu sabor: e-mail, twitter, RSS ou facebook …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br