R حزم بناء باستخدام المناوب دول مجلس التعاون الخليجي

StackOverflow https://stackoverflow.com/questions/1616983

  •  06-07-2019
  •  | 
  •  

سؤال

ونظم أعمل مع دول مجلس التعاون الخليجي لديها 4.5 (تجريبي) في / البيرة / المحلية / بن / دول مجلس التعاون الخليجي والتي أثبتت أنها مشكلة لبعض الحزم R. وأود أن بدلا من استخدام دول مجلس التعاون الخليجي النظام في / البيرة / بن / دول مجلس التعاون الخليجي.

ولقد حاولت وضع CC وCXX في ملفات التكوين باش (.bashrc، .bash_profile الخ) وكذلك على سطر الأوامر، ولكن على الرغم من باش يعترف التغيير، R لا.

وكيف يمكنني الحصول على R لاستخدام النسخة من دول مجلس التعاون الخليجي في / البيرة / بن بدلا من واحد في / البيرة / المحلية / بن /؟

هل كانت مفيدة؟

المحلول

لا توثيق هذا بشكل جيد (على سبيل المثال أنا فشلت في العثور عليه في أي 'R ملحق "أو" R المسؤول' الآن) ولكن براين ريبلي ذكر ذلك عدة مرات على القوائم.

وأساسا، في R وقت الترجمة، يتم تسجيل الإعدادات وتخزينها في $R_HOME/etc/Makeconf. احتمال واحد هو تحرير هذا الملف مباشرة، ولكن قد لا يكون لديك امتيازات الجذر أو لا تريد أن تؤثر على كافة المستخدمين الآخرين. لذا فإن أفضل قد يكون لخلق

~/.R/Makevars

ومع إدخالات

CC=gcc-4.4
CXX=g++-4.4

وبالإضافة إلى أيهما optmisation الأعلام وما كنت تريد تعيين. وأن تؤثر على جميع استخدامات لاحقة من R CMD INSTALL أو R CMD check أو ... التي تقوم بتشغيل.

وملفات أخرى في $R_HOME/etc/ يمكن بالمثل أن يتم تجاوز محليا من ~/.R/.

نصائح أخرى

وكان لي مشكلة مشابهة جدا.

وماذا عملت بالنسبة لي هو لتحديد دليل المشروع (rstudio يمكن أن نفعل ذلك لك)، ثم قم بإضافة ملف .Renviron بتعديل PATH وLD_LIBRARY_PATH، ليشمل الدليل مع دول مجلس التعاون الخليجي الجديد. في الحالة الخاصة بك، على سبيل المثال، فإن .Renviron تبدو شيئا مثل:

وLD_LIBRARY_PATH=/usr/local/bin/gcc/lib:/usr/local/bin/gcc/lib64:/usr/local/bin/gcc/libexec: <م> مسارات أخرى

وPATH=/usr/local/bin/gcc/bin:/usr/local/bin: <م> مسارات أخرى

وتحقق من المسار الخاص بك لمعرفة ما إذا / البيرة / المحلية / بن يأتي قبل / البيرة / بن. إذا كان كذلك، فقط للتأكد من / البيرة / بن يأتي أولا:

PATH=/usr/bin:${PATH}

و(لا بأس إذا تم تكرار / البيرة / بن يظهر مرتين).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top