perlhpux - آنلاین در ابر

این دستور perlhpux است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


perlhpux - Perl نسخه 5 در سیستم های Hewlett-Packard Unix (HP-UX)

شرح


این سند ویژگی های مختلف سیستم عامل یونیکس HP (HP-UX) را شرح می دهد
بر نحوه کامپایل و/یا اجرای پرل نسخه 5 (از این پس فقط Perl) تأثیر می گذارد.

با استفاده از پرل as حمل با HP-UX
انتشار برنامه سپتامبر 2001، HP-UX 11.00 اولین نسخه ای است که با Perl عرضه می شود. توسط
زمانی که perl-5.6.1 در /opt/perl بود. اولین مورد در CD 5012-7954 است و می تواند باشد
نصب شده با استفاده از

swinstall -s /cdrom perl

با فرض اینکه شما آن سی دی را بر روی /cdrom نصب کرده اید.

آن ساخت یک ساخت چند رشته ای قابل حمل hppa-1.1 بود که از فایل های بزرگ کامپایل شده پشتیبانی می کرد.
با gcc-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
perl.Perl5-32 D.5.8.8.B 32 بیتی 5.8.8 زبان برنامه نویسی Perl با برنامه های افزودنی
perl.Perl5-64 D.5.8.8.B 64 بیتی 5.8.8 زبان برنامه نویسی Perl با برنامه های افزودنی

برای مشاهده آنچه روی سیستم شما نصب شده است:

# swlist -R perl
# perl E.5.8.8.J زبان برنامه نویسی Perl
# perl.Perl5-32 E.5.8.8.J زبان برنامه نویسی پرل 32 بیتی با برنامه های افزودنی
perl.Perl5-32.PERL-MAN E.5.8.8.J 32 بیتی Perl Man Pages for IA
Perl.Perl5-32.PERL-RUN E.5.8.8.J 32 بیتی Perl Binaries for IA
# perl.Perl5-64 E.5.8.8.J زبان برنامه نویسی پرل 64 بیتی با برنامه های افزودنی
perl.Perl5-64.PERL-MAN E.5.8.8.J 64 بیتی Perl Man Pages for IA
Perl.Perl5-64.PERL-RUN E.5.8.8.J 64 بیتی Perl Binaries for IA

با استفاده از پرل از جانب اچ پی انتقال مرکز
مرکز پورتینگ HP تلاش می کند تا با تقاضای مشتریان مطابقت داشته باشد و به روز رسانی ها را از Open منتشر کند
جامعه منبع وجود باینری های پرل از پیش کامپایل شده واضح است، هرچند "به روز
date" چیزی نسبی است. در لحظه نوشتن فقط perl-5.10.1 موجود بود (با
5.16.3 آخرین نسخه پایدار از دیدگاه پورترها است).

مراکز پورتینگ HP در سیستم هایی که مجاز به پورت کردن به آنها هستند و آنها محدود هستند
معمولاً دو نسخه اخیر سیستم عامل موجود را انتخاب کنید.

HP از مرکز پورتینگ خواسته است که باینری های منبع باز را از آن جابجا کند / انتخاب به / usr / محلی، به طوری که
باینری های تولید شده از آغاز جولای 2002 در /usr/local قرار دارند.

یکی از آدرس‌های اینترنتی مراکز پورتینگ HP استhttp://hpux.connect.org.uk/> پورت در حال حاضر
موجود با GNU gcc ساخته شده است.

دیگر از پیش ساخته پرل دوتایی
برای دریافت انبارهای پرل حتی جدیدتر برای طیف وسیعی از HP-UX، از برند H.Merijn دیدن کنید.
سایت درhttp://mirrors.develooper.com/hpux/#پرل>. یادداشت ها را با دقت بخوانید تا ببینید آیا
نسخه های موجود مطابق با نیاز شما هستند.

تدوین پرل 5 on HP-UX
هنگام کامپایل پرل، باید از کامپایلر ANSI C استفاده کنید. کامپایلر C که با همه ارسال می شود
سیستم های HP-UX یک کامپایلر K&R است که فقط باید برای ساخت هسته های جدید استفاده شود.

