2016-07-19 212 views
20

Sto collaborando alla creazione di Ruby-wrapper per TensorFlow. Ovviamente. vorremmo impostare il test automatico del progetto e quindi sono currently provare che fatica a configurare Travis-CI per costruire il progetto ed eseguire test come posso sulla mia macchina (OSX El Capitan).Come creare una libreria condivisa per TensorFlow su Travis-CI

La mia domanda è: qual è la magia che deve andare nel .travis.yml -file a bazel build correttamente una lib condivisa (tensorflow.so) per TensorFlow?

Per quanto ne so, ho installato con successo TensorFlow's dependencies, incluso lo strumento di creazione di Google Bazel, ma Travis-CI non riesce ancora a costruire. A partire da questa scrittura del comando bazel build riesce con il messaggio:

... 
... 
INFO: Building... 
[1/13] Writing file external/gif_archive/libgif.so-2.params 
[3/13] Compiling external/gif_archive/giflib-5.1.4/lib/egif_lib.c 
ERROR: /home/travis/.cache/bazel/_bazel_travis/1a58902034d650eeef2a9da5b1248179/external/gif_archive/BUILD:14:1: C++ compilation of rule '@gif_archive//:gif' failed: namespace-sandbox failed: error executing command 
    (cd /home/travis/.cache/bazel/_bazel_travis/1a58902034d650eeef2a9da5b1248179/execroot/tensorflow && \ 
    exec env - \ 
... 
... 
The command "bazel build --verbose_failures=1 @gif_archive//:gif" failed and exited with 1 during . 

https://travis-ci.org/chrhansen/tensorflow.rb/builds/145716589

Nota: Ho notato che i ragazzi oltre a github.com/node-tensorflow/node-tensorflow realizzati con successo questo accada : https://travis-ci.org/node-tensorflow/node-tensorflow/builds

UPDATE: https://github.com/tensorflow/tensorflow/issues/3374

+0

Si può provare a disabilitare il sandboxing? –

+0

Certo, come potrei farlo? Ecco il mio attuale ['.travis.yml'] (https://github.com/chrhansen/tensorflow.rb/pull/1/files). Google non è stato particolarmente utile. – ChrHansen

+0

Prova a usare 'bazel build --genrule_strategy = standalone --spawn_strategy = standalone // tensorflow: libtensorflow.so'; che dovrebbe disabilitare il sandboxing. – Aurora0001

risposta