ترقية Subversion 1.4.3 إلى 1.5.2 على دبيان (حساب مستضاف)
-
06-07-2019 - |
سؤال
أحاول ترقية خادم التخريب الخاص بي (لقد استضافته مع Dreamhost)
هذا ما أقوم بتشغيله:
- wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
- wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
- القطران -xjf التخريب-1.5.2.tar.bz2
- القطران -xjf التخريب-deps-1.5.2.tar.bz2
- مؤتمر نزع السلاح التخريب-1.5.2
- ./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
لكنني غير قادر على الاستمرار أكثر بسبب هذا الخطأ:
- التحقق من اسم ملف الإخراج الافتراضي للمترجم C ...
- تهيئة:خطأ:لا يمكن للمترجم C إنشاء الملفات التنفيذية
- انظر `config.log' لمزيد من التفاصيل.
- فشل التكوين للنيون
نظرًا لأنني لست خبيرًا في Linux، فأنا لست متأكدًا من كيفية المتابعة.
لذا فإن السؤال هو:ما هي أفضل طريقة للترقية (نظرًا للقيود المفروضة على هذا المزود المستضاف).
تحديث:
محتويات ال يمكن رؤية ملف config.log هنا (لا أعرف أفضل طريقة لعرض الملفات هنا في SO)
تحديث:
يبدو أنني كنت أبحث في ملف config.log الخاطئ.
ربما كان ينبغي لي أن أنظر subversion.1.5.2/neon/config.log
المحلول
إذا كنت تستخدم openssl مع SVN، فأنت بحاجة إلى تكوين SVN باستخدام
./configure .... --with-openssl=/path/to/openssl
عندما قمت بذلك في الماضي، واجهت مشكلات في إنشاء ثنائيات أخرى تستخدم هذا lib إذا لم أحدد -fPIC
علَم.لذلك من الأفضل تشغيل make باستخدام تلك المعلمة (إذا كانت لديك هذه المشكلة).قد يتعين عليك أيضًا الإشارة إلى الإنشاء الثنائي الخاص بك أيضًا..لذلك ستبدو مكالمة إجراءك كما يلي:
make CC="gcc -fPIC" LDFLAGS="/path/to/openssl/lib"
لا تنس إنشاء opensl باستخدام CC="gcc -fPIC"
أيضاً!
حظ سعيد!
نصائح أخرى
ستحتاج إلى إنشاء نسختك الخاصة ضمن حسابك الخاص.
mkdir ~/src
cd ~/src
wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2
tar -xjf subversion-1.5.2.tar.bz2
tar -xjf subversion-deps-1.5.2.tar.bz2
cd subversion-1.5.2
./configure --prefix=/home/$USER --with-ssl
make
make install
ستحتاج أيضًا إلى تغيير المسار الخاص بك حتى يعمل هذا إذا لم تكن قد قمت بذلك بالفعل.
عند الاستخدام
./configure --prefix=/usr/bin --with-libs=/usr/bin/openssl --with-ssl
ثم يمكنك أن ترى في neon/config.log أنه يبحث في التضمينات الموجودة في /usr/bin/openssl/include ...في حين أن هذا بالطبع ثنائي فقط.لذا، قم بتخطي خيار "--with-libs" هذا، وتأكد فقط من تثبيت حزمة تطوير SSL باستخدام
apt-get install libssl-dev
قد يكون هذا إجراءً أمنيًا، إذا تم اختراق النظام، فسيكون من الصعب نظريًا على المستخدم الضار إنشاء المزيد من أكواد الهجوم على النظام للحصول على مزيد من الوصول.
الحل لهذا هو تجميع التعليمات البرمجية على جهاز محلي، ثم نقلها إلى الخادم.إذا لم تتمكن من التثبيت على النظام كما يقترح Aupajo، فضع الملف القابل للتنفيذ في دليل $HOME/bin الخاص بك.ضع في اعتبارك أن هذا ربما يعني أنه لن يكون لديك إذن بتشغيل خادم svn، بل فقط تطبيق العميل.
لقد تعثرت مع هذا الخطأ أيضًا:
configure: error: C compiler cannot create executables
تبين أنه في حالتي كان لدي تثبيت نظيف لـ Debian Etch، بدون مترجم C.لقد قمت بتثبيته (بشكل خاطئ، على ما أعتقد) عبر apt-get install gcc
.قادتني بعض عمليات البحث على Google إلى تثبيت g++ بدلاً من ذلك عبر
apt-get install g++
بعد ذلك عملت.لست متأكدًا مما إذا كان هذا يساعدك، لكنه ساعدني.