Perl را می توان با کامپایلر ANSI C HP یا با gcc کامپایل کرد. سابق است
توصیه می شود، زیرا نه تنها می تواند پرل را بدون هیچ مشکلی کامپایل کند، بلکه می تواند انجام دهد
مزیت ویژگی‌هایی که بعداً فهرست شده‌اند و به استفاده از دستور مخصوص کامپایلر HP نیاز دارند.
پرچم های خط

اگر تصمیم به استفاده از gcc دارید، مطمئن شوید که نصب شما جدید و کامل است و مطمئن شوید
برای خواندن فایل INSTALL Perl برای جزئیات بیشتر مربوط به gcc.

PA-RISC
سیستم‌های یونیکس HP9000 HP بر روی تراشه معماری دقیق HP (PA-RISC) اجرا می‌شوند. HP-UX
قبلاً روی تراشه‌های خانواده موتورولا MC68000 اجرا می‌شد، اما هر دستگاهی که این تراشه را در آن نصب می‌کرد
کاملاً منسوخ شده است و این سند سعی نخواهد کرد به مسائل مربوط به کامپایل پرل بپردازد
در چیپست موتورولا

نسخه PA-RISC در زمان آخرین به روز رسانی این سند 2.0 است که همینطور است
آخرین وجود خواهد داشت. سیستم های HP PA-RISC معمولاً با توضیحات مدل مورد اشاره قرار می گیرند
"HP 9000". آخرین CPU این سری PA-8900 است. پشتیبانی از معماری PA-RISC
ماشین ها به طور رسمی همانطور که در جدول زیر نشان داده شده است به پایان می رسد:

نقشه راه پایان عمر PA-RISC
+------------------------------------------------- -----------+
| HP9000 | Superdome | 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 نسخه
یک فایل اجرایی که بر روی پلتفرم PA-RISC 2.0 کامپایل شده است، روی PA-RISC 1.1 اجرا نخواهد شد.
حتی اگر از همان نسخه HP-UX استفاده کنند. اگر در حال ساختن پرل هستید
یک پلتفرم PA-RISC 2.0 و می خواهید که Perl روی PA-RISC 1.1 نیز اجرا شود، پرچم کامپایلر
+DAportable و +DS32 باید استفاده شود.

دیگر امکان کامپایل فایل های اجرایی PA-RISC 1.0 در PA-RISC 1.1 یا PA-RISC XNUMX وجود ندارد.
پلتفرم 2.0 پرچم‌های خط فرمان پذیرفته می‌شوند، اما فایل اجرایی به‌دست‌آمده نمی‌شود
هنگام انتقال به سیستم PA-RISC 1.0 اجرا شود.

PA-RISC 1.0
نسخه اصلی PA-RISC، HP دیگر هیچ سیستمی را با این تراشه نمی فروشد.

سیستم های زیر حاوی تراشه های PA-RISC 1.0 بودند:

600، 635، 645، 808، 815، 822، 825، 832، 834، 835، 840، 842، 845، 850،
852، 855، 860، 865، 870، 890

PA-RISC 1.1
ارتقاء به طراحی PA-RISC، آن را برای سال های زیادی در بسیاری از سیستم های مختلف حمل می شود.

سیستم های زیر دارای تراشه های PA-RISC 1.1 هستند:

705، 710، 712، 715، 720، 722، 725، 728، 730، 735، 742، 743، 744، 745،
747، 750، 755، 770، 777، 778، 779، 800، 801، 803، 806، 807، 809، 811،
813، 816، 817، 819، 821، 826، 827، 829، 831، 837، 839، 841، 847، 849،
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

PA-RISC 2.0
جدیدترین ارتقای طراحی PA-RISC، پشتیبانی از داده های عدد صحیح 64 بیتی را اضافه کرد.

از تاریخ آخرین به‌روزرسانی این سند، سیستم‌های زیر حاوی PA-RISC 2.0 هستند
چیپس:

700، 780، 781، 782، 783، 785، 802، 804، 810، 820، 861، 871، 879، 889،
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

درست قبل از اینکه اچ پی 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، سوپردام

کنوانسیون نامگذاری فعلی این است:

افزودن
||||`+- 00 - 99 ظرفیت نسبی و جدید بودن (ارتقا و غیره)
|||`--- عدد منحصر به فرد برای هر معماری برای اطمینان از متفاوت بودن
||| سیستم ها شماره گذاری یکسانی ندارند
||| معماری ها
||`---- 1 - 9 موقعیت خانوادگی و/یا نسبی را مشخص می کند
||
|`----- c = ia32 (cisc)
| p = pa-risc
| x = ia-64 (Itanium & Itanium 2)
| h = مسکن
`------ t = برج
r = قفسه بهینه شده است
s = فوق العاده مقیاس پذیر
b = تیغه
sa = دستگاه

ایتانیوم پردازنده خانواده (IPF) و HP-UX
HP-UX همچنین بر روی پردازنده جدید Itanium اجرا می شود. این نیاز به استفاده از یک متفاوت دارد
نسخه HP-UX (در حال حاضر 11.23 یا 11i v2) و به استثنای چند تفاوت
در زیر و در بخش‌های بعدی، پرل باید بدون مشکل کامپایل کند.

اگرچه باینری های PA-RISC می توانند روی سیستم های Itanium اجرا شوند، شما نباید سعی کنید از PA- استفاده کنید.
نسخه RISC Perl در سیستم Itanium. این به این دلیل است که کتابخانه های مشترک ایجاد شده در یک
سیستم Itanium در حین اجرای یک فایل اجرایی PA-RISC قابل بارگیری نیست.

سیستم های HP Itanium 2 معمولاً با توضیحات مدل "HP Integrity" نامیده می شوند.

ایتانیوم، ایتانیوم 2 & مدیسون 6
HP همچنین سرورهایی را با پردازنده (های) Itanium 128 بیتی عرضه می کند. به cx26x0 گفته می شود که داشته باشد
مدیسون 6. از تاریخ آخرین به روز رسانی این سند، سیستم های زیر شامل
تراشه های Itanium یا Itanium 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 PA 32 بیتی 30-ژوئن-2003
11.00 32/64 PA 31-Dec-2006
11.11 11i v1 32/64 PA 31-دسامبر-2015
11.22 11i v2 64 IPF 30-آوریل-2004
11.23 11i v2 64 PA & IPF 31-دسامبر-2015
11.31 11i v3 64 PA & IPF 31-Dec-2020 (PA) 31-Dec-2022 (IPF)

برای لیست کامل پشتیبانی سخت افزار/OS و پایان عمر مورد انتظار مشاهده کنید
<http://www.hp.com/go/hpuxservermatrix>

بنا پویا گسترش دهنده ها on HP-UX
HP-UX از کتابخانه های قابل بارگذاری پویا (کتابخانه های مشترک) پشتیبانی می کند. کتابخانه های مشترک به پایان می رسد
با پسوند .sl. در سیستم های Itanium، آنها با پسوند .so خاتمه می یابند.

کتابخانه های مشترک ایجاد شده بر روی یک پلت فرم با استفاده از یک نسخه خاص PA-RISC قابل استفاده نیستند
روی پلتفرم هایی که به طور پیش فرض از نسخه قبلی PA-RISC استفاده می کنند. با این حال، این به عقب است
سازگاری ممکن است با استفاده از همان پرچم کامپایلر +DAportable (با همان PA-) فعال شود
هشدار RISC 1.0 که در بالا ذکر شد).

کتابخانه های مشترک ایجاد شده بر روی پلت فرم Itanium را نمی توان در پلت فرم PA-RISC بارگیری کرد.
کتابخانه های مشترک ایجاد شده بر روی یک پلت فرم PA-RISC فقط در یک پلت فرم Itanium قابل بارگیری هستند
اگر یک فایل اجرایی PA-RISC باشد که سعی در بارگیری کتابخانه PA-RISC دارد. یک PA-RISC
کتابخانه مشترک را نمی توان در یک فایل اجرایی Itanium بارگیری کرد و یا برعکس.

برای ایجاد یک کتابخانه مشترک، مراحل زیر باید انجام شود:

1. ماژول های منبع را با پرچم +z یا +Z برای ایجاد یک ماژول .o کامپایل کنید
که حاوی کد مستقل از موقعیت (PIC) است. پیوند دهنده خواهد شد
در مرحله بعد به شما بگویم که اگر +Z مورد نیاز بود.
(برای gcc، پرچم مناسب -fpic یا -fPIC است.)

2. کتابخانه مشترک را با استفاده از پرچم -b پیوند دهید. اگر کد تماس بگیرد
هر گونه توابع در کتابخانه های سیستم دیگر (به عنوان مثال، libm)، باید
در این خط گنجانده شود.

(توجه داشته باشید که این مراحل معمولاً به صورت خودکار توسط Makefile برنامه افزودنی انجام می شود).

اگر این کتابخانه‌های وابسته در زمان ایجاد کتابخانه مشترک فهرست نشده باشند، دریافت خواهید کرد
خطاهای کشنده "نماد حل نشده" در زمان اجرا هنگام بارگیری کتابخانه.

شما می توانید یک کتابخانه مشترک ایجاد کنید که به کتابخانه دیگری ارجاع می دهد، که ممکن است یکی باشد
کتابخانه آرشیو یا یک کتابخانه مشترک. اگر این کتابخانه دوم یک کتابخانه مشترک است، این است
به نام "کتابخانه وابسته". نام کتابخانه وابسته در اشتراک اصلی ثبت شده است
کتابخانه، اما به کتابخانه مشترک پیوند داده نشده است. در عوض، زمانی که
کتابخانه مشترک اصلی بارگیری شده است. اگر یک افزونه را روی یکی بسازید، می‌تواند مشکلاتی ایجاد کند
سیستم را منتقل کنید و آن را به سیستم دیگری منتقل کنید که ممکن است کتابخانه ها در آن قرار نداشته باشند
مانند سیستم اول قرار دهید.

اگر کتابخانه ارجاع شده یک کتابخانه آرشیو باشد، به عنوان یک مجموعه ساده در نظر گرفته می شود
از ماژول های .o (که همه باید دارای PIC باشند). این ماژول ها سپس به
کتابخانه مشترک

توجه داشته باشید که اشکالی ندارد کتابخانه ای ایجاد کنید که حاوی یک کتابخانه وابسته باشد
قبلاً به پرل پیوند داده شده است.

برخی از برنامه‌های افزودنی مانند DB_File و Compress::Zlib استفاده/نیاز به کتابخانه‌های از پیش ساخته شده برای
برنامه های افزودنی / ماژول های پرل برای کار. اگر این کتابخانه ها با استفاده از پیش فرض ساخته شده باشند
پیکربندی، ممکن است با خطایی مانند "Invalid Loder fixup" مواجه شوید.
در مرحله بارگذاری HP از این مشکل آگاه است. در انجمن های HP-UX cxx-dev جستجو کنید
بحث در مورد موضوع پاسخ کوتاه این است همه چیز (کلیه کتابخانه ها،
همه چیز) باید با "+z" یا "Z" کامپایل شود تا PIC (کد مستقل از موقعیت) باشد.
(برای gcc، "-fpic" یا "-fPIC" خواهد بود). در HP-UX 11.00 یا جدیدتر خطای پیوند دهنده
پیام باید نام فایل شی متخلف را بگوید.

یک رویکرد کلی تر، مداخله دستی است، مانند مثالی برای DB_File
ماژول، که به libdb.sl SleepyCat نیاز دارد:

# سی دی .../db-3.2.9/build_unix
# vi Makefile
... برای ایجاد اشیاء مشترک به همه cflag ها +Z اضافه کنید
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

#تمیز کن
# ساختن
# mkdir tmp
# سی دی tmp
# ar x ../libdb.a
# ld -b -o libdb-3.2.sl *.o
# mv libdb-3.2.sl / usr / local / lib
# rm *.o
# سی دی / usr / local / lib
# rm -f libdb.sl
# ln -s libdb-3.2.sl libdb.sl

# سی دی .../DB_File-1.76
# distclean کنید
# perl Makefile.PL
# ساختن
#تست انجام دهید
# نصب کنید

از db-4.2.x دیگر نیازی به انجام این کار با دست نیست. Sleepycat تغییر کرده است
فرآیند پیکربندی برای افزودن +z به صورت خودکار در HP-UX.

# سی دی .../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 در مقابل آن لینک دهید.

La 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" را به عنوان کلمه کلیدی وارد کنید.

La گنو C کامپایلر
وقتی می خواهید از کامپایلر گنو C (gcc) استفاده کنید و هنوز 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 باینری های gcc از پیش ساخته شده است
موجود در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 وجود ندارد. بنابراین اگر شما به پرل باینری نیاز دارید
از کتابخانه های 64 بیتی مانند Oracle-64bit استفاده کنید، شما باید یک پرل 64 بیتی بسازید.

ساختن یک gcc با قابلیت 64 بیتی روی PA-RISC از منبع تنها زمانی امکان پذیر است که HP داشته باشید.
کامپایلر C-ANSI C یا یک باینری 64 بیتی از قبل در حال کار از gcc موجود است. بهترین عملکرد
برای پرل با کامپایلر بومی HP به دست می آید.

با استفاده از بزرگ فایل ها با پرل on HP-UX
با شروع HP-UX نسخه 10.20، ممکن است فایل های بزرگتر از 2 گیگابایت (2^31 بایت) ایجاد شود و
دستکاری شده است. سه روش جداگانه برای انجام این کار موجود است. از این روش ها،
بهترین روش برای Perl کامپایل کردن با استفاده از پرچم -Duselargefiles برای پیکربندی است. این
باعث می شود Perl با استفاده از ساختارها و توابعی که در آنها 64 بیت عرض دارند، کامپایل شود.
به جای عرض 32 بیت (توجه داشته باشید که این فقط با کامپایلر ANSI C HP کار می کند. اگر
شما می خواهید پرل را با استفاده از gcc کامپایل کنید، باید نسخه ای از کامپایلر را دریافت کنید
از عملیات 64 بیتی پشتیبانی می کند. برای یافتن آن به بالا مراجعه کنید.)

این رویکرد دارای اشکالاتی است. یکی این است که هر افزونه ای که هر را فراخوانی می کند
تابع C دستکاری کننده فایل باید دوباره کامپایل شود (فقط از "perl" معمول پیروی کنید
Makefile.PL; ساختن تست کردن رویه make install).

لیست توابعی که نیاز به کامپایل مجدد دارند عبارتند از:
creat، fgetpos، fopen،
freopen، fsetpos، fstat،
fstatvfs، fstatvfsdev، ftruncate،
ftw، lockf، lseek،
lstat، mmap، nftw،
باز، پیش تخصیص، آمار،
statvfs، statvfsdev، tmpfile،
کوتاه کردن، getrlimit، setrlimit

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

اکیداً توصیه می شود که هنگام اجرای Configure از این پرچم استفاده کنید. اگر شما نمی
این کار را انجام دهید، اما بعداً هنگامی که Configure از شما می‌پرسد، به سؤال مربوط به فایل‌های حجیم پاسخ دهید
پیکربندی را دریافت کنید که قابل کامپایل نباشد یا آنطور که انتظار می رود عمل نمی کند.

موضوع پرل on HP-UX
امکان کامپایل یک نسخه از پرل رشته ای روی هر نسخه از HP-UX قبل از 10.30 وجود دارد.
اما قویاً پیشنهاد می‌شود که حداقل بر روی HP-UX 11.00 اجرا کنید.

برای کامپایل پرل با رشته ها، -Dusethreads را به آرگومان های Configure اضافه کنید. تاییدش کنید
پرچم کامپایلر -D_POSIX_C_SOURCE=199506L به طور خودکار به لیست پرچم ها اضافه می شود.
همچنین مطمئن شوید که -lpthread قبل از -lc در لیست کتابخانه‌ها برای پیوند پرل فهرست شده باشد
با. نکات ارائه شده برای 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

خروجی فرمت مجدد:

d3:/ usr / معاونت 106 > what libcma-*.1
libcma-00000.1:
ماژول HP DCE/9000 1.5: libcma.sl (صادرات)
تاریخ: 29 آوریل 1996 22:11:24
libcma-19739.1:
ماژول HP DCE/9000 1.5 PHSS_19739-40: libcma.sl (Export)
تاریخ: 4 سپتامبر 1999 01:59:07
libcma-20608.1:
ماژول HP DCE/9000 1.5 PHSS_20608: libcma.1 (صادرات)
تاریخ: 8 دسامبر 1999 18:41:23
libcma-23672.1:
ماژول HP DCE/9000 1.5 PHSS_23672: libcma.1 (صادرات)
تاریخ: 9 آوریل 2001 10:01:06
d3:/ usr / معاونت 107>

اگر بسته PTH را انتخاب می کنید، از swinstall برای نصب pth در مکان پیش فرض استفاده کنید
(/opt/pth)، و سپس پیوندهای نمادین به کتابخانه ها از / usr / معاونت

# سی دی / usr / معاونت
# ln -s /opt/pth/lib/libpth*.

برای ساختن پرل برای پشتیبانی از اوراکل، باید با libcl و libpthread پیوند داده شود. بنابراین
حتی اگر پرل شما یک ساخت بدون رشته باشد، ممکن است به این کتابخانه ها نیاز باشد. به «اوراکل» مراجعه کنید
در HP-UX" در زیر.

64-بیتی پرل on HP-UX
با شروع HP-UX 11.00، برنامه های کامپایل شده تحت HP-UX می توانند از مزایای LP64 استفاده کنند.
محیط برنامه نویسی (LP64 به این معنی است که طول ها و اشاره گرها 64 بیت عرض دارند)، که در آن اسکالر
متغیرها می توانند اعداد بزرگتر از 2^32 را با دقت کامل نگهداری کنند. پرل دارد
ثابت و قابل اعتماد بودن در حالت 64 بیتی از نسخه 5.8.1 در تمام HP-UX 11.xx.

از تاریخ این سند، Perl به طور کامل با نسخه 64 بیتی HP-UX 11.00 و بالاتر سازگار است.
هر دو ساخت cc- و gcc. اگر می خواهید یک پرل 64 بیتی با GNU gcc بسازید، لطفا بخوانید
بخش gcc را با دقت

اگر کاربر نیاز به کامپایل Perl در محیط LP64 داشت، از آن استفاده کنید
پرچم -Duse64bitall برای پیکربندی. این امر باعث می شود که Perl در یک LP64 خالص کامپایل شود
محیط (با پرچم +DD64 برای HP C-ANSI-C، بدون گزینه اضافی برای GNU gcc
64 بیتی در PA-RISC و با -mlp64 برای GNU gcc در Itanium). اگر می خواهید پرل را کامپایل کنید
با استفاده از gcc، باید نسخه ای از کامپایلر را دریافت کنید که از 64 بیت پشتیبانی می کند
عملیات.)

همچنین می توانید از پرچم -Duse64bitint برای پیکربندی استفاده کنید. اگرچه برخی جزئی وجود دارد
تفاوت بین کامپایل پرل با این پرچم در مقابل پرچم -Duse64bitall، آنها
نباید از دیدگاه کاربر پرل قابل توجه باشد. هنگام پیکربندی -Duse64bitint
با استفاده از یک gcc 64 بیتی در معماری pa-risc، -Duse64bitint بی‌صدا به
-Duse64bitall.

در هر دو مورد، اکیداً توصیه می شود که هنگام اجرای Configure از این پرچم ها استفاده کنید.
اگر از این کار استفاده نمی کنید، اما بعداً به سؤالات مربوط به اعداد 64 بیتی پاسخ دهید
Configure از شما می پرسد، ممکن است پیکربندی دریافت کنید که قابل کامپایل نیست یا نمی شود
مطابق انتظار عمل کند.

وحی on HP-UX
استفاده از perl برای اتصال به پایگاه داده های اوراکل از طریق DBI و DBD::Oracle باعث بسیاری از موارد شده است.
مردم سردردهای زیادی دارند برای اطلاعات بیشتر، README.hpux را در DBD::Oracle بخوانید. را
دلیل ذکر آن در اینجا این است که اوراکل به پرل نیاز دارد که با libcl و libpthread ساخته شده باشد.
مورد دوم حتی زمانی که پرل بدون نخ ساخته می شود. ساخت پرل با استفاده از تمام پیش فرض ها، اما
هنوز هم ساخت DBD::Oracle را می توان با استفاده از آن به دست آورد

پیکربندی -A prepend:libswanted='cl pthread ' ...

فضای قبل از نقل قول انتهایی را فراموش نکنید.

همچنین توجه داشته باشید که این (هنوز) با همه تنظیمات کار نمی کند، شناخته شده است که با آن شکست می خورد
نسخه های 64 بیتی GCC.

GDBM و موضوع on HP-UX
اگر می خواهید پرل را با موضوعات (POSIX) در یک سیستم 11.X کامپایل کنید و همچنین در
کتابخانه GDBM، پس از آن Perl بلافاصله پس از راه‌اندازی، هسته اصلی را تخلیه می‌کند. تنها راه حل
در این مرحله باید کتابخانه GDBM را تحت 11.X مجدداً پیوند دهید، سپس آن را مجدداً به Perl پیوند دهید.

خطا ممکن است چیزی شبیه به:

خطای داخلی Pthread: پیام: __libc_reinit() ناموفق، فایل: ../pthreads/pthread.c،
خط: 1096 نشانگر بازگشت 0xc082bf33 sh: 5345 خروج (coredump)

و پیکربندی منصرف خواهد شد.

NFS سیستمهای پرونده و utime(2) on HP-UX
اگر Perl را روی یک فایل سیستم NFS نصب شده از راه دور کامپایل می کنید، آزمایش io/fs.t ممکن است با شکست مواجه شود.
در آزمون شماره 18 به نظر می رسد این یک اشکال در HP-UX باشد و در حال حاضر هیچ مشکلی برای رفع آن وجود ندارد.

HP-UX هسته پارامترهای (maxdsiz) برای تدوین پرل
به طور پیش فرض، HP-UX با حداکثر اندازه بخش داده 64 مگابایت پیکربندی شده است. این هم هست
کوچک برای کامپایل صحیح پرل با حداکثر سطوح بهینه سازی. می توانید افزایش دهید
اندازه پارامتر هسته maxdsiz با استفاده از SAM.

هنگام استفاده از نسخه رابط کاربری گرافیکی SAM، روی نماد پیکربندی هسته کلیک کنید، سپس روی
نماد پارامترهای قابل تنظیم به پایین اسکرول کنید و خط maxdsiz را انتخاب کنید. از اقدامات
منو، آیتم Modify Configurable Parameter را انتخاب کنید. فرمول جدید را وارد کنید
جعبه فرمول/ارزش. سپس دستورالعمل ها را برای بازسازی هسته خود دنبال کنید و هسته خود را مجددا راه اندازی کنید
سیستم.

به طور کلی، مقدار 256 مگابایت (یا "256*1024*1024") برای پرل برای کامپایل کافی است.
حداکثر بهینه سازی

nss_delete هسته موادی که موقتا برای استعمال انبار میشود از جانب op/pwent or op/grent


ممکن است از تست های op/pwent یا op/grent یک خطای گذرگاه اصلی دریافت کنید. اگر با -g کامپایل شود
شما یک stack trace را بسیار شبیه به زیر خواهید دید:

#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 در اصلی () از ./perl

کلید اینجا تماس "nss_delete" است. به نظر می رسد یک راه حل برای این اشکال ایجاد کردن باشد
به فایل اضافه کنید /etc/nsswitch.conf (حداقل) خطوط زیر

گروه: فایل ها
passwd: فایل ها

اینکه آیا از NIS استفاده می کنید مهم نیست. به اندازه کافی شگفت انگیز، همان اشکال نیز تأثیر می گذارد
سولاریس

خطا: چسباندن ")" و "من" میکند نه دادن a معتبر پیش پردازش رمز


به نظر می رسد یک فایل هدر سیستم خراب در HP-UX 11.00 وجود دارد که ساختمان پرل را در آن خراب می کند.
حالت 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 +XNUMX،XNUMX
#define UINT32_C(__c) __CONCAT_U__(__c)
#دیگر /* __LP64 */
#define INT32_C(__c) __CONCAT__(__c,l)
-#define UINT32_C(__c) __CONCAT__(__CONCAT_U__(__c)،l)
+#define UINT32_C(__c) __CONCAT__(__c,ul)
#endif /* __LP64 */

#define INT64_C(__c) __CONCAT_L__(__c,l)

اعلام مجدد of "مسیر ارسال" با 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 به دلیل اعلام مجدد نمونه های اولیه

CR JAGae16787:
هشدار 562 از socket.h sendpath/sendfile -D_FILEFFSET_BITS=64

CR JAGae73470 (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() می تواند مهر زمانی را تغییر دهد
به نظر می رسد پچ Y2K خراب شده است utime() به طوری که در NFS مُهرهای زمانی تغییر نکنند
(در فایل سیستم های محلی utime() هنوز کار میکنه). احتمالاً توسط سیستم شما رفع شده است
در حال حاضر.

با استفاده از خدمات onworks.net از perlhpux به صورت آنلاین استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز