هذا هو الأمر perlhpux الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
perlhpux - إصدار Perl 5 على أنظمة Hewlett-Packard Unix (HP-UX)
الوصف
يصف هذا المستند الميزات المختلفة لنظام التشغيل Unix من HP (HP-UX) التي ستساعدك
تؤثر على كيفية تجميع و / أو تشغيل الإصدار 5 من Perl (يشار إليه فيما بعد بـ Perl فقط).
باستخدام بيرل as تم شحنه مع HP-UX
تم إصدار التطبيق في سبتمبر 2001 ، HP-UX 11.00 هو أول من تم شحنه مع Perl. بواسطة
الوقت كان perl-5.6.1 في / opt / perl. التواجد الأول موجود على القرص المضغوط 5012-7954 ويمكن أن يكون
مثبتة باستخدام
swinstall -s / cdrom perl
بافتراض أنك قمت بتثبيت هذا القرص المضغوط على / cdrom.
كان هذا الإصدار عبارة عن بنية متعددة الخيوط hppa-1.1 محمولة تدعم الملفات الكبيرة المترجمة
مع دول مجلس التعاون الخليجي 2.9-hppa-991112.
إذا قمت بإجراء تثبيت جديد ، فسيتم تثبيت Perl (أحدث) تلقائيًا.
تحتوي أنظمة HP-UX المثبتة مسبقًا الآن على إصدارات أحدث من Perl والوحدات النمطية المحدثة.
المسؤول (الخيوط) يبني من HP ، حيث يتم شحنها على أقراص DVD / CD الخاصة بالتطبيق
متاحة على
<http://www.software.hp.com/portal/swdepot/displayProductInfo.do؟ productNumber = PERL> لـ
كل من PA-RISC و IPF (عائلة معالج Itanium). تم بناؤها باستخدام HP ANSI-C
مترجم. حتى 5.8.8 تم ذلك بواسطة ActiveState.
لمعرفة الإصدار المتضمن على قرص DVD (من المفترض هنا أنه يتم تحميله على / cdrom) ، قم بإصدار المشكلة
هذا الأمر:
# swlist -s / cdrom perl
# perl D.5.8.8.B 5.8.8 لغة برمجة بيرل
perl.Perl5-32 D.5.8.8.B 32 بت 5.8.8 لغة برمجة بيرل مع ملحقات
perl.Perl5-64 D.5.8.8.B 64 بت 5.8.8 لغة برمجة بيرل مع ملحقات
لمعرفة ما تم تثبيته على نظامك:
# swlist -R بيرل
# perl E.5.8.8.J لغة برمجة بيرل
# perl.Perl5-32 E.5.8.8.J لغة برمجة بيرل 32 بت ذات الامتدادات
perl.Perl5-32.PERL-MAN E.5.8.8.J صفحات Perl Man 32 بت لـ IA
perl.Perl5-32.PERL-RUN E.5.8.8.J ثنائيات Perl 32 بت لـ IA
# perl.Perl5-64 E.5.8.8.J لغة برمجة بيرل 64 بت ذات الامتدادات
perl.Perl5-64.PERL-MAN E.5.8.8.J صفحات Perl Man 64 بت لـ IA
perl.Perl5-64.PERL-RUN E.5.8.8.J ثنائيات Perl 64 بت لـ IA
باستخدام بيرل تبدأ من إتش بي ترقية مركز
يحاول مركز HP Porting Center مواكبة طلب العملاء وإصدار تحديثات من Open
مجتمع المصدر. من الواضح أن توفر ثنائيات Perl المترجمة مسبقًا متوفرة ، على الرغم من أن "up to-
date "شيء نسبي. في لحظة كتابة هذا التقرير ، كان perl-5.10.1 فقط متاحًا (مع
5.16.3 هو أحدث إصدار مستقر من وجهة نظر الحمالين).
تقتصر مراكز النقل لـ HP على الأنظمة التي يُسمح لها بالانتقال إليها وهم
عادةً ما تختار أحدث إصدارين متاحين لنظام التشغيل.
طلبت HP من مركز النقل نقل الملفات الثنائية مفتوحة المصدر من / الأراضي الفلسطينية المحتلة إلى / البيرة / المحلية، وبالتالي
توجد الثنائيات التي تم إنتاجها منذ بداية يوليو 2002 في / usr / local.
أحد عناوين URL لمراكز النقل من HP هوhttp://hpux.connect.org.uk/> المنفذ حاليا
المتاحة بنيت مع جنو دول مجلس التعاون الخليجي.
أخرى قبل البناء بيرل ثنائيات
للحصول على أحدث مستودعات بيرل لمجموعة كاملة من HP-UX ، قم بزيارة H.Merijn Brand's
موقع فيhttp://mirrors.develooper.com/hpux/#Perl>. اقرأ الملاحظات بعناية لمعرفة ما إذا كان
الإصدارات المتوفرة تناسب احتياجاتك.
تجميع بيرل 5 on HP-UX
عند تجميع لغة Perl ، يجب عليك استخدام مترجم ANSI C. مترجم C الذي يأتي مع الكل
أنظمة HP-UX عبارة عن مترجم K&R يجب استخدامه فقط لبناء نواة جديدة.
يمكن تجميع لغة Perl مع مترجم ANSI C من HP أو مع دول مجلس التعاون الخليجي. السابق هو
موصى به ، لأنه لا يمكنه ترجمة لغة Perl دون صعوبة فحسب ، بل يمكنه أيضًا أن يأخذها
الاستفادة من الميزات المدرجة لاحقًا التي تتطلب استخدام أمر خاص بالمترجم من HP-
أعلام الخط.
إذا قررت استخدام gcc ، فتأكد من أن التثبيت حديث وكامل ، وتأكد من ذلك
لقراءة ملف Perl INSTALL لمزيد من التفاصيل الخاصة بدول مجلس التعاون الخليجي.
با-ريسك
تعمل أنظمة HP9000 Unix من HP على شريحة الدقة المعمارية (PA-RISC) من HP. HP-UX
تستخدم للعمل على عائلة شرائح Motorola MC68000 ، ولكن أي آلة بها هذه الشريحة
قديم تمامًا ولن يحاول هذا المستند معالجة المشكلات المتعلقة بتجميع لغة Perl
على شرائح Motorola.
إصدار PA-RISC في وقت التحديث الأخير لهذا المستند هو 2.0 ، وهو أيضًا
سيكون الأخير هناك. يُشار عادةً إلى أنظمة HP PA-RISC مع وصف الطراز
"HP 9000". آخر وحدة معالجة مركزية في هذه السلسلة هي PA-8900. تم تصميم دعم PA-RISC
تنتهي الآلات رسميًا كما هو موضح في الجدول التالي:
خارطة طريق نهاية الحياة PA-RISC
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | سوبردوم | PA-8700 | ربيع 2011 |
| 4-128 | | PA-8800 / sx1000 | صيف 2012 |
| النوى | | PA-8900 / sx1000 | 2014 |
| | | PA-8900 / sx2000 | 2015 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp7410 ، rp8400 | PA-8700 | ربيع 2011 |
| 2-32 | rp7420 ، rp8420 | PA-8800 / sx1000 | 2012 |
| النوى | rp7440 ، rp8440 | PA-8900 / sx1000 | خريف 2013 |
| | | PA-8900 / sx2000 | 2015 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp44x0 | PA-8700 | ربيع 2011 |
| 1-8 | | PA-8800 / rp44x0 | 2012 |
| النوى | | PA-8900 / rp44x0 | 2014 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp34x0 | PA-8700 | ربيع 2011 |
| 1-4 | | PA-8800 / rp34x0 | 2012 |
| النوى | | PA-8900 / rp34x0 | 2014 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
من عندhttp://www.hp.com/products1/evolution/9000/faqs.html>
كان تاريخ الطلب الأخير لأنظمة HP 9000 في 31 ديسمبر 2008.
توجد قائمة كاملة بالنماذج في وقت إنشاء نظام التشغيل في الملف
/usr/sam/lib/mo/sched.models. يتوافق العمود الأول مع الجزء الأخير من الإخراج
من أمر "النموذج". العمود الثاني هو إصدار PA-RISC والعمود الثالث هو
نوع الرقاقة المستخدمة بالضبط. (ابدأ التصفح في الأسفل لمنع الارتباك ؛-)
# نموذج
9000/800 / L1000-44
# grep L1000-44 /usr/sam/lib/mo/sched.models
L1000-44 2.0 PA8500
قابلية النقل ما بين با-ريسك إصدارات
لن يتم تنفيذ ملف تنفيذي تم تجميعه على منصة PA-RISC 2.0 على PA-RISC 1.1
النظام الأساسي ، حتى لو كانوا يشغلون نفس الإصدار من HP-UX. إذا كنت تبني Perl على
منصة PA-RISC 2.0 وتريد أن تعمل Perl أيضًا على PA-RISC 1.1 ، علامات المترجم
يجب استخدام + DAportable و + DS32.
لم يعد من الممكن تجميع ملفات PA-RISC 1.0 التنفيذية إما على PA-RISC 1.1 أو
2.0 منصات. يتم قبول إشارات سطر الأوامر ، ولكن لن يتم قبول الملف التنفيذي الناتج
تشغيل عند النقل إلى نظام PA-RISC 1.0.
با-ريسك 1.0
لم يعد الإصدار الأصلي من PA-RISC ، HP يبيع أي نظام بهذه الشريحة.
احتوت الأنظمة التالية على شرائح PA-RISC 1.0:
شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس،
852، 855، 860، 865، 870، 890
با-ريسك 1.1
ترقية لتصميم PA-RISC ، تم شحنها لسنوات عديدة في العديد من الأنظمة المختلفة.
تحتوي الأنظمة التالية على شرائح PA-RISC 1.1:
شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس،
شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس،
شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس،
851 ، 856 ، 857 ، 859 ، 867 ، 869 ، 877 ، 887 ، 891 ، 892 ، 897 ، A180 ، A180C ،
B115 ، B120 ، B132L ، B132L + ، B160L ، B180L ، C100 ، C110 ، C115 ، C120 ،
C160L ، D200 ، D210 ، D220 ، D230 ، D250 ، D260 ، D310 ، D320 ، D330 ، D350 ،
D360 ، D410 ، DX0 ، DX5 ، DXO ، E25 ، E35 ، E45 ، E55 ، F10 ، F20 ، F30 ، G30 ،
G40 ، G50 ، G60 ، G70 ، H20 ، H30 ، H40 ، H50 ، H60 ، H70 ، I30 ، I40 ، I50 ، I60 ،
I70 ، J200 ، J210 ، J210XC ، K100 ، K200 ، K210 ، K220 ، K230 ، K400 ، K410 ،
K420 ، S700i ، S715 ، S744 ، S760 ، T500 ، T520
با-ريسك 2.0
أحدث تحديث لتصميم PA-RISC ، أضاف دعمًا لبيانات عدد صحيح 64 بت.
اعتبارًا من تاريخ التحديث الأخير لهذا المستند ، تحتوي الأنظمة التالية على PA-RISC 2.0
رقائق:
شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس، شنومكس،
893 ، 895 ، 896 ، 898 ، 899 ، A400 ، A500 ، B1000 ، B2000 ، C130 ، C140 ، C160 ،
C180 ، C180 + ، C180-XP ، C200 + ، C400 + ، C3000 ، C360 ، C3600 ، CB260 ، D270 ،
D280 ، D370 ، D380 ، D390 ، D650 ، J220 ، J2240 ، J280 ، J282 ، J400 ، J410 ،
J5000 ، J5500XM ، J5600 ، J7000 ، J7600 ، K250 ، K260 ، K260-EG ، K270 ، K360 ،
K370 ، K380 ، K450 ، K460 ، K460-EG ، K460-XP ، K470 ، K570 ، K580 ، L1000 ،
L2000 ، L3000 ، N4000 ، R380 ، R390 ، SD16000 ، SD32000 ، SD64000 ، T540 ،
T600 ، V2000 ، V2200 ، V2250 ، V2500 ، V2600
قبل أن تتولى HP شركة Compaq مباشرة ، تمت إعادة تسمية بعض الأنظمة. الرابط الذي يحتوي على
التفسير ميت ، لذا إليك ملخص قصير:
خوادم HP 9000 A-Class ، أعيدت تسميتها الآن بسلسلة HP Server rp2400.
خوادم HP 9000 L-Class ، أعيدت تسميتها الآن بسلسلة HP Server rp5400.
خوادم HP 9000 N-Class ، تمت إعادة تسميتها الآن بـ HP Server rp7400.
rp2400 ، rp2405 ، rp2430 ، rp2450 ، rp2470 ، rp3410 ، rp3440 ، rp4410 ،
rp4440 ، rp5400 ، rp5405 ، rp5430 ، rp5450 ، rp5470 ، rp7400 ، rp7405 ،
rp7410 ، rp7420 ، rp7440 ، rp8400 ، rp8420 ، rp8440 ، Superdome
اصطلاح التسمية الحالي هو:
ادد
|||| `+ - 00-99 السعة النسبية والحداثة (ترقيات ، إلخ)
||| `--- رقم فريد لكل معمارية لضمان اختلافها
||| أنظمة ليس لها نفس الترقيم عبر
||| معماريات
|| `---- 1- 9 يحدد موقع الأسرة و / أو النسبي
||
| `----- ج = ia32 (سيسك)
| ع = pa-risc
| س = ia-64 (إيتانيوم وإيتانيوم 2)
| ح = السكن
"------ ر = برج
r = الرف الأمثل
s = قابلية فائقة للتطوير
ب = شفرة
سا = جهاز
إيتانيوم المعالج أسرة (IPF) و HP-UX
يعمل HP-UX أيضًا على معالج Itanium الجديد. هذا يتطلب استخدام مختلف
إصدار HP-UX (حاليًا 11.23 أو 11i v2) ، باستثناء بعض الاختلافات
بالتفصيل أدناه وفي الأقسام اللاحقة ، يجب أن تجمع Perl دون مشاكل.
على الرغم من إمكانية تشغيل ثنائيات PA-RISC على أنظمة Itanium ، يجب ألا تحاول استخدام PA-
نسخة RISC من Perl على نظام Itanium. هذا لأن المكتبات المشتركة التي تم إنشاؤها على ملف
لا يمكن تحميل نظام إيتانيوم أثناء تشغيل ملف تنفيذي PA-RISC.
يُشار عادةً إلى أنظمة HP Itanium 2 بوصف الطراز "HP Integrity".
إيتانيوم ، إيتانيوم 2 & ماديسون 6
تشحن HP أيضًا خوادم مزودة بمعالج (معالجات) Itanium 128 بت. يُطلب من cx26x0 أن يكون
ماديسون 6. اعتبارًا من تاريخ التحديث الأخير لهذا المستند ، تحتوي الأنظمة التالية على
رقائق إيتانيوم أو إيتانيوم 2 (من المحتمل أن تكون قديمة):
BL60p ، BL860c ، BL870c ، BL890c ، cx2600 ، cx2620 ، rx1600 ، rx1620 ، rx2600 ،
rx2600hptc ، rx2620 ، rx2660 ، rx2800 ، rx3600 ، rx4610 ، rx4640 ، rx5670 ،
rx6600 ، rx7420 ، rx7620 ، rx7640 ، rx8420 ، rx8620 ، rx8640 ، rx9610 ،
sx1000 ، sx2000
لمعرفة كل شيء عن جهازك ، اكتب
# نموذج
خادم ia64 hp rx2600
# / usr / Contrib / bin / machinfo
HP-UX الإصدارات
لا تدعم كل البنيات (PA = PA-RISC ، IPF = عائلة معالج Itanium) كل الإصدارات
HP-UX ، فيما يلي قائمة مختصرة
إصدار HP-UX دعم Kernel Architecture في نهاية المصنع
------------- ------ ------------ ------------------- ---------------
10.20 32 بت PA 30 يونيو 2003
11.00 32/64 PA 31 ديسمبر 2006
11.11 11i الإصدار 1 32/64 PA 31 ديسمبر 2015
11.22 11i v2 64 IPF 30 أبريل 2004
11.23 11i v2 64 PA & IPF 31-Dec-2015
11.31 11i v3 64 PA و IPF 31-Dec-2020 (PA) 31-Dec-2022 (IPF)
راجع القائمة الكاملة لدعم الأجهزة / نظام التشغيل ونهاية العمر المتوقع
<http://www.hp.com/go/hpuxservermatrix>
ابني التفاعل ملحقات on HP-UX
يدعم HP-UX المكتبات القابلة للتحميل ديناميكيًا (المكتبات المشتركة). نهاية المكتبات المشتركة
مع اللاحقة .sl. في أنظمة Itanium ، ينتهي الأمر بالملحق.
المكتبات المشتركة التي تم إنشاؤها على نظام أساسي باستخدام إصدار PA-RISC معين غير قابلة للاستخدام
على الأنظمة الأساسية التي تستخدم إصدار PA-RISC سابقًا افتراضيًا. ومع ذلك ، هذا إلى الوراء
قد يتم تمكين التوافق باستخدام نفس علامة المترجم + DAportable (مع نفس PA-
تحذير RISC 1.0 المذكور أعلاه).
لا يمكن تحميل المكتبات المشتركة التي تم إنشاؤها على منصة Itanium على منصة PA-RISC.
لا يمكن تحميل المكتبات المشتركة التي تم إنشاؤها على نظام أساسي PA-RISC إلا على منصة Itanium
إذا كان الملف القابل للتنفيذ PA-RISC الذي يحاول تحميل مكتبة PA-RISC. PA-RISC
لا يمكن تحميل المكتبة المشتركة في ملف إيتانيوم القابل للتنفيذ ولا العكس.
لإنشاء مكتبة مشتركة ، يجب تنفيذ الخطوات التالية:
1. قم بتجميع وحدات المصدر باستخدام علامة + z أو + Z لإنشاء وحدة .o
الذي يحتوي على رمز الوظيفة المستقلة (PIC). سوف الرابط
أخبرك في الخطوة التالية إذا كانت هناك حاجة إلى + Z.
(بالنسبة إلى دول مجلس التعاون الخليجي ، تكون العلامة المناسبة هي -fpic أو -fPIC.)
2. ربط المكتبة المشتركة باستخدام العلم -b. إذا كان رمز المكالمات
أي وظائف في مكتبات النظام الأخرى (على سبيل المثال ، libm) ، يجب أن تكون كذلك
يتم تضمينها في هذا الخط.
(لاحظ أن هذه الخطوات عادةً ما يتم التعامل معها تلقائيًا بواسطة Makefile الخاص بالملحق).
إذا لم يتم سرد هذه المكتبات التابعة في وقت إنشاء المكتبة المشتركة ، فستحصل على
أخطاء "الرمز التي لم يتم حلها" الفادحة في وقت التشغيل عند تحميل المكتبة.
يمكنك إنشاء مكتبة مشتركة تشير إلى مكتبة أخرى ، والتي قد تكون إما
مكتبة أرشيفية أو مكتبة مشتركة. إذا كانت هذه المكتبة الثانية مكتبة مشتركة ، فهذه هي
تسمى "مكتبة تابعة". يتم تسجيل اسم المكتبة التابعة في المشترك الرئيسي
مكتبة ، لكنها غير مرتبطة بالمكتبة المشتركة. بدلاً من ذلك ، يتم تحميله عندما يكون ملف
تم تحميل المكتبة المشتركة الرئيسية. يمكن أن يسبب هذا مشاكل إذا قمت بإنشاء امتداد على واحد
النظام ونقله إلى نظام آخر حيث قد لا تكون المكتبات موجودة فيه
ضع على النظام الأول.
إذا كانت المكتبة المشار إليها عبارة عن مكتبة أرشيف ، فسيتم التعامل معها على أنها مجموعة بسيطة
من وحدات .o (يجب أن تحتوي جميعها على الموافقة المسبقة عن علم). ثم يتم ربط هذه الوحدات في ملف
مكتبة مشتركة.
لاحظ أنه من المقبول إنشاء مكتبة تحتوي على مكتبة تابعة
مرتبطة بالفعل في بيرل.
تتطلب بعض الامتدادات ، مثل DB_File و Compress :: Zlib استخدام / تتطلب مكتبات تم إنشاؤها مسبقًا لملف
ملحقات / وحدات بيرل للعمل. إذا تم إنشاء هذه المكتبات باستخدام الافتراضي
للتهيئة ، فقد يحدث خطأ مثل "إصلاح أداة تحميل غير صالح"
خلال مرحلة التحميل. HP على علم بهذه المشكلة. ابحث في منتديات HP-UX cxx-dev عن ملفات
مناقشات حول الموضوع. الجواب القصير هو ذلك كل شىء (جميع المكتبات ،
يجب تجميع كل شيء) باستخدام "+ z" أو "+ Z" ليكون PIC (رمز مستقل للموضع).
(بالنسبة إلى دول مجلس التعاون الخليجي ، سيكون ذلك "-fpic" أو "-fPIC"). في HP-UX 11.00 أو أحدث خطأ رابط
يجب أن تخبر الرسالة اسم ملف الكائن المخالف.
النهج الأكثر عمومية هو التدخل يدويًا ، كما هو الحال مع مثال لملف DB_File
الوحدة النمطية ، والتي تتطلب libdb.sl الخاص بـ SleepyCat:
# cd ... / db-3.2.9 / build_unix
# السادس Makefile
... أضف + Z إلى جميع cflags لإنشاء كائنات مشتركة
CFLAGS = -c $ (CPPFLAGS) + Z -Ae + O2 + Onolimit \
-I / usr / local / include -I / usr / include / X11R6
CXXFLAGS = -c $ (CPPFLAGS) + Z -Ae + O2 + Onolimit \
-I / usr / local / include -I / usr / include / X11R6
# اجعلها نظيفة
# يصنع
# مكدير tmp
# قرص تمب
#arx ../libdb.a
# ld -b -o libdb-3.2.sl * .o
# إم في libdb-3.2.sl / البيرة / المحلية / ليب
# rm * .o
# قرص مضغوط / البيرة / المحلية / ليب
# rm -f libdb.sl
# ln -s libdb-3.2.sl libdb.sl
# قرص مضغوط ... / DB_File-1.76
# جعل ديسكلين
# بيرل Makefile.PL
# يصنع
# قم بإجراء الاختبار
# جعل تثبيت
اعتبارًا من db-4.2.x ، لم تعد هناك حاجة للقيام بذلك يدويًا. لقد تغير Sleepycat
عملية التكوين لإضافة + z على HP-UX تلقائيًا.
# cd ... / db-4.2.25 / build_unix
# env CFLAGS = + DD64 LDFLAGS = + DD64 ../dist/configure
يجب أن تعمل على إنشاء مكتبات مشتركة 64 بت لـ HP-UX 11.00 و 11i.
لم يعد من الممكن ربط مكتبات PA-RISC 1.0 المشتركة (على الرغم من أن الأمر-
أعلام الخطوط لا تزال موجودة).
ملفات كائن PA-RISC و Itanium غير قابلة للتبديل. على الرغم من أنك قد تكون قادرًا على استخدام ملفات
ar لإنشاء مكتبة أرشيف لملفات كائن PA-RISC على نظام Itanium ، لا يمكنك ذلك
الارتباط به باستخدام محرر ارتباط Itanium.
إنّ كافة أنواع عهود الـ HP ANSI C مترجم
عند استخدام هذا المترجم لبناء Perl ، يجب التأكد من إضافة العلم -Aa إليه
المتغيرات cpprun و cppstdin في ملف config.sh (على الرغم من مراجعة القسم الخاص بـ 64 بت
بيرل أدناه). إذا كنت تستخدم إصدارًا حديثًا من توزيعة Perl ، فهذه العلامات هي
ضبط تلقائيا.
على الرغم من أن HP-UX 10.20 و 11.00 لا يتم صيانتهما بشكل نشط من قبل HP بعد الآن ، إلا أن تحديثات
لا يزال مترجم HP ANSI C متاحًا من وقت لآخر ، وقد يُنصح بذلك
معرفة ما إذا كانت التحديثات قابلة للتطبيق. في لحظة كتابة هذا التقرير ، آخر التصحيحات المتاحة
مقابل 11.00 التي يجب تطبيقها هي PHSS_35098 و PHSS_35175 و PHSS_35100 و PHSS_33036 و
PHSS_33902). إذا كان لديك حساب SUM ، فيمكنك استخدامه للبحث عن التحديثات / التصحيحات.
أدخل "ANSI" ككلمة رئيسية.
إنّ كافة أنواع عهود الـ جنو C مترجم
عندما تنوي استخدام برنامج التحويل البرمجي GNU C (gcc) ، وليس لديك دول مجلس التعاون الخليجي بعد ، يمكنك
إما أن تبنيها بنفسك من المصادر (متوفرة من على سبيل المثال
<http://gcc.gnu.org/mirrors.html>) أو إحضار ثنائي تم إنشاؤه مسبقًا من مركز نقل HP
فيhttp://hpux.connect.org.uk/hppd/cgi-bin/search؟ term = gcc & Search = Search> أو من ملف
DSPP (تحتاج إلى أن تكون عضوًا) في
<http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=2a08725cc2f02110725cc2f02110275d6e10RCRD&jumpid=reg_r1002_usen_c-001_title_r0001>
(تصفح القائمة ، لأنه غالبًا ما توجد إصدارات متعددة من نفس الحزمة
متاح).
معظم التوزيعات المذكورة هي مستودعات. قامت شركة H.Merijn Brand بإنشاء ثنائيات دول مجلس التعاون الخليجي تم إنشاؤها مسبقًا
متاح علىhttp://mirrors.develooper.com/hpux/> و / أوhttp://www.cmve.net/~merijn/>
لـ HP-UX 10.20 (32 بت فقط) و HP-UX 11.00 و HP-UX 11.11 (HP-UX 11i v1) و HP-UX 11.23
(HP-UX 11i v2 PA-RISC) في كلا الإصدارين 32 و 64 بت. بالنسبة إلى HP-UX 11.23 IPF و HP-UX
11.31 مستودعات IPF متوفرة أيضًا. لا تحتاج إصدارات IPF إلى نسختين من GNU gcc.
في PA-RISC ، تحتاج إلى مترجم مختلف لتطبيقات 32 بت و 64 بت
التطبيقات. في PA-RISC ، لا يتم خلط الكائنات ذات 32 بت والكائنات 64 بت. فترة. هنالك
لا يوجد سلوك مختلف لـ HP C-ANSI-C أو GNU gcc. لذلك إذا كنت تطلب ملف perl الثنائي الخاص بك إلى
استخدام مكتبات 64 بت ، مثل Oracle-64bit ، يجب عليك إنشاء بيرل 64 بت.
لا يمكن إنشاء مركز خليجي قادر على 64 بت على PA-RISC من المصدر إلا عندما يكون لديك HP
يتوفر مترجم C-ANSI C أو برنامج ثنائي 64 بت يعمل بالفعل من دول مجلس التعاون الخليجي. أفضل أداء
for perl يتم تحقيقه مع مترجم HP الأصلي.
باستخدام كبير ملفات مع بيرل on HP-UX
بدءًا من HP-UX الإصدار 10.20 ، يمكن إنشاء ملفات أكبر من 2 جيجابايت (2 ^ 31 بايت) و
التلاعب بها. تتوفر ثلاث طرق منفصلة للقيام بذلك. من هذه الأساليب ، فإن
أفضل طريقة لـ Perl هي التجميع باستخدام علامة -Duselargefiles للتكوين. هذا
يتسبب في تجميع لغة Perl باستخدام الهياكل والوظائف التي يبلغ عرضها 64 بتًا ،
بدلاً من 32 بت. (لاحظ أن هذا سيعمل فقط مع مترجم HP's ANSI C.
إذا كنت تريد ترجمة لغة Perl باستخدام مجلس التعاون الخليجي ، فسيتعين عليك الحصول على نسخة من المترجم
يدعم عمليات 64 بت. انظر أعلاه لمعرفة مكان العثور عليه.)
هناك بعض العيوب في هذا النهج. واحد هو أن أي امتداد الذي يستدعي أي
ستحتاج إلى إعادة ترجمة دالة C التي تتلاعب بالملف (ما عليك سوى اتباع "perl
Makefile.PL ؛ يصنع؛ إجراء اختبار إجراء التثبيت ").
قائمة الوظائف التي ستحتاج إلى إعادة تجميعها هي:
يخلق ، fgetpos ، fopen ،
freopen ، fsetpos ، fstat ،
fstatvfs ، fstatvfsdev ، ftruncate ،
ftw ، lockf ، lseek ،
lstat ، mmap ، nftw ،
فتح ، prealloc ، stat ،
statvfs ، statvfsdev ، tmpfile ،
اقتطاع ، getrlimit ، setrlimit
عيب آخر صالح فقط لإصدارات Perl قبل 5.6.0. هذا العيب هو أن
البحث عن وظائف وإخبارها (كل من الإصدار المدمج وإصدار وحدة POSIX) لن تفعل ذلك
أداء صحيح.
يوصى بشدة باستخدام هذه العلامة عند تشغيل "تكوين". اذا لم
قم بذلك ، ولكن أجب لاحقًا على السؤال حول الملفات الكبيرة عندما يطلب منك تكوين ، يمكنك ذلك
الحصول على تكوين لا يمكن ترجمته ، أو لا يعمل كما هو متوقع.
الخيوط بيرل on HP-UX
من الممكن تجميع نسخة من Perl الملولب على أي إصدار من HP-UX قبل 10.30 ،
ولكن يُنصح بشدة أن تقوم بتشغيل HP-UX 11.00 على الأقل.
لتجميع لغة Perl باستخدام مؤشرات الترابط ، أضف -Dusethreads إلى وسيطات Configure. تحقق من أن
-D_POSIX_C_SOURCE = 199506L يتم إضافة علامة المترجم تلقائيًا إلى قائمة العلامات.
تأكد أيضًا من أن -lpthread مدرج قبل -lc في قائمة المكتبات لربط Perl
مع. ستحاول التلميحات المقدمة لـ HP-UX أثناء التكوين جاهدة الحصول على هذا بشكل صحيح
بالنسبة لك.
تتطلب إصدارات HP-UX قبل 10.30 تثبيتًا منفصلاً لمكتبة خيوط POSIX
طَرد. مثالان على ذلك هما حزمة HP DCE ، المتوفرة على "HP-UX Hardware Extensions 3.0 ،
التثبيت ونظام التشغيل الأساسي ، الإصدار 10.20 ، أبريل 1999 (B3920-13941) "أو PTH المتاح مجانًا
الحزمة المتاحة على موقع H.Merijn (http://mirrors.develooper.com/hpux/>). استخدام
سيكون PTH غير مدعوم في perl-5.12 والإصدارات الأحدث وهو بالأحرى عربات التي تجرها الدواب في الإصدار 5.11.x.
إذا كنت ستستخدم حزمة HP DCE ، فإن المكتبة المستخدمة للترابط هي
/usr/lib/libcma.sl ، ولكن كانت هناك تحديثات متعددة لتلك المكتبة بمرور الوقت. بيرل
سيبني مع الإصدار الأول ، لكنه لن يجتاز مجموعة الاختبار. أقدم أوراكل
قد تكون الإصدارات سببًا مقنعًا لعدم تحديث تلك المكتبة ، وإلا فيرجى العثور على ملف
إصدار أحدث في أحد التصحيحات التالية: PHSS_19739 أو PHSS_20608 أو PHSS_23672
إخراج معاد تنسيقه:
د 3:/ البيرة / ليب 106> ما لبكم - * .1
ليبكما-00000.1:
HP DCE / 9000 1.5 الوحدة النمطية: libcma.sl (تصدير)
التاريخ: 29 أبريل 1996 22:11:24
ليبكما-19739.1:
HP DCE / 9000 1.5 PHSS_19739-40 الوحدة النمطية: libcma.sl (تصدير)
التاريخ: 4 سبتمبر 1999 01:59:07
ليبكما-20608.1:
HP DCE / 9000 1.5 PHSS_20608 الوحدة النمطية: libcma.1 (تصدير)
التاريخ: 8 ديسمبر 1999 18:41:23
ليبكما-23672.1:
HP DCE / 9000 1.5 PHSS_23672 الوحدة النمطية: libcma.1 (تصدير)
التاريخ: 9 أبريل 2001 10:01:06
د 3:/ البيرة / ليب 107>
إذا اخترت حزمة PTH ، فاستخدم swinstall لتثبيت pth في الموقع الافتراضي
(/ opt / pth) ، ثم قم بعمل روابط رمزية للمكتبات من / البيرة / ليب
# قرص مضغوط / البيرة / ليب
# ln -s / opt / pth / lib / libpth *.
لبناء perl لدعم Oracle ، يجب ربطها بـ libcl و libpthread. لذا
حتى لو كانت لغة perl الخاصة بك عبارة عن بنية غير خيطية ، فقد تكون هذه المكتبات مطلوبة. انظر "Oracle
على HP-UX "أدناه.
64 بت بيرل on HP-UX
بدءًا من HP-UX 11.00 ، يمكن للبرامج التي تم تجميعها ضمن HP-UX الاستفادة من LP64
بيئة البرمجة (LP64 تعني Longs و Pointers بعرض 64 بت) ، وفيها عددية
ستكون المتغيرات قادرة على الاحتفاظ بأرقام أكبر من 2 ^ 32 بدقة كاملة. تمتلك لغة Perl
ثبت أنه متسق وموثوق به في وضع 64 بت منذ 5.8.1 على جميع أجهزة HP-UX 11.xx.
اعتبارًا من تاريخ هذا المستند ، تتوافق Perl تمامًا مع 64 بت على HP-UX 11.00 وما فوق
كل من cc- و gcc يبني. إذا كنت على وشك إنشاء بيرل 64 بت باستخدام GNU gcc ، يرجى قراءة
قسم دول مجلس التعاون الخليجي بعناية.
إذا احتاج المستخدم إلى تجميع Perl في بيئة LP64 ، فاستخدم
-Duse64bitall العلم للتكوين. سيؤدي هذا إلى إجبار Perl على أن يتم تجميعها في LP64 نقي
البيئة (مع علامة + DD64 لـ HP C-ANSI-C ، مع عدم وجود خيارات إضافية لـ GNU gcc
64 بت في PA-RISC ، ومع -mlp64 لـ GNU gcc على Itanium). إذا كنت تريد ترجمة لغة Perl
باستخدام gcc ، سيتعين عليك الحصول على إصدار من المترجم يدعم 64 بت
عمليات.)
يمكنك أيضًا استخدام علامة Duse64bitint للتكوين. على الرغم من وجود بعض الطفيفة
الاختلافات بين تجميع Perl مع هذه العلامة مقابل علامة -Duse64bitall ، فهم
يجب ألا تكون ملحوظة من منظور مستخدم Perl. عند تكوين -Duse64bitint
باستخدام 64bit gcc على بنية pa-risc ، يتم ترقية Duse64bitint بصمت إلى
-Duse64bitall.
في كلتا الحالتين ، يوصى بشدة باستخدام هذه العلامات عند تشغيل تكوين.
إذا كنت لا تستخدم هذا ، ولكن أجب لاحقًا عن الأسئلة المتعلقة بأرقام 64 بت متى
يسألك التكوين ، قد تحصل على تكوين لا يمكن تجميعه ، أو لا
تعمل كما هو متوقع.
Oracle on HP-UX
تسبب استخدام perl للاتصال بقواعد بيانات Oracle من خلال DBI و DBD :: Oracle في حدوث الكثير من
الكثير من الصداع. اقرأ README.hpux في DBD :: Oracle لمزيد من المعلومات. ال
سبب ذكرها هنا هو أن Oracle تتطلب بيرل مبنيًا باستخدام libcl و libpthread ،
هذا الأخير حتى عندما يتم بناء بيرل بدون خيوط. بناء بيرل باستخدام جميع الافتراضيات ، ولكن
لا يزال يمكّن من بناء DBD :: يمكن تحقيق Oracle لاحقًا باستخدام
تكوين -A prepend: libswanted = 'cl pthread' ...
لا تنس الفراغ قبل الاقتباس اللاحق.
لاحظ أيضًا أن هذا لا يعمل (حتى الآن) مع جميع التكوينات ، ومن المعروف أنه فشل مع
إصدارات 64 بت من GCC.
جي دي بي إم و المواضيع on HP-UX
إذا حاولت تجميع Perl باستخدام خيوط (POSIX) على نظام 11.X وأيضًا الارتباط في ملف
مكتبة GDBM ، ثم ستقوم Perl على الفور بتفريغ النواة عند بدء تشغيلها. الحل الوحيد
في هذه المرحلة ، يتم إعادة ربط مكتبة GDBM تحت 11.X ، ثم إعادة ربطها بـ Perl.
قد يظهر الخطأ شيئًا مثل:
خطأ داخلي Pthread: الرسالة: __libc_reinit () فشل ، الملف: ../pthreads/pthread.c ،
السطر: 1096 Return Pointer is 0xc082bf33 sh: 5345 Quit (coredump)
وسوف تستسلم تكوين.
NFS أنظمة الملفات و الوقت المناسب(2) on HP-UX
إذا كنت تقوم بترجمة Perl على نظام ملفات NFS مركب عن بعد ، فقد يفشل اختبار io / fs.t
في الاختبار رقم 18. يبدو أن هذا خطأ في HP-UX ولا يتوفر أي إصلاح حاليًا.
HP-UX نواة المعاملات (ماكسدس) لـ تجميع بيرل
بشكل افتراضي ، يتم تكوين HP-UX بأقصى حجم لمقطع البيانات يبلغ 64 ميجابايت. هذا ايضا
صغير لترجمة لغة Perl بشكل صحيح مع أقصى مستويات التحسين. يمكنك زيادة
حجم معلمة نواة maxdsiz من خلال استخدام SAM.
عند استخدام إصدار واجهة المستخدم الرسومية من SAM ، انقر على أيقونة تهيئة Kernel ، ثم ملف
رمز المعلمات شكلي. قم بالتمرير لأسفل وحدد خط maxdsiz. من الإجراءات
القائمة ، حدد عنصر تعديل المعلمة القابلة للتكوين. أدخل الصيغة الجديدة في ملف
الصيغة / مربع القيمة. ثم اتبع التعليمات لإعادة بناء النواة الخاصة بك وإعادة تشغيل ملف
نظام.
بشكل عام ، قيمة 256 ميغا بايت (أو "256 * 1024 * 1024") كافية لتجميع Perl في
أقصى قدر من التحسين.
nss_delete النواة تفريغ تبدأ من المرجع / pwent or المرجع / جرنت
قد تحصل على تفريغ أساسي لخطأ ناقل من اختبارات op / pwent أو op / grent. إذا تم تجميعها مع -g
سترى تتبع مكدس يشبه إلى حد كبير ما يلي:
# 0 0xc004216c في () من /usr/lib/libc.2
# 1 0xc00d7550 في __nss_src_state_destr () من /usr/lib/libc.2
# 2 0xc00d7768 في __nss_src_state_destr () من /usr/lib/libc.2
# 3 0xc00d78a8 في nss_delete () من /usr/lib/libc.2
# 4 0xc01126d8 في endpwent () من /usr/lib/libc.2
# 5 0xd1950 في Perl_pp_epwent () من ./perl
# 6 0x94d3c في Perl_runops_standard () من ./perl
# 7 0x23728 في S_run_body () من ./perl
# 8 0x23428 في perl_run () من ./perl
# 9 0x2005c في main () من ./perl
المفتاح هنا هو استدعاء "nss_delete". يبدو أن أحد الحلول البديلة لهذا الخطأ هو الإنشاء
أضف إلى الملف /etc/nsswitch.conf (على الأقل) الأسطر التالية
المجموعة: الملفات
passwd: ملفات
لا يهم ما إذا كنت تستخدم NIS. بشكل مثير للدهشة ، نفس الخطأ يؤثر أيضًا
سولاريس.
خطأ: اللصق ")" و "l" هل ليست تمنح a صالح المعالجة المسبقة رمز
يبدو أن هناك ملف رأس نظام معطل في HP-UX 11.00 يكسر مبنى perl في
وضع 32 بت مع GNU gcc-4.x تسبب في هذا الخطأ. نفس الملف لـ HP-UX 11.11 (على الرغم من أن
الملف أقدم) لا يظهر هذا الفشل ، وله التعريف الصحيح ، لذلك الأفضل
الإصلاح هو تصحيح الرأس للمطابقة:
--- /usr/include/inttypes.h 2001-04-20 18:42:14 +0200
+++ /usr/include/inttypes.h 2000-11-14 09:00:00 +0200
-72,7 +72,7
#define UINT32_C (__ c) __CONCAT_U __ (__ c)
# آخر / * __LP64 * /
#define INT32_C (__ c) __CONCAT __ (__ c، l)
- # حدد UINT32_C (__ c) __CONCAT __ (__ CONCAT_U __ (__ c) ، l)
+ # حدد UINT32_C (__ c) __CONCAT __ (__ c ، ul)
#endif / * __LP64 * /
#define INT64_C (__ c) __CONCAT_L __ (__ c، l)
إعادة إعلان of "Sendpath" مع a مختلف تخزين فئة محدد
قد تحدث تحذيرات التجميع التالية في إصدارات HP-UX قبل 11.31 ولكنها كذلك
غير ضار:
cc: "/usr/include/sys/socket.h" ، السطر 535: تحذير 562: إعادة إعلان "sendfile" باستخدام محدد فئة تخزين مختلف: سيكون لـ "sendfile" ارتباط داخلي.
cc: "/usr/include/sys/socket.h" ، السطر 536: تحذير 562: إعادة تعريف "sendpath" باستخدام محدد فئة تخزين مختلف: سيكون لـ "sendpath" ارتباط داخلي.
يبدو أنها ناتجة عن ملفات رأس النظام المعطلة ، وكذلك مشاريع أخرى مفتوحة المصدر
يرونهم. يجب أن تعمل تصحيحات HP-UX التالية على إزالة التحذيرات:
CR JAGae12001: PHNE_27063
تحذير 562 على sys / socket.h بسبب إعادة تعريف النماذج الأولية
سي آر جاجاي16787:
تحذير 562 من socket.h sendpath / sendfile -D_FILEFFSET_BITS = 64
سي آر جاجاي73470 (11.23)
ER: تجميع socket.h باستخدام cc -D_FILEFFSET_BITS = 64 تحذير 267/562
منوع
تم تصحيح HP-UX 11 Y2K "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000 Patch Bundle"
تم الإبلاغ عن كسر اختبار io / fs رقم 18 الذي يختبر ما إذا كان utime () يمكن تغيير الطوابع الزمنية.
يبدو أن تصحيح عام 2 قد توقف utime () بحيث لا تتغير الطوابع الزمنية عبر NFS
(على أنظمة الملفات المحلية utime () مازال يعمل). ربما تم إصلاح هذا على نظامك بواسطة
الآن.
استخدم perlhpux عبر الإنترنت باستخدام خدمات onworks.net
