पर लाइब्रेरीज़ के रोलबैक संगतता संस्करण तो, मुझे अपनी मैकबुक पसंद है, और वह मुझे प्यार करती है। हमारे पास उतार-चढ़ाव है, लेकिन अधिकांश भाग के लिए हमारा रिश्ता मजबूत रहा है। हाल ही में हालांकि हम एक लड़ाई थी। यह बस पर्याप्त बाहर शुरू हुआ। मैं उससे अधिक प्रयोग करने की कोशिश कर रहा था, और अधिक प्रयोगात्मक होने की कोशिश कर रहा था। हमने एसएसई, फास्ट गणित, और शयनकक्ष में अनलॉक करने और हमारे पुस्तकालयों के नए संस्करणों को संकलित करने जैसी चीजें लाईं।मैक ओएस एक्स
यह काफी अच्छी तरह से शुरू हुआ। हम नए पुस्तकालयों का उपयोग करके कुछ कोड संकलित करेंगे, नए पानी का परीक्षण करेंगे। समय के साथ हमारे प्रदर्शन एक जोड़े के रूप में बढ़ी। वह तेजी से काम कर रही थी और मैंने सोचा कि सब ठीक और अच्छा था। फिर चीजें बदतर के लिए एक मोड़ लिया। हम मिश्रण में एक और खिलाड़ी लाया। उसका नाम मटकाब है।
हम मैटलैब के लिए संकलन शुरू कर दिया,
mex CC="gcc" CFLAGS="\$CFLAGS -msse -msse2 -msse3 -ffast-math -ftree-vectorize" LDFLAGS="\$LDFLAGS -msse2 -msse3 -ffast-math -ftree-vectorize" -I/usr/local/include -L/usr/local/lib -lsundials_cvode -lsundials_nvecserial -v -o kry_new.mexmaci64 mex_main.c
संकलन और जोड़ने महान काम किया। लेकिन फिर समस्या शुरू हुई:
kry_new(param,init,0:60:240,abstol,rtol,1)
??? Invalid MEX-file
'/Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64':
dlopen(/Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64, 1):
Library not loaded: /usr/local/lib/libsundials_cvode.1.dylib
Referenced from: /Users/Andrew/Documents/MATLAB/het_optim/kry_new.mexmaci64
Reason: Incompatible library version: kry_new.mexmaci64 requires version
2.0.0 or later, but libsundials_cvode.1.dylib provides version 1.0.0.
मैटलैब ने महसूस किया कि हमारे प्रयोग दूर तक चले गए हैं। कि वे पुस्तकालयों के पूरी तरह से अलग संस्करण थे। मुझे नहीं पता कि उसे यह विचार कहां मिला।
$ otool -L kry_new.mexmaci64
kry_new.mexmaci64:
/usr/local/lib/libsundials_cvode.1.dylib (compatibility version 2.0.0, current version 2.0.0)
@loader_path/libsundials_nvecserial.0.0.2.dylib (compatibility version 0.0.0, current version 0.0.2)
@loader_path/libmx.dylib (compatibility version 0.0.0, current version 0.0.0)
@loader_path/libmex.dylib (compatibility version 0.0.0, current version 0.0.0)
@loader_path/libmat.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
समस्या libsundials_cvode में था: मैं कुछ की जांच कर रही थी। कोई संस्करण 2 नहीं था, वहां कभी नहीं था। मामलों को और खराब बनाने के लिए, मेरी मैकबुक ने मैटलैब की तरफ ले लिया। मैंने अनइंस्टॉल करने का प्रयास किया, नई चीजों के सभी संदर्भों को दबाकर, हमारी मेक फाइलों को हटा दिया और फिर से शुरू करने की कोशिश की। मैंने अपने पुस्तकालयों को पुराने तरीके से पुनर्निर्माण करने की कोशिश की। लेकिन वे छद्म संस्करण 2 को जाने नहीं देंगे। मुझे नहीं पता था कि उन्हें क्या देना है। मैं बस अपनी अपेक्षाओं को पूरा करने के लिए पर्याप्त आदमी नहीं था।
केवल एक चीज मुझे लगता है कि हो सकता है कि कुछ बिंदु पर, संस्करण 2 भावना बना है, लेकिन है कि मैं इससे दूर किसी भी तरह का समर्थन किया था। मुझे लगता है कि मैंने जो लिंक प्रस्तुत किया था, वह तब भी उनके दिमाग में रहा जब भी मैं वापस गया था। मुझे लगता है कि मैं उन पक्षियों का पहला नियम भूल गया था और मधुमक्खी की बातों को मेरे sys व्यवस्थापक द्वारा दिया गया था, "हर बार जब आप एक गतिशील पुस्तकालय को प्रतीक करते हैं तो आप स्वयं का हिस्सा देते हैं कि आप कभी वापस नहीं आते।"
हताशा मेरे जीवन में दोनों मेरे मैकबुक और मैटलैब रखने के लिए, मैं एक झूठ है कि मैं पर गर्व नहीं कर रहा हूँ कहा:
sudo mv libsundials_cvode.1.0.0.dylib libsundials_cvode.2.0.0.dylib
मुझे नहीं लगता था कि यह काम करेगा, लेकिन यह किया था। वे अब मेरे कोड को संकलित करते हैं और वे पर्याप्त खुश दिखाई देते हैं। लेकिन मुझे यह महसूस हो रहा है कि मैं इसे सिर्फ फिक्र कर रहा हूं, और मेरा झूठ मुझे काटने के लिए वापस आ जाएगा।
तो, के बाद से डैन सावेज ने बस मुझे ध्यान नहीं देता, मैं चालू करने के लिए आप रिश्ते सलाह के लिए stackoverflow। मुझे किसी भी तरह से मेरी मैकबुक बताएं कि, नहीं, संस्करण 1.0.0 हमारे लिए पर्याप्त है। मैं उसे कैसे सुन सकता हूं और अपने भयानक झूठ के बिना अपने रिश्ते में संगतता मुद्दों को ठीक कर सकता हूं?
मैं मुझे पता था कि ... हालांकि, सभी StackOverflow सवाल संबंध सलाह स्तंभों के रूप में फिर से लिखा जाना चाहिए चाहते हैं। मैं उत्साहित हूं: मुझे उम्मीद है कि कोई और मदद कर सकता है। – stderr