2012-11-18 5 views
6

में साझा लाइब्रेरी बनाएं मैंने पूरे एटलस इंस्टॉलेशन गाइड को पढ़ लिया है, और यह कहता है कि आपको साझा (.so) पुस्तकालयों को बनाने की आवश्यकता है, --shared कॉन्फ़िगर स्क्रिप्ट पर ध्वज पास करना है। हालांकि, जब मैं निर्माण, केवल .so फ़ाइलों कि मेरी lib फ़ोल्डर में प्रकट libsatlas.so और libtatlas.so, हालांकि गाइड का कहना है कि वहाँ छह अन्य होना चाहिए:एटीएलएएस

libatlas.so, libcblas.so, libf77blas.so, liblapack.so, libptcblas.so, libptf77blas.so 

स्थापना के बाद परीक्षण के कुछ असफल क्योंकि इन पुस्तकालयों हैं लापता। इसके अलावा, FFPACK स्थापना के दौरान इन पुस्तकालयों चाहता है।

क्या किसी को इसका सामना करना पड़ा है? मैं गलत तरीके से क्या कर रहा हूँ?

+0

कॉन्फ़िगर स्क्रिप्ट को - शेर ध्वज कैसे पास करें? –

उत्तर

5

मेरे अनुभव में, यह उससे कहीं अधिक जटिल है, https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/a/atlas.py पर ATLAS बिल्ड प्रक्रिया के हमारे EasyBuild कार्यान्वयन को देखें।

  • -fPIC संकलक विकल्प
  • रन सक्षम 'बनाने के साझा cshared ptshared cptshared' 'lib' निर्देशिका में

हम भी उपयोग नहीं कर रहे: -

हम करने के लिए आवश्यक कॉन्फ़िगर करने के लिए साझा किया गया, शायद क्योंकि यह ज्यादा नहीं करता है।

यदि आप सिरदर्द के बिना एटीएलएएस (और जो भी आप इसे जोड़ रहे हैं) बनाना चाहते हैं, तो EasyBuild में देखें।

(अस्वीकरण: मैं EasyBuild के लिए एक डेवलपर हूँ)

+0

-fPIC संकलक विकल्प को सक्षम करने के लिए कैसे करें? –

+0

@ 郭 同 jet_ 专心 देख https://github.com/hpcugent/easybuild-easyblocks/blob/c2a9fe50fcdb77708f47eb1edfa378a8a848808d/easybuild/easyblocks/a/atlas.py#L123 मूल रूप से, आप '-Fa alg' साथ एटलस कॉन्फ़िगर -fPIC'' –

0

First if you have incorrectly specified the --force-tids flag for configure then the parallel libs won't build. To check this you can run make ptcheck। मेरे पास इस ध्वज के विनिर्देश के बारे में प्रश्न है here

फिर यदि मैं अपने परिणामी एटलस मेकफ़ाइल की जांच करता हूं तो यह कहता है "... केवल जब एटलस एक lib में बनाया गया है" और वास्तव में केवल दो "वसा" libs का निर्माण किया जाता है: libsatlas। तो और libtatlas.so।

मुझे लगता है कि आप या तो उन libs के खिलाफ FFPACK को लिंक कर सकते हैं या परिणामस्वरूप एटीएलएएस मेकफ़ाइल को अपने इच्छित लक्ष्यों को शामिल कर सकते हैं (जो स्थिर libs उपलब्ध होने के बाद से बहुत कठिन नहीं होंगे)।

0

मुझे मैन्युअल रूप से .so.3 फ़ाइलों के लिंक बनाना पड़ा। तो संस्करण वाली लाइब्रेरी फाइलें मौजूद थीं, लेकिन सेमेक की फाइलें नहीं थीं।

रनिंग

sudo ln -s libatlas.so.3 libatlas.so 
sudo ln -s libcblas.so.3 libcblas.so 
sudo ln -s liblapack_atlas.so.3 

(मैं cblas, एटलस या LAPACK का निर्माण नहीं किया, लेकिन उन्हें apt-get के साथ स्थापित किया। ताज्जुब क्यों लिंक स्वचालित रूप से नहीं बनाया गया)।