خطای make failed with exit code 512 چیست؟
خطای "make -j2" failed with exit code "512" هنگام کامپایل (Build) Apache از طریق ابزارهای مدیریت سرور مانند CustomBuild در دایرکت ادمین یا EasyApache در cPanel رخ میدهد. کد خروجی 512 معمولاً نشاندهنده خطای حافظه یا وابستگیهای ناقص است.
دلایل اصلی
۱. کمبود حافظه (RAM)
شایعترین دلیل، کمبود RAM هنگام کامپایل است. فرآیند make چندین پروسس موازی اجرا میکند (-j2 یعنی ۲ پروسس همزمان) و هر کدام حافظه قابل توجهی مصرف میکنند. اگر سرور RAM کافی نداشته باشد، فرآیند کامپایل با خطا متوقف میشود.
۲. کمبود فضای Swap
اگر فضای Swap کافی نباشد و RAM پر شود، OOM Killer سیستم فرآیند make را kill میکند.
۳. نبود وابستگیهای توسعه (Development Libraries)
برای کامپایل Apache به بستههای توسعه مانند gcc، make، openssl-devel و pcre-devel نیاز است.
۴. فضای دیسک ناکافی
فرآیند کامپایل فایلهای موقت زیادی ایجاد میکند و به فضای آزاد نیاز دارد.
روشهای رفع
روش ۱: افزایش Swap
یک فایل Swap اضافه کنید:
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
برای دائمی کردن، خط زیر را به /etc/fstab اضافه کنید:
/swapfile swap swap defaults 0 0
روش ۲: کاهش پروسسهای موازی
به جای make -j2، از make -j1 استفاده کنید تا فقط یک پروسس اجرا شود و مصرف حافظه کمتر شود. در CustomBuild دایرکت ادمین:
cd /usr/local/directadmin/custombuild
./build set gcc_max_procs 1
./build apache
روش ۳: نصب وابستگیها
بستههای توسعه مورد نیاز را نصب کنید:
yum groupinstall "Development Tools"
yum install openssl-devel pcre-devel expat-devel
یا در Ubuntu/Debian:
apt-get install build-essential libssl-dev libpcre3-dev
روش ۴: بررسی فضای دیسک
df -h
اگر فضا کم است، لاگها و فایلهای موقت قدیمی را پاک کنید.
روش ۵: بررسی لاگ کامپایل
لاگ دقیق خطا را بررسی کنید:
# دایرکت ادمین
cat /usr/local/directadmin/custombuild/apache/httpd-*/build.log
# یا لاگ CustomBuild
cat /usr/local/directadmin/custombuild/build_log.txt
آخرین خطوط لاگ، دلیل دقیق شکست کامپایل را نشان میدهند.
پیشگیری
برای سرورهایی که مرتباً نیاز به کامپایل نرمافزار دارند، حداقل ۲ گیگابایت RAM و ۲ گیگابایت Swap توصیه میشود. قبل از هر build، فضای دیسک و RAM موجود را بررسی کنید.
اگر سرور شما RAM کافی ندارد، ارتقا به یک سرور مجازی با منابع بیشتر توصیه میشود. همچنین خدمات کانفیگ سرور میهن هاستینگ شامل کامپایل و نصب Apache، PHP و سایر نرمافزارهای سرور نیز میشود.
اگر نیازی به مدیریت سرور ندارید، هاست وردپرس میهن هاستینگ با LiteSpeed از پیش نصبشده بهترین گزینه است.
🖥️ سرور مجازی پرقدرت
سرور مجازی با RAM و CPU کافی برای کامپایل و مدیریت حرفهای سرور.