rbundler erro de compilação: “não é possível abrir o arquivo 'startup.Rs': Nenhum arquivo ou diretório desse tipo”

9

Estou com um problema ao criar o seguinte pacote: link

Meu teste tenta executar o comando bundle do rbundler no um pacote trivial que tem uma única dependência. O teste passa na minha máquina OSX, mas falha no meu servidor Jenkins x86_64-redhat-linux-gnu. Ambas as máquinas estão executando o R 2.15.1 com devtools 0.7.1, que inclui esta correção de erro .

A saída completa do teste pode ser encontrada em esta essência .

Aqui está um breve resumo do erro que estou vendo:

Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  cannot open file 'startup.Rs': No such file or directory
Execution halted

O pano de fundo para isso é que eu estou tentando construir um sistema de gerenciamento de dependências para R. A idéia é que um projeto R seja capaz de rodar sem usar bibliotecas de todo o sistema ou do usuário. Em vez disso, o projeto R terá sua própria biblioteca instalada em seu diretório raiz.

Para minha pergunta anterior sobre estouro de pilha relacionada ao Gerenciamento de dependências em R, consulte Gerenciamento de dependências em R

    
por yoni 13.09.2012 в 18:24
fonte

2 respostas

5

No meu caso, esse problema foi causado pela variável de ambiente R_TESTS que foi definida como startup.Rs

Quando você executa outro processo de R dentro de seus testes (no meu caso ele foi enviado via OGS qsub), a presença dessa variável de ambiente causa problemas.

    
por Roman Zenka 17.01.2015 / 00:15
fonte
0

Não posso responder à sua pergunta diretamente, mas você pode tentar obter mais informações sobre o que está acontecendo.

  1. use 'env' para despejar variáveis de ambiente em sua máquina OSX e no host Jenkins
  2. executa o processo através de strace no Linux e dtruss no OSX para interceptar as chamadas do sistema

strace / dtruss deve revelar os locais em que ele está pesquisando a inicialização. O resultado de rs e env provavelmente fornecerá uma variável de ambiente que difere entre a contabilização do sistema para o resultado diferente.

    
por user1669366 13.09.2012 / 19:58
fonte