2014-07-23 3 views
0

J'essaie de créer une application C en utilisant un buildpack heroku personnalisé spécifiquement pour cela. Le problème est que, après la compilation, il arrive à la toute dernière étape -----> Installing et échoue. Est-ce que quelqu'un pourrait expliquer ce que je dois faire pour le déployer avec succès?Heroku app buildpack échoue après la compilation avec succès

Commandes:

$ git clone https://github.com/znc/znc.git && cd znc 
$ heroku create --stack cedar --buildpack http://github.com/lonnen/heroku-buildpack-znc.git 

Creating dark-clouds-666... 
done, stack is cedar 
BUILDPACK_URL=http://github.com/lonnen/heroku-buildpack-znc.git 
http://dark-clouds-666.herokuapp.com/ | [email protected]:dark-clouds-666.git 
Git remote heroku added 

$ git push heroku master 

... alors il va à tout construire en apparence normale ...

-----> Fetching custom git buildpack... done 
-----> C app detected 
-----> Running autogen.sh 
-----> Configuring 
-----> Compiling with Make 

     Linking znc... 

     ZNC was successfully compiled. 
     Use 'make install' to install ZNC to '/usr/local'. 

-----> Installing 
     test -d /usr/local/bin || /usr/bin/install -c -d /usr/local/bin 
     test -d /usr/local/include/znc || /usr/bin/install -c -d /usr/local/include/znc 
/usr/bin/install: cannot change permissions of `/usr/local/include/znc': No such file or directory 
make: *** [install] Error 1 

!  Push rejected, failed to compile C app 

To [email protected]:dark-clouds-666.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:dark-clouds-666.git' 

Répondre

0

Votre utilisateur n'a pas la permission d'écrire dans /usr/local. Habituellement, make install est fait par l'utilisateur root, où make pourrait être fait par des utilisateurs normaux.

Le moyen le plus rapide est d'exécuter tout par l'utilisateur root, ce qui n'est pas sûr, car vous pouvez tout modifier, ce qui conduit à un système défectueux.

Vous pouvez définir un emplacement d'installation différent de /usr/local, ou vous pouvez forcer heroku à demander l'autorisation root (sudo make install).

Questions connexes