فارسی
باز کردن در Telegram

رشتهٔ گفتگو با سلام و عرض ادب و احترام خدمت تمامی اساتید و دوستان بزرگوارم.

9 پیام · –
ع
با سلام و عرض ادب و احترام خدمت تمامی اساتید و دوستان بزرگوارم. #question #سوال خلاصه سوال : چطور می‌شه داخل فایل Makeffile.am، کانفیگ مناسبی برای گرفتن module ها (چه کرنل چه pam) نوشت. توضیحات کامل با کد: اگر قرار بر نوشتن یک pam module باشه،‌ طریقا compile کردنش به راحتی انجام می‌شه : cc -fPIC -fno-stack-protector -c src/pam_test.c sudo ld -x --shared -o /lib/security/pam_test.so pam_test.o همین موضوع رو شاید بتونیم با Makefile ها، کمی تر تیمز تر حل کنیم : MODULE_CC_FLAG=-fPIC -fno-stack-protector MODULE_DIR=/lib/security MODULE_NAME=pam_test.so MODULE_FILENAME=$(MODULE_DIR)/$(MODULE_NAME) MODULE_OUT=pam_test.o modules: pam_test pam_test: $(CXX) $(MODULE_CC_FLAG) -c $(MODULE_SOURCE) install: ld -x --shared -o $(MODULE_FILENAME) $(MODULE_OUT) rm -rf $(MODULE_OUT) حالا کد غلطی که من در automake و فایل Makefile.am ام دارم (هیچ ایده ای برای غیر از این ندارم و دقیقا مشکلم همینه) به این صورت هست : Makefile.am: bin_PROGRAMS = pam_pass_test pam_pass_test_SOURCES = src/pam_pass_test.c AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS = -fPIC -fno-stack-protector -lpam -lpam_misc منطقا نباید خروجی درستی داشته باشه، اما دقیقا نمی‌دونم چطور باید مشخص کنم که چطور با ld ماژول رو بیلد بگیرم و اصلا به جای اون bin_PROGRAMS باید چی بزنم که بعد سر something_SOURCES به مشکل نخورم (تست کردم اگر از dot استفاده کنم به طبغ نمی‌تونم با dot اون نام رو تعریف کنم.). ضمن این موضوع، چطور می‌تونم OUTPUT dir تعریف کنم. شاید سوال، سوال درستی نباشه (چون قطعا جوابش داخل کتاب automake هست) اما الان وفت دندارم تمام کتابش رو بخونم. سرچ کردم، به جواب خاصی نرسیدم (می‌تونه دلیلش عجله هم باشه.). فعلا هم برای کار راه اندازی از این ساختار استفاده می‌کنم : SUBDIRS = src MODULE_NAME = pam_pass_test MODULE_SOURCES_ = src/*.c AM_CFLAGS = -fPIC -fno-stack-protector -lpam -lpam_misc install: mkdir -p bin $(CC) $(AM_CFLAGS) $(MODULE_SOURCES_) -c mv *.o bin sudo ld -x --shared -o /lib/security/pam_pass_test.so ./bin/*.o گرچه غلط هست. از دوستانی که می‌خونن و جواب می‌دن/یا نمی‌دن شدیدا متشکرم 🙏🙏🙏
  1. I
    نمی‌دونم مشکلت رو حل کردی یا نه، ولی به Cmake ایمان بیار :)))
    1. ع
      ماس مالیش کرده بودم بره 😂 پس فعلا بجای automake می‌شینم داک cmake رو می‌خونم. مرسی
      1. A
        گریه ی آدم رو در میاره😅😬
      2. I
        شما چرت‌تر از autotools بیلد‌سیستم پیدا نمی‌کنی :))) ولی ساختار autotools رو برای کارت باید بلد باشی چون خیلی از ابزارهای معروف که نسبتا یکم قدیمی هستن با autotools هندل می‌شن. اما cmake یک build system generator هست و می‌تونه بهت خروجی‌هایی که می‌خوای رو بده. (ولی سینتکس رو اعصابی داره) در کل خوبه یاد بگیریش.
        1. ع
          مرسی. حتما این کار رو می‌کنم. 🙏
        2. ع
          خیلی عالی بود. به همین سرعت مشکلم حل شد :)

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما