OS X पर काम नहीं करने वाला सिम्क्लिन निष्पादन योग्य है


0

मैं नीचे एक सिमलिंक बनाने के लिए कोशिश कर रहा हूँ mathमें /usr/local/binमेथेमेटिका के लिए ( /Applications/Mathematica.app/Contents/MacOS/WolframKernel)। निष्पादन योग्य काम करता है, और यहां तक ​​कि अगर मैं फाइंडर से सिमलिंक के माध्यम से जाता हूं और मैं इसे क्लिक करता हूं तो यह काम करता है। लेकिन जब मैं mathकमांड लाइन से फोन करता हूं तो मुझे मिलता है

$ math
dlopen(/SystemFiles, 1): image not found

मैं OSX El Capitan 10.11.6 चला रहा हूं।

यह काम नहीं कर रहे dylib से घिरे Symlinking निष्पादन योग्य का एक सटीक डुप्लिकेट है , लेकिन वहां दिया गया उत्तर (एक उपनाम बनाने के लिए) मेरे लिए काम नहीं करता है। मुझे कॉल करने में सक्षम होने के लिए एक और प्रोग्राम (SageMath) की आवश्यकता है math, और यह अन्य प्रोग्राम मेरी अन्य परिभाषाओं को नहीं पढ़ता है।


कुछ प्रोग्राम प्रोग्राम के NAME के ​​प्रति संवेदनशील होते हैं। मूल रूप से, वे एक ही कोड का उपयोग करते हैं, लेकिन NAME के ​​आधार पर भिन्न व्यवहार करते हैं। यदि आप "वुल्फाम कर्नेल" के रूप में सिमलिंक बनाते हैं तो क्या होगा? मुझे पता है कि जब कोई अन्य कार्यक्रम इसे "गणित" के रूप में कॉल करने की कोशिश कर रहा है, तब भी आपकी मदद नहीं करता है, लेकिन यह एक शुरुआत है। इसके अलावा, क्या होता है यदि आप उस मैकओएस फ़ोल्डर में "गणित" नामक लिंक बनाते हैं, और इसे वहां से कॉल करते हैं? यदि वह काम करता है, तो उस मैकओएस फ़ोल्डर को आपकी खोज पथ में जोड़ने की कोशिश कर रहा है, और "गणित" को "दूसरी निर्देशिका" में कॉल करें।
jimtut

आपके सुझावों के लिए धन्यवाद! मैंने वोल्फ्रैम कर्नेल के रूप में सिमलिंक बनाने की कोशिश की और वही चीज़ मिली (छवि नहीं मिली)।
सी विन्सेंट

आप उस "MacOS फ़ोल्डर" से क्या मतलब है? वह जिसमें दूसरा कार्यक्रम है?
सी विन्सेंट

उस MacOS फ़ोल्डर द्वारा, मेरा मतलब था /Applications/Mathematica.app/Contents/MacOS। मेरे पास एक गणितज्ञ नहीं है, लेकिन मैंने माना कि वोल्फ्रामर्कर्नल निष्पादन योग्य था, और मैकओएस फ़ोल्डर है। MacOS dir में गणित नामक सिम्लिंक बनाने का प्रयास करें। यह आपको गणितज्ञ / वुल्फराम में बता सकता है कि किसी अन्य निर्देशिका से बुलाया जाना पसंद नहीं है या "गणित" (या दोनों) कहलाना पसंद नहीं है।
jimtut

किसी भी तरह से, समाधान समान हो सकता है: "रैपर" स्क्रिप्ट "गणित" नामक लिखें, कहीं आपके सामान्य पेट में। स्क्रिप्ट "cd" को /Applications/Mathematica.app/Contents/MacOS पर ले जाएगी और फिर वहां वुल्फ्राम कर्नेल को कॉल करेगी। यदि आप फ़ाइलनाम जैसे तर्क पारित करने की कोशिश कर रहे हैं, तो आपको थोड़ा और काम करना होगा, क्योंकि आपको इस तथ्य पर ध्यान देने के लिए फ़ाइलों को पथ समायोजित करने की आवश्यकता होगी कि आप उसी डायर में नहीं हैं जैसा कि आपने शुरू किया था ।
jimtut

जवाबों:


0

टिप्पणियों से उत्तर को वास्तविक उत्तर में ले जाना।

समाधान के एक जोड़े को लगता है कि वे काम करेंगे:

  1. /Applications/Mathematica.app/Contents/MacOS/ फ़ोल्डर में, एक सिंबल बनाएं ln -s WolframKernel mathऔर फिर अपने शेल में PATH सर्च करने के लिए उस /Applications/Mathematica.app/Contents/MacOS/ को जोड़ें।
  2. या, "गणित" नामक एक छोटी सी शेल स्क्रिप्ट लिखें, और इसे पहले से ही अपने PATH (जैसे / usr / लोकल / बिन, पर कहीं भी डाल दें, हालांकि मैं "स्क्रिप्ट" फ़ोल्डर को बायनेरिज़ से अलग करना पसंद करता हूं)। शेल स्क्रिप्ट बहुत सरल होनी चाहिए, मूल रूप से 2 कमांड के साथ: cd /Applications/Mathematica.app/Contents/MacOS/और फिर बस WolframKernel। आपको शेल स्क्रिप्ट में शेल से तर्क पारित करने की आवश्यकता हो सकती है, जो कठिन नहीं है, लेकिन सिंटैक्स स्क्रिप्ट में प्रयुक्त शेल पर निर्भर करेगा (शेल से नहीं जिसे इसे कहा जाता है)।

टिप्पणियों से, ऐसा लगता है कि # 1 को काम करना चाहिए, और यह सबसे सरल है। हालाँकि, इस बात से अवगत रहें कि Mathematica के अपडेट शायद उस सिम्लिंक को हटा देंगे, इसलिए # 2 अधिक स्थिर समाधान हो सकता है।

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