رفع مشکل Curl هنگام کامپایل (2)

رفع مشکل Curl هنگام کامپایل (2)

رفع مشکل Curl هنگام کامپایل (2)

در قسمت اول که درباره خطایی که هنگام کامپایل Curl ممکن است رخ دهد نوشتیم. در این قسمت به ادامه رفع مشکل Curl هنگام کامپایل (2) میپردازیم.

دقت داشته باشید که خطای زیر را هنگام کامپایل در سیستم های 64 بیتی شاید مشاهده کنید :

Curl Compile Error: relocation R_X86_64_32 against `a local symbol’ can not be used when making a shared object; recompile with -fPIC

که به صورت زیر خطا نشان داده میشود :

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

این به این معنی میباشد که تنظیمات نیازمند تغییر است. گاهی برای خطاهای -fPIC مثل خطای بالا بهترین راه دوباره کامپایل کردن سورس کتابخانه منبع میباشد و سپس دوباره کامپایل کردن curl به همان شکل ممکن است. با این حال در این مورد علت  libssl.a میباشد که بخشی از توزیع سیستم عامل است. پس بنابراین بهتر است از آن اجتناب کرد.

به هر حال راه حل این مشکل به این شکل است که باید اسکریپت bulid را تغییر داد. در بخش مربوط به  Curl خط زیر را پیدا کرده :

./configure  --disable-file

و آن را به شکل زیر تغییر دهید:

./configure  --disable-file  --without-pic  --disable-shared

فایل را ذخیره کنید  و دوباره دستور زیر را تایپ کنید :

./build curl

و این بار حتما باید برای شما کامپایل شود.


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *