2017-07-13 2 views
0

Je veux installer le HElib library (pour lequel NTL est une dépendance) sur une machine distante sur laquelle je n'ai pas de privilèges root, ie je ne peux pas utiliser "sudo make install "pour installer NTL. La bibliothèque NTL n'est pas installée dans usr/local conformément à makefile de HElib.Installer NTL sans privilèges root et modifier son chemin de compilation dans makefile

LDLIBS = -L/usr/local/lib $(NTL) $(GMP) -lm 

Comment puis-je installer NTL sans privilèges root et comment puis-je modifier le Makefile pour que son exécution?

+0

typiquement lors de la compilation avant l'exécution make./configure qui à son tour synthétise un nouveau Makefile particulier à vos besoins ... examine le fichier configure pour voir la variable d'environnement PREFIX ou un var nommé similaire qui contrôle souvent le chemin d'accès complet ... puis définissez configure mentionné env var avant d'exécuter ./configure ... enfin execute make pour engager ce nouveau Makefile ... ce modèle de compilation est très courant dans de nombreuses bibliothèques –

Répondre

1

Dans makefile de NTL vous pouvez changer la ligne:

DEF_PREFIX=/usr/local 

pour devenir

DEF_PREFIX=$(HOME)/dev 

alors vous devriez être en mesure de mettre dans le Makefile HElib:

LDLIBS = -L$(HOME)/dev/lib $(NTL) $(GMP) -lm 

Remplacer dev avec le chemin d'accès à votre dossier de développement dans votre répertoire $ HOME.