“Ne peut pas trouver -lboost_filesystem”


3

Deluge est un client BitTorrent. J'essaie de le construire à partir des sources, car je n'ai pas le privilège de l'installer en tant que root.

J'utilise python setup.py build. Mais, le message suivant a échoué, pourquoi?

copying deluge/ui/web/themes/images/gray/slider/slider-v-thumb.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/gray/slider
copying deluge/ui/web/themes/images/gray/slider/slider-thumb.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/gray/slider
copying deluge/ui/web/themes/images/gray/panel/top-bottom.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/gray/panel
copying deluge/ui/web/themes/images/gray/tabs/tab-strip-bg.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/gray/tabs
copying deluge/ui/web/themes/images/yourtheme/window/right-corners.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/window
copying deluge/ui/web/themes/images/yourtheme/window/left-corners.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/window
copying deluge/ui/web/themes/images/yourtheme/window/left-right.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/window
copying deluge/ui/web/themes/images/yourtheme/window/top-bottom.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/window
creating build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/slider
copying deluge/ui/web/themes/images/yourtheme/slider/slider-v-thumb.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/slider
copying deluge/ui/web/themes/images/yourtheme/slider/slider-thumb.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/slider
copying deluge/ui/web/themes/images/yourtheme/slider/slider-bg.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/slider
copying deluge/ui/web/themes/images/yourtheme/slider/slider-v-bg.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/slider
copying deluge/ui/web/themes/images/yourtheme/panel/top-bottom.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/panel
copying deluge/ui/web/themes/images/yourtheme/grid/hmenu-lock.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/grid
copying deluge/ui/web/themes/images/yourtheme/grid/hmenu-unlock.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/grid
copying deluge/ui/web/themes/images/yourtheme/tabs/tab-strip-bg.png -> build/lib.linux-x86_64-2.4/deluge/ui/web/themes/images/yourtheme/tabs
running build_ext
building 'libtorrent' extension
gcc -pthread -shared -L/usr/lib64 -L/opt/local/lib -lboost_filesystem -lboost_date_time -lboost_iostreams -lboost_python -lboost_thread -lpthread -lssl -lz -o build/lib.linux-x86_64-2.4/deluge/libtorrent.so
/usr/bin/ld: cannot find -lboost_filesystem
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
[mirror@innov deluge-1.3.5]$ echo $?
1

Edit 1 : informations sur la version et le système d'exploitation de gcc

$(which gcc) --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


cat /etc/issue
CentOS release 5.7 (Final)
Kernel \r on an \m

Edit 2 : boost est référencé par setup.py dans deluge

114     if OS == "linux":
115         if os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
116             'libboost_filesystem-mt.so')):
117             boost_filesystem = "boost_filesystem-mt"
118         elif os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
119             'libboost_filesystem.so')):
120             boost_filesystem = "boost_filesystem"
121         if os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
122             'libboost_date_time-mt.so')):
123             boost_date_time = "boost_date_time-mt"
124         elif os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
125             'libboost_date_time.so')):
126             boost_date_time = "boost_date_time"
127         if os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
128             'libboost_thread-mt.so')):
129             boost_thread = "boost_thread-mt"
130         elif os.path.exists(os.path.join(sysconfig.get_config_vars()['LIBDIR'], \
131             'libboost_thread.so')):
132             boost_thread = "boost_thread"
133
134         if 'boost_filesystem' not in vars():
135             boost_filesystem = "boost_filesystem-mt"
136         if 'boost_date_time' not in vars():
137             boost_date_time = "boost_date_time-mt"
138         if 'boost_thread' not in vars():
139             boost_thread = "boost_thread-mt"
140
141     elif OS == "freebsd":
142         boost_filesystem = "boost_filesystem"
143         boost_date_time = "boost_date_time"
144         boost_thread = "boost_thread"
145     else:
146         boost_filesystem = "boost_filesystem-mt"
147         boost_date_time = "boost_date_time-mt"
148         boost_thread = "boost_thread-mt"
149
150     librariestype = [boost_filesystem, boost_date_time,
151             boost_thread, 'z', 'pthread', 'ssl', 'crypto']

salut pouvez-vous nous dire quel système d'exploitation vous utilisez et également exécuter, $(which gcc) --versionet s'il vous plaît poster les résultats dans votre question. Vous pouvez également essayer de réinstaller gcc.
— pneumatiques

@AlanTuring see edit 1 :) est ce problème de gcc?
— hugemeow

Réponses:


3

Votre réponse réside dans le message d'erreur:

/usr/bin/ld: cannot find -lboost_filesystem
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Spécifiquement cette ligne: / usr / bin / ld: impossible de trouver -lboost_filesystem . L'éditeur de liens n'a pas été en mesure de résoudre l'une des dépendances. Sa recherche de la boost_filesystembibliothèque et n'a pas été en mesure de la trouver. Vous devrez vous assurer que Boost est installé, et peut-être configurer la construction pour qu'elle pointe vers une installation locale de boost si vous devez l'installer localement.


comment installer boost, si je ne suis pas root? Dois-je créer un boost à partir des sources et l'installer dans mon répertoire personnel? Existe-t-il des méthodes avec lesquelles je n'ai pas besoin de compiler à partir des sources lorsque je ne suis pas root?
— hugemeow

1
Consultez la documentation sur le boost: boost.org/doc/libs/1_51_0/more/getting_started/… . Regardez plus précisément la section 5 sur l'utilisation des fichiers binaires du boost.
— lourde
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.