أواجه مشكلة أيضًا في بناء أحدث إصدار مستقر، والذي كان يتم بناؤه بشكل جيد حتى قبل أسبوع إلى أسبوعين. أعتقد أن الأمر قد يتعلق ببعض تغييرات Ruby ذات الصلة (حتى لو تم التراجع عن تلك الموجودة في discourse_docker)، حيث أن المشكلة تتعلق بـ gem كان يعمل سابقًا ولكنه يفشل الآن في البناء.
يتم سحب الـ gem (stringio) (على الأقل؟) بواسطة إضافة discourse-events، ولكن الإضافة تستخدم هذا الـ gem ونفس الإصدار منذ عامين على الأقل (ربما أكثر). لقد حاولت البناء بإصدار أقدم (كان يعمل سابقًا) من الإضافة ولا يزال يفشل. لذلك أعتقد أن شيئًا آخر قد تغير في Discourse، ربما استعدادًا لـ Ruby 3.3.1، والذي وصل أيضًا إلى الفرع المستقر؟
ربما الأهم من ذلك، أن هذا يحدث فقط على جهاز ARM (الذي كنت أبني عليه Discourse بشكل جيد خلال الشهرين الماضيين). محاولة بناء نفس الإعداد بالضبط على x86 تعمل بشكل جيد. لذلك يبدو أنه يعتمد على ARM64، وبينما يتم سحب الـ gem بواسطة discourse-events، فإنه نفس الـ gem (والإصدار) الذي كان يعمل سابقًا. يجب أن يكون شيء ما في Discourse نفسه قد تغير أيضًا، أعتقد. ربما لدى @Falco بعض الأفكار حول ما قد يحدث من منظور ARM64؟
سجل البناء
[... ]
التحقق من إصدار docker_manager المتوافق: 9523f7a88453ce1863071bcc2bc88130b60efee5
HEAD الآن عند 9523f7a تحديث الترجمات (#205)
I, [2024-05-28T09:52:18.538215 #1] INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
خطأ: خطأ في تثبيت stringio:
خطأ: فشل في بناء امتداد gem الأصلي.
الدليل الحالي: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
/usr/local/bin/ruby extconf.rb
التحقق من rb_io_extract_modeenc() في ruby/io.h... نعم
إنشاء Makefile
الدليل الحالي: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
make DESTDIR= sitearchdir=./.gem.20240528-1205-7qlio5 sitelibdir=./.gem.20240528-1205-7qlio5 clean
الدليل الحالي: /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2/ext/stringio
make DESTDIR= sitearchdir=./.gem.20240528-1205-7qlio5 sitelibdir=./.gem.20240528-1205-7qlio5
تجميع stringio.c
stringio.c: في الدالة ‘strio_init’:
stringio.c:343:24: خطأ: حجم التخزين لـ ‘convconfig’ غير معروف
343 | struct rb_io_enc_t convconfig;
| ^~~~~~~~~~
stringio.c:343:24: تحذير: المتغير ‘convconfig’ غير مستخدم [-Wunused-variable]
stringio.c: في المستوى الأعلى:
cc1: ملاحظة: قد يكون الخيار غير المعروف لسطر الأوامر ‘-Wno-self-assign’ مقصودًا لإسكات التشخيصات السابقة
cc1: ملاحظة: قد يكون الخيار غير المعروف لسطر الأوامر ‘-Wno-parentheses-equality’ مقصودًا لإسكات التشخيصات السابقة
cc1: ملاحظة: قد يكون الخيار غير المعروف لسطر الأوامر ‘-Wno-constant-logical-operand’ مقصودًا لإسكات التشخيصات السابقة
make: *** [Makefile:248: stringio.o] خطأ 1
فشل make، رمز الخروج 2
ستبقى ملفات Gem مثبتة في /var/www/discourse/plugins/discourse-events/gems/3.3.1/gems/stringio-3.0.2 للفحص.
تم تسجيل النتائج في /var/www/discourse/plugins/discourse-events/gems/3.3.1/extensions/aarch64-linux/3.3.0/stringio-3.0.2/gem_make.out
I, [2024-05-28T09:52:39.324741 #1] INFO -- : gem install uuidtools -v 2.2.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
تم تثبيت uuidtools-2.2.0 بنجاح
تم تثبيت 1 gem
gem install iso-639 -v 0.3.5 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
تم تثبيت iso-639-0.3.5 بنجاح
تم تثبيت 1 gem
gem install ice_cube -v 0.16.4 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
تم تثبيت ice_cube-0.16.4 بنجاح
تم تثبيت 1 gem
gem install icalendar -v 2.8.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
ActiveSupport مطلوب لدعم TimeWithZone، ولكنه غير مطلوب للاستخدام العام.
تم تثبيت icalendar-2.8.0 بنجاح
تم تثبيت 1 gem
gem install icalendar-recurrence -v 1.1.3 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
تم تثبيت icalendar-recurrence-1.1.3 بنجاح
تم تثبيت 1 gem
gem install date -v 3.3.4 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
بناء امتدادات أصلية. قد يستغرق هذا بعض الوقت...
تم تثبيت date-3.3.4 بنجاح
تم تثبيت 1 gem
gem install time -v 0.2.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
تم تثبيت time-0.2.0 بنجاح
تم تثبيت 1 gem
gem install stringio -v 3.0.2 -i /var/www/discourse/plugins/discourse-events/gems/3.3.1 --no-document --ignore-dependencies --no-user-install
بناء امتدادات أصلية. قد يستغرق هذا بعض الوقت...
أنت تحدد الـ gem stringio في /var/www/discourse/plugins/discourse-events/plugin.rb، ولكنه غير موجود!
تم البحث عن:
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2.gemspec
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2-aarch64-linux.gemspec
- /var/www/discourse/plugins/discourse-events/gems/3.3.1/specifications/stringio-3.0.2-aarch64-linux.gemspec
فشل
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' فشل مع العودة #<Process::Status: pid 1109 exit 255>
موقع الفشل: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
فشل التنفيذ مع المعلمات {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
فشل التمهيد برمز خروج 255
أعتذر إذا لم يكن هذا متعلقًا بتغييرات Ruby الأخيرة على الإطلاق - يسعدني فتح موضوع جديد إذا كان الأمر كذلك.