बिल्डिंग एटलस (और बाद में ऑक्टेव डब्ल्यू / एटलस)


9

मैं एटीएलएएस स्थापित करने की कोशिश कर रहा हूं (इसलिए मैं बाद में एटीएलएएस समर्थन के साथ ऑक्टेव को संकलित कर सकता हूं)।

यदि मैं सही हूं, तो मुझे अभी भी पर्यावरण विशिष्ट अनुकूलन के कारण इसे मैन्युअल रूप से बनाने की आवश्यकता है। मुझे ATLAS के लिए एक पैकेज दिखाई देता है, लेकिन ऐसा लगता है कि यह क्रॉस प्लेटफॉर्म जेनेरिक बिल्ड विकल्पों का उपयोग कर रहा है (जैसे "यह धीमा होगा")।

इसलिए, डॉक्स में वर्णित कॉन्फ़िगर स्क्रिप्ट को चलाने पर लगता है कि वह खराब है। एक जावा डेवलपर के रूप में, मैं इन निर्माण प्रक्रियाओं में त्रुटियों के प्रमुख या पूंछ बनाने में कभी भी अच्छा नहीं करता हूं। क्या मैं निर्भरताएँ याद कर रहा हूँ (यदि ऐसा है तो मुझे क्या चाहिए इस पर कोई प्रलेखन)?

allusers@vbubuntu:~/Downloads/atlas3.10.1/build_vbubuntu$ ../configure -b 64 -D c -DPentiumCPS=3000 --with-netlib-lapack-tarfile=/home/allusers/Downloads/lapack-3.5.0.tgz

make: `xconfig' is up to date.
./xconfig -d s /home/allusers/Downloads/atlas3.10.1/build_vbubuntu/../ -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu  -b 64 -D c -DPentiumCPS=3000 -Si lapackref 1

OS configured as Linux (1)

Assembly configured as GAS_x8664 (2)

Vector ISA Extension configured as  SSE3 (6,448)
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2

Architecture configured as  Corei1 (25)
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2

Clock rate configured as 2350Mhz
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2

Maximum number of threads configured as  4
Parallel make command configured as '$(MAKE) -j 4'
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Cannot detect CPU throttling.
rm -f config1.out
make atlas_run atldir=/home/allusers/Downloads/atlas3.10.1/build_vbubuntu exe=xprobe_comp redir=config1.out \
                args="-v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448   -b 64 -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu"
make[1]: Entering directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
cd /home/allusers/Downloads/atlas3.10.1/build_vbubuntu ; ./xprobe_comp -v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448   -b 64 -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu > config1.out
make[2]: gfortran: Command not found
make[2]: *** [IRunF77Comp] Error 127
make[2]: g77: Command not found
make[2]: *** [IRunF77Comp] Error 127
make[2]: f77: Command not found
make[2]: *** [IRunF77Comp] Error 127


Unable to find usable compiler for F77; abortingMake sure compilers are in your path, and specify good compilers to configure
(see INSTALL.txt or 'configure --help' for details)make[1]: *** [atlas_run] Error 8
make[1]: Leaving directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
make: *** [IRun_comp] Error 2
ERROR 512 IN SYSCMND: 'make IRun_comp args="-v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448   -b 64"'
mkdir src bin tune interfaces
mkdir: cannot create directory ‘src’: File exists
mkdir: cannot create directory ‘bin’: File exists
mkdir: cannot create directory ‘tune’: File exists
mkdir: cannot create directory ‘interfaces’: File exists
make: *** [make_subdirs] Error 1
make -f Make.top startup
make[1]: Entering directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
Make.top:1: Make.inc: No such file or directory
Make.top:325: warning: overriding commands for target `/AtlasTest'
Make.top:76: warning: ignoring old commands for target `/AtlasTest'
make[1]: *** No rule to make target `Make.inc'.  Stop.
make[1]: Leaving directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
make: *** [startup] Error 2
mv: cannot move ‘lapack-3.5.0’ to ‘../reference/lapack-3.5.0’: Directory not empty
mv: cannot stat ‘lib/Makefile’: No such file or directory
../configure: 450: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 451: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 452: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 453: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 509: ../configure: cannot create lib/Makefile: Directory nonexistent
DONE configure

जवाबों:


12

अपने विशेष प्रोसेसर के लिए अनुकूलित एटलस लाइब्रेरी बनाने का सबसे अच्छा तरीका /usr/share/doc/libatlas3-base/README.Debianयह है कि ( यहां ऑनलाइन पढ़ने के लिए भी उपलब्ध ) निर्देशों का पालन करें । निर्देश स्पष्ट रूप से बताता है कि atlasडेबियन / उबंटू के लिए स्रोत पैकेज का पुनर्निर्माण कैसे किया जाए जो आपको कस्टम-निर्मित पैकेज देगा जो आधिकारिक रिपॉजिटरी में प्रदान किए गए पैकेजों के स्थान पर स्थापित किया जा सकता है।

प्रासंगिक अंश README.Debianकहते हैं:

अपने ARCH पर बिल्डिंग अनुकूलित एटलस पैकेज

एटलस के अपने स्वयं के अनुकूलित पैकेज बनाना सीधा है। बस पैकेज और उसके निर्माण पर निर्भरता के स्रोत प्राप्त करें:

# apt-get source atlas
# apt-get build-dep atlas
# apt-get install devscripts

और एटलस स्रोत उपदिर से निम्नलिखित टाइप करें:

# fakeroot debian/rules custom

इसे एक पैकेज कहा जाना चाहिए:

../libatlas3-base_*.deb

जो वास्तुकला के लिए अनुकूलित है, एटलस का निर्माण किया गया है। फिर पैकेज का उपयोग कर स्थापित करें dpkg -i


अंतिम 'dpkg -i' चरण के बाद, मैं ATLAS 'CBLAS और CLAPACK के खिलाफ संकलन / लिंक कैसे करूँ? मेरे पास / usr / स्थानीय में कोई एटलस नहीं है। क्या -I और -L argumets मुझे g ++ पास करना चाहिए? मैंने 'g ++ main.cpp -I $ ~ / atlas-xxxx / -L ~ / atlas-xxxx / build / atlas-base / lib / -lf77blas -lcblas -latlas' की कोशिश की, लेकिन मुझे 'usr / बिन' / ld: -lf77blas नहीं ढूँढ सकता '। धन्यवाद।
साल्मोनस्ट्राइक

1
@Salmonstrikes स्थापित करें libatlas-base-devऔर libatlas-devसंकुल कि भी बनाया गया था, और पुस्तकालयों में निर्माण के लिए स्थापित कर रहे हैं /usr/lib
माइक मिलर

1
धन्यवाद! भविष्य के संदर्भ के लिए, काम करने के लिए कोड संकलित करने के लिए, मुझे आवश्यकता थी: 1) 'cblas.h' और 'clapack.h' दोनों के लिए बाहरी "C" गार्ड का उपयोग करने के लिए stackoverflow.com/questions/10786237-… ( 2) 'g ++' main.cpp -I / usr / / / atlas -lf77blas -lcblas -llapack_atlas '; किसी कारण से '-लैपैक' अकेले काम नहीं करता है और मुझे '-llapack_atlas' की आवश्यकता है
साल्मोनस्ट्राइक्स

3

ऐसा लगता है कि ये निर्भरताएं थीं जिनकी जरूरत थी, निर्माण प्रक्रिया अब चल रही है। इन चीजों को आसानी से एक अच्छा उपभोज्य रूप में आसानी से प्रलेखित नहीं किया जाता है।

उबंटू के लिए (gfortran, g77, और f77 क्रमशः):

sudo apt-get install gfortran f2c libcnf-dev

साथ ही, इस प्रश्न को खोजने वाला कोई भी व्यक्ति इस संबंधित स्टैकओवरफ्लो उपयोग का प्रश्न पा सकता है:

/programming/23876286/building-octave-from-source-did-atlas-get-included-properly-in-octaves-confi

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.