بناء التخريب 1.5.4 على دبيان:تعذر العثور على مكتبة تحتوي على RSA_new

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

سؤال

كنت أحاول بناء التخريب (على حساب محدود) لفترة طويلة ولكن دون أي حظ :(

التعليمات التي أتبعها: http://wiki.dreamhost.com/Subversion_Installation

تشغيل هذا:

./configure --prefix=${RUN} --without-berkeley-db --with-ssl --with-zlib --enable-shared

يعطيني هذا الخطأ:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon

يمكن للشخص أن يفسر لي:

  1. الأسباب المحتملة لذلك
  2. الطرق الممكنة للتحايل عليه
  3. خياري:ما هي هذه الوحدات وما هو الغرض منها (Neon/RSA_new)

شكرًا!

محتويات ملف السجل:

محاولة العثور على أجزاء مثيرة للاهتمام من ملف neon config.log:

configure:27693: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/ccazXdJz.o: In function `main':
/home/stpinst/soft/subversion-1.5.4/neon/conftest.c:93: undefined reference to `RSA_new'
collect2: ld returned 1 exit status
configure:27699: $? = 1
configure: failed program was:
...
| int
| main ()
| {
| RSA_new();
|   ;
|   return 0;
| }
configure:27742: gcc -o conftest -g -O2   conftest.c  -lcrypto  -lz >&5
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
configure:27748: $? = 1

--

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

المحلول

تحقق من ردي على هنا.

نصائح أخرى

  1. ليس لديك libcrypto.a و libcrypto.so على نظامك
  2. تحتاج إلى تثبيت libcrypto ، الموجود في حزمة libssl-dev (aptitude install libssl-dev)
  3. Neon هي مكتبة WebDAV المضمنة في Subversion؛WebDav كونه أحد بروتوكولات السلك التي يدعمها التخريب (HTTP :).RSA هي خوارزمية تشفير.لا يحتاج النيون في الواقع إلى ذلك بنفسه - كل ما في الأمر هو أن التكوين يستخدمه لتحديد ما إذا كان libcrypto متاحًا أم لا.

أخيرا جعلتها تعمل.كيف:قم بتنزيل openssl-0.x.x.tar.gz، وقم بفك ضغط القرص المضغوط فيه

تثبيته في مكان ما، مثل (بالنسبة لي)

$ ./config shared --prefix=$HOME/installs && make clean && make && make install

$  export CFLAGS= "-O2 -g -I/root/installs/include"
$  export CFLAGS="-O2 -g -I/root/installs/include"
$  export LDFLAGS="-L/root/installs/lib"
$  export CPP="gcc -E -I/root/installs/include"

فك التخريب + انخفاضاته

انتقل إلى الدليل الفرعي النيون

$ ./configure --with-ssl=openssl --prefix=$HOME/installs && make clean && make && make install

حذف دليل النيون

انتقل إلى دليل التخريب

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install

ملحوظة:قد تتمكن من الابتعاد دون كل عمليات التصدير باستخدام --with-ssl=/root/installs أو شيء من هذا القبيل.

تحتاج إما إلى تثبيت OpenSSL أولاً، أو تكوين --with-ssl (أو حذف خيار --with-ssl فقط إذا كنت تتبع التعليمات حرفيًا).

إذا تخطيت SSL:

./configure --prefix=${RUN} --without-ssl

أحصل على هذا الخطأ:

checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf

إذا فعلت:

 ./configure --prefix=${RUN} --with-openssl

أحصل على تحذير:

configure: WARNING: Unrecognized options: --with-openssl
...
configure: error: '--with-openssl requires a path to a directory'
configure failed for serf

:-س

هل تحققت تجميع التخريب مع دعم SSL, حيث كانت هناك حاجة إلى المتغيرات التالية لإكمال العملية؟

setenv CC "gcc -I/usr/local/ssl/include -L/usr/local/ssl/lib"
setenv CFLAGS "-O2 -g -I/usr/local/ssl/include"
setenv LDFLAGS "-L/usr/local/ssl/lib"
setenv CPP "gcc -E -I/usr/local/ssl/include"

والبريد تعذر العثور على مكتبة تحتوي على RSA_new, نوصي بالتأكد من تثبيت الرؤوس أيضًا على النظام (Debian-Ubuntu-Dapper-Beta2:"apt-get install libssl-dev")، أو باسم يقول مارتن:الكفاءة تثبيت libssl-dev.

باختصار، إما أن الرؤوس غير موجودة، أو أنها ليست في المسار الصحيح أثناء عملية التكوين.

ملحوظة:أنا أستخدم أ مضيف مشترك لذلك أنا غير قادر على القيام ببعض الأشياء.

الاتصال

apt-get install libssl-dev

يعطيني هذا الخطأ:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

استدعاء الكفاءة تثبيت libssl-dev

يعطيني هذا الخطأ:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root

كما ترون ربما، أنا ضائع تمامًا لذا فإن أي مساندة أخرى ستكون موضع تقدير كبير!:)

أعتقد أنني حصلت أخيرًا على جزء "التكوين" للعمل.

أولاً، قمت باسترجاع opensl محليًا:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar zxvf openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./configure --prefix=${RUN}
make
make install

ثم قمت ببناء Subversion مع الإشارة إلى هذا المجلد:

./configure --prefix=${RUN} --without-berkeley-db --with-openssl=$HOME/soft/openssl-0.9.8a

في الواقع تلقيت هذا التحذير:

configure: WARNING: Unrecognized options: --with-openssl

الآن بعد أن قمت بتغطية كل شيء، يتم تجميعه لبضع دقائق ولكن بعد ذلك يعطيني هذا الخطأ:

link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1

ويبدو أن هذه هي القصة التي لا تنتهي..هل يمكنني في مكان ما تنزيل أحدث الثنائيات؟

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