2011-12-05 5 views
1

私は、debian squeezeオペレーティングシステム(64ビット)を持っています。私はgoogle-perftoolsでpythonを使いたいです。これを実行するために、私はpython 2.72をオプション "-lctmalloc"でコンパイルしました。しかし、エラーはほとんどありません。Python 2.7.2をgoogle-perftoolsでコンパイルする

  1. 64ビット
  2. を使用しながら、Googleの-perftoolは、このパッケージを要求するので、私は、私は必要なすべてのパッケージがインストールlibuwindをインストール:

ステップ:

> sudo apt-get -y install build-essential 
> sudo apt-get -y install zlib1g-dev libxml2-dev libxslt1-dev libssl-dev libncurses5-dev 
> sudo apt-get -y install libreadline6-dev autotools-dev autoconf automake libtool 
> sudo apt-get -y install libsvn-dev mercurial subversion git-core 
> sudo apt-get -y install libbz2-dev libgdbm-dev sqlite3 libsqlite3-dev 
> sudo apt-get -y install curl libcurl4-gnutls-dev 
> sudo apt-get -y install libevent-dev libev-dev librrd4 rrdtool 
> sudo apt-get -y install uuid-dev libdb4.8-dev memcached libmemcached-dev 
> sudo apt-get -y install libmysqlclient-dev libexpat1-dev 
> sudo apt-get -y install google-perftool 
> cd python 
> export CFLAGS='-ltcmalloc' 
> ./configure 
> make 

をし、それが何であります私は得た:

gcc -Xlinker -export-dynamic -o python \ 
      Modules/python.o \ 
      libpython2.7.a -ldl -lutil -lm 
libpython2.7.a(posixmodule.o): In function `posix_tmpnam': 
/home/toto/python272/Python-2.7.2/./Modules/posixmodule.c:7370: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp' 
libpython2.7.a(posixmodule.o): In function `posix_tempnam': 
/home/toto/python272/Python-2.7.2/./Modules/posixmodule.c:7317: warning: the use of `tempnam' is dangerous, better use `mkstemp' 
libpython2.7.a(thread.o): In function `_pythread_pthread_set_stacksize': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:491: undefined reference to `pthread_attr_setstacksize' 
libpython2.7.a(thread.o): In function `PyThread_release_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:346: undefined reference to `sem_post' 
libpython2.7.a(thread.o): In function `PyThread_acquire_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:323: undefined reference to `sem_trywait' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:321: undefined reference to `sem_wait' 
libpython2.7.a(thread.o): In function `PyThread_free_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:292: undefined reference to `sem_destroy' 
libpython2.7.a(thread.o): In function `PyThread_allocate_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:268: undefined reference to `sem_init' 
libpython2.7.a(thread.o): In function `PyThread_start_new_thread': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:183: undefined reference to `pthread_attr_setstacksize' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:193: undefined reference to `pthread_create' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:209: undefined reference to `pthread_detach' 
libpython2.7.a(thread.o): In function `PyThread_acquire_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:321: undefined reference to `sem_wait' 
libpython2.7.a(thread.o): In function `PyThread_release_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:346: undefined reference to `sem_post' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:346: undefined reference to `sem_post' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:346: undefined reference to `sem_post' 
libpython2.7.a(thread.o): In function `PyThread_allocate_lock': 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:268: undefined reference to `sem_init' 
/home/toto/python272/Python-2.7.2/Python/thread_pthread.h:268: undefined reference to `sem_init' 
collect2: ld returned 1 exit status 
make: *** [python] Error 1 
You have new mail in /var/mail/root 

CFLAGS = ' - ltcmalloc'を使わずにまったく同じことをすると、このエラーが本当に分かりません。コンパイルできます。 ありがとうございます。

+0

私は推測、あなたは=輸出LDFLAGSを使用する必要があります ' - ltcmalloc' とだけではなく、CFLAGS。 – pyfunc

+1

はまた、あなたは、以下を含むべきである:-lpthread – pyfunc

+1

はどうもありがとうございました: を私は追加 LDFLAGSを= smply「 - ltcmalloc -lpthread」 CFLAGS =「 - ltcmalloc -lpthread」 –

答えて

1

使用LDFLAGS

-ltcmalloc

、それはPOSIXスレッドのサポートが必要です。

-lpthread

関連する問題