Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

perlhpux - Trực tuyến trên đám mây

Chạy perlhpux trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh perlhpux có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi, chẳng hạn như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


perlhpux - Perl phiên bản 5 trên hệ thống Hewlett-Packard Unix (HP-UX)

MÔ TẢ


Tài liệu này mô tả các tính năng khác nhau của hệ điều hành Unix của HP (HP-UX) sẽ
ảnh hưởng đến cách Perl phiên bản 5 (sau đây chỉ là Perl) được biên dịch và / hoặc chạy.

Sử dụng perl as vận chuyển với HP-UX
Bản phát hành ứng dụng vào tháng 2001 năm 11.00, HP-UX XNUMX là sản phẩm đầu tiên xuất xưởng cùng với Perl. Bằng
thời gian nó là perl-5.6.1 trong / opt / perl. Lần xuất hiện đầu tiên là trên CD 5012-7954 và có thể
cài đặt bằng cách sử dụng

swinstall -s / cdrom perl

giả sử bạn đã gắn đĩa CD đó trên / cdrom.

Bản dựng đó là bản dựng đa luồng hppa-1.1 di động hỗ trợ các tệp lớn được biên dịch
với gcc-2.9-hppa-991112.

Nếu bạn thực hiện cài đặt mới, thì Perl (mới hơn) sẽ được cài đặt tự động.
Các hệ thống HP-UX được cài đặt sẵn hiện có các phiên bản Perl mới hơn và các mô-đun được cập nhật.

Các bản dựng chính thức (theo luồng) từ HP, vì chúng được vận chuyển trên DVD / CD của Ứng dụng
có sẵn trên
<http://www.software.hp.com/portal/swdepot/displayProductInfo.do? productNumber = PERL> cho
cả PA-RISC và IPF (Họ Bộ xử lý Itanium). Chúng được xây dựng với HP ANSI-C
trình biên dịch. Cho đến ngày 5.8.8 đã được ActiveState thực hiện.

Để xem phiên bản nào được bao gồm trên DVD (giả sử ở đây được gắn trên / cdrom), hãy phát hành
lệnh này:

# swlist -s / cdrom perl
# perl D.5.8.8.B Ngôn ngữ lập trình 5.8.8 Perl
perl.Perl5-32 D.5.8.8.B 32-bit 5.8.8 Perl Ngôn ngữ lập trình với phần mở rộng
perl.Perl5-64 D.5.8.8.B 64-bit 5.8.8 Perl Ngôn ngữ lập trình với phần mở rộng

Để xem những gì được cài đặt trên hệ thống của bạn:

# swlist -R Perl
# perl E.5.8.8.J Ngôn ngữ lập trình Perl
# perl.Perl5-32 E.5.8.8.J Ngôn ngữ lập trình Perl 32-bit có phần mở rộng
perl.Perl5-32.PERL-MAN E.5.8.8.J 32-bit Perl Man Page cho IA
perl.Perl5-32.PERL-RUN E.5.8.8.J 32-bit Perl Binaries cho IA
# perl.Perl5-64 E.5.8.8.J Ngôn ngữ lập trình Perl 64-bit có phần mở rộng
perl.Perl5-64.PERL-MAN E.5.8.8.J 64-bit Perl Man Page cho IA
perl.Perl5-64.PERL-RUN E.5.8.8.J 64-bit Perl Binaries cho IA

Sử dụng perl từ Của HP porting trung tâm
Trung tâm cổng HP cố gắng theo kịp nhu cầu của khách hàng và phát hành các bản cập nhật từ Open
Nguồn cộng đồng. Có sẵn các mã nhị phân Perl được biên dịch trước là điều hiển nhiên, mặc dù "up-to-
date "là một cái gì đó tương đối. Tại thời điểm viết bài này, chỉ có perl-5.10.1 (với
5.16.3 là bản phát hành ổn định mới nhất theo quan điểm của người khuân vác).

Các trung tâm chuyển của HP bị giới hạn về những hệ thống nào họ được phép chuyển đến và chúng
thường chọn hai phiên bản hệ điều hành mới nhất có sẵn.

HP đã yêu cầu trung tâm chuyển các tệp nhị phân Nguồn mở từ /opt đến / usr / local, Vì vậy
nhị phân được sản xuất kể từ đầu tháng 2002 năm XNUMX được đặt tại / usr / local.

Một trong những URL của trung tâm cổng HP làhttp://hpux.connect.org.uk/> Hiện tại cảng
có sẵn được xây dựng với GNU gcc.

Nền tảng khác dựng sẵn perl nhị phân
Để nhận được nhiều kho perl gần đây hơn cho toàn bộ phạm vi HP-UX, hãy truy cập H.Merijn Brand's
trang web tạihttp://mirrors.develooper.com/hpux/#Perl>. Đọc kỹ các ghi chú để xem nếu
các phiên bản có sẵn phù hợp với nhu cầu của bạn.

Biên dịch Perl 5 on HP-UX
Khi biên dịch Perl, bạn phải sử dụng trình biên dịch C ANSI. Trình biên dịch C cung cấp tất cả
Hệ thống HP-UX là một trình biên dịch K&R chỉ nên được sử dụng để xây dựng các hạt nhân mới.

Perl có thể được biên dịch bằng trình biên dịch ANSI C của HP hoặc với gcc. Trước đây là
được khuyến nghị, vì nó không chỉ có thể biên dịch Perl mà không gặp khó khăn, mà còn có thể mất
lợi thế của các tính năng được liệt kê sau yêu cầu sử dụng lệnh dành riêng cho trình biên dịch HP-
cờ dòng.

Nếu bạn quyết định sử dụng gcc, hãy đảm bảo rằng quá trình cài đặt của bạn là gần đây và hoàn tất, đồng thời đảm bảo
để đọc tệp Perl INSTALL để biết thêm chi tiết cụ thể về gcc.

PA-RISC
Hệ thống HP9000 Unix của HP chạy trên chip Kiến trúc chính xác (PA-RISC) của riêng HP. HP-UX
được sử dụng để chạy trên dòng chip Motorola MC68000, nhưng bất kỳ máy nào có chip này
khá lỗi thời và tài liệu này sẽ không cố gắng giải quyết các vấn đề khi biên dịch Perl
trên chipset Motorola.

Phiên bản của PA-RISC tại thời điểm cập nhật cuối cùng của tài liệu này là 2.0, cũng là
cuối cùng sẽ có. Hệ thống HP PA-RISC thường được đề cập đến với mô tả mô hình
"HP 9000". CPU cuối cùng trong dòng này là PA-8900. Hỗ trợ cho PA-RISC được kiến ​​trúc
máy chính thức kết thúc như bảng sau:

Lộ trình kết thúc vòng đời của PA-RISC
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | Superdome | PA-8700 | Mùa xuân năm 2011 |
| Ngày 4-128 | | PA-8800 / sx1000 | Hè 2012 |
| lõi | | PA-8900 / sx1000 | Năm 2014 |
| | | PA-8900 / sx2000 | Năm 2015 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp7410, rp8400 | PA-8700 | Mùa xuân năm 2011 |
| 2-32 | rp7420, rp8420 | PA-8800 / sx1000 | Năm 2012 |
| lõi | rp7440, rp8440 | PA-8900 / sx1000 | Thu 2013 |
| | | PA-8900 / sx2000 | Năm 2015 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp44x0 | PA-8700 | Mùa xuân năm 2011 |
| 1-8 | | PA-8800 / rp44x0 | Năm 2012 |
| lõi | | PA-8900 / rp44x0 | Năm 2014 |
+ -------- + ---------------- + ---------------- + ------ ----------- +
| HP9000 | rp34x0 | PA-8700 | Mùa xuân năm 2011 |
| 1-4 | | PA-8800 / rp34x0 | Năm 2012 |
| lõi | | PA-8900 / rp34x0 | Năm 2014 |
+ -------- + ---------------- + ---------------- + ------ ----------- +

Từhttp://www.hp.com/products1/evolution/9000/faqs.html>

Ngày đặt hàng cuối cùng cho hệ thống HP 9000 là ngày 31 tháng 2008 năm XNUMX.

Danh sách đầy đủ các mô hình tại thời điểm hệ điều hành được xây dựng có trong tệp
/usr/sam/lib/mo/sched.models. Cột đầu tiên tương ứng với phần cuối cùng của đầu ra
của lệnh "model". Cột thứ hai là phiên bản PA-RISC và cột thứ ba là
loại chip chính xác được sử dụng. (Bắt đầu duyệt ở dưới cùng để tránh nhầm lẫn ;-)

# người mẫu
9000/800 / L1000-44
# grep L1000-44 /usr/sam/lib/mo/sched.models
L1000-44 2.0 PA8500

Tính di động Giữa PA-RISC Các phiên bản
Một tệp thực thi được biên dịch trên nền tảng PA-RISC 2.0 sẽ không thực thi trên PA-RISC 1.1
nền tảng, ngay cả khi chúng đang chạy cùng một phiên bản HP-UX. Nếu bạn đang xây dựng Perl trên
nền tảng PA-RISC 2.0 và muốn Perl đó cũng chạy trên PA-RISC 1.1, các cờ trình biên dịch
+ DAportable và + DS32 nên được sử dụng.

Không còn có thể biên dịch các tệp thực thi PA-RISC 1.0 trên PA-RISC 1.1 hoặc
2.0 nền tảng. Các cờ dòng lệnh được chấp nhận, nhưng kết quả thực thi sẽ không
chạy khi được chuyển sang hệ thống PA-RISC 1.0.

PA-RISC 1.0
Phiên bản gốc của PA-RISC, HP không còn bán bất kỳ hệ thống nào có chip này.

Các hệ thống sau chứa chip 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
Một bản nâng cấp cho thiết kế PA-RISC, nó đã xuất xưởng trong nhiều năm trong nhiều hệ thống khác nhau.

Các hệ thống sau có chip 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
Bản nâng cấp gần đây nhất cho thiết kế PA-RISC, nó đã thêm hỗ trợ cho dữ liệu số nguyên 64-bit.

Kể từ ngày cập nhật cuối cùng của tài liệu này, các hệ thống sau chứa PA-RISC 2.0
khoai tây chiên:

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

Ngay trước khi HP tiếp quản Compaq, một số hệ thống đã được đổi tên. liên kết chứa
giải thích đã chết, vì vậy đây là một bản tóm tắt ngắn:

Máy chủ HP 9000 A-Class, hiện được đổi tên thành dòng Máy chủ HP rp2400.
Máy chủ HP 9000 L-Class, hiện được đổi tên thành dòng Máy chủ HP rp5400.
Máy chủ HP 9000 N-Class, hiện được đổi tên thành Máy chủ HP rp7400.

rp2400, rp2405, rp2430, rp2450, rp2470, rp3410, rp3440, rp4410,
rp4440, rp5400, rp5405, rp5430, rp5450, rp5470, rp7400, rp7405,
rp7410, rp7420, rp7440, rp8400, rp8420, rp8440, Superdome

Quy ước đặt tên hiện tại là:

adddd
|||| `+ - 00 - 99 dung lượng tương đối & độ mới (nâng cấp, v.v.)
||| `--- số duy nhất cho mỗi kiến ​​trúc để đảm bảo khác nhau
||| các hệ thống không có cùng một cách đánh số
||| kiến trúc
|| `---- 1 - 9 xác định vị trí gia đình và / hoặc họ hàng
||
| `----- c = ia32 (cisc)
| p = pa-risc
| x = ia-64 (Itanium & Itanium 2)
| h = nhà ở
`------ t = tháp
r = tối ưu hóa giá đỡ
s = siêu có thể mở rộng
b = lưỡi
sa = thiết bị

Itanium Bộ xử lý Gia đình (IPF) HP-UX
HP-UX cũng chạy trên bộ xử lý Itanium mới. Điều này yêu cầu sử dụng một
phiên bản HP-UX (hiện tại là 11.23 hoặc 11i v2) và ngoại trừ một số khác biệt
chi tiết bên dưới và trong các phần sau, Perl sẽ biên dịch mà không gặp vấn đề gì.

Mặc dù mã nhị phân PA-RISC có thể chạy trên hệ thống Itanium, bạn không nên cố gắng sử dụng PA-
Phiên bản RISC của Perl trên hệ thống Itanium. Điều này là do các thư viện được chia sẻ được tạo trên một
Không thể tải hệ thống Itanium khi đang chạy tệp thực thi PA-RISC.

Hệ thống HP Itanium 2 thường được gọi với mô tả kiểu máy "HP Integrity".

Itani, Itanium 2 & Madison 6
HP cũng cung cấp các máy chủ có (các) bộ xử lý Itanium 128-bit. Cx26x0 được cho là có
Madison 6. Kể từ ngày cập nhật cuối cùng của tài liệu này, các hệ thống sau đây chứa
Chip Itanium hoặc Itanium 2 (có thể đã lỗi thời):

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

Để xem tất cả về máy của bạn, hãy nhập

# người mẫu
Máy chủ ia64 hp rx2600
# / usr / Contrib / bin / machinfo

HP-UX phiên bản
Không phải tất cả các kiến ​​trúc (PA = PA-RISC, IPF = Itanium Processor Family) đều hỗ trợ tất cả các phiên bản
của HP-UX, đây là danh sách ngắn

Phiên bản HP-UX Kiến trúc hạt nhân Hỗ trợ khi xuất xưởng
------------- ---------------- ---------------
10.20 32 bit PA ngày 30 tháng 2003 năm XNUMX
11.00 32/64 PA 31-2006-XNUMX
11.11 11i v1 32/64 PA 31-2015-XNUMX
11.22 11i v2 64 IPF 30 tháng 2004 năm XNUMX
11.23 11i v2 64 PA & IPF 31-2015-XNUMX
11.31 11i v3 64 PA & IPF 31-2020-31 (PA) 2022-XNUMX-XNUMX (IPF)

Xem danh sách đầy đủ hỗ trợ phần cứng / hệ điều hành và thời gian cuối dự kiến
<http://www.hp.com/go/hpuxservermatrix>

Xây dựng Năng động Phần mở rộng on HP-UX
HP-UX hỗ trợ các thư viện có thể tải động (thư viện chia sẻ). Thư viện được chia sẻ kết thúc
với hậu tố .sl. Trên hệ thống Itanium, chúng kết thúc bằng hậu tố .so.

Thư viện được chia sẻ được tạo trên nền tảng sử dụng một phiên bản PA-RISC cụ thể không thể sử dụng được
trên các nền tảng sử dụng phiên bản PA-RISC cũ hơn theo mặc định. Tuy nhiên, điều này ngược lại
khả năng tương thích có thể được kích hoạt bằng cách sử dụng cùng một cờ trình biên dịch + DAportable (với cùng một PA-
Cảnh báo RISC 1.0 đã đề cập ở trên).

Không thể tải các thư viện dùng chung được tạo trên nền tảng Itanium trên nền tảng PA-RISC.
Thư viện được chia sẻ được tạo trên nền tảng PA-RISC chỉ có thể được tải trên nền tảng Itanium
nếu đó là tệp thực thi PA-RISC đang cố tải thư viện PA-RISC. A PA-RISC
thư viện chia sẻ không thể được tải vào tệp thi hành Itanium hoặc ngược lại.

Để tạo một thư viện được chia sẻ, các bước sau phải được thực hiện:

1. Biên dịch mô-đun nguồn với cờ + z hoặc + Z để tạo mô-đun .o
trong đó chứa Mã độc lập vị trí (PIC). Trình liên kết sẽ
cho bạn biết trong bước tiếp theo nếu + Z là cần thiết.
(Đối với gcc, cờ thích hợp là -fpic hoặc -fPIC.)

2. Liên kết thư viện được chia sẻ bằng cờ -b. Nếu mã gọi
bất kỳ chức năng nào trong các thư viện hệ thống khác (ví dụ: libm), nó phải
được bao gồm trên dòng này.

(Lưu ý rằng các bước này thường được Makefile của tiện ích mở rộng xử lý tự động).

Nếu các thư viện phụ thuộc này không được liệt kê tại thời điểm tạo thư viện được chia sẻ, bạn sẽ nhận được
lỗi "Biểu tượng chưa được giải quyết" nghiêm trọng tại thời điểm chạy khi tải thư viện.

Bạn có thể tạo một thư viện dùng chung tham chiếu đến một thư viện khác, có thể là một
thư viện lưu trữ hoặc một thư viện chia sẻ. Nếu thư viện thứ hai này là thư viện dùng chung, thì đây là
được gọi là "thư viện phụ thuộc". Tên của thư viện phụ thuộc được ghi lại trong phần chia sẻ chính
thư viện, nhưng nó không được liên kết với thư viện được chia sẻ. Thay vào đó, nó được tải khi
thư viện chia sẻ chính được tải. Điều này có thể gây ra sự cố nếu bạn tạo tiện ích mở rộng trên một
hệ thống và chuyển nó sang một hệ thống khác, nơi các thư viện có thể không nằm trong cùng một hệ thống
đặt như trên hệ thống đầu tiên.

Nếu thư viện được giới thiệu là một thư viện lưu trữ, thì nó được coi như một bộ sưu tập đơn giản
trong tổng số các mô-đun .o (tất cả đều phải chứa PIC). Các mô-đun này sau đó được liên kết với
thư viện chia sẻ.

Lưu ý rằng bạn có thể tạo một thư viện có chứa một thư viện phụ thuộc
đã được liên kết thành perl.

Một số phần mở rộng, như DB_File và Compress :: Zlib sử dụng / yêu cầu các thư viện dựng sẵn cho
các phần mở rộng / mô-đun perl để hoạt động. Nếu các thư viện này được xây dựng bằng cách sử dụng mặc định
cấu hình, có thể xảy ra trường hợp bạn gặp lỗi như "sửa lỗi bộ tải không hợp lệ"
trong giai đoạn tải. HP nhận thức được vấn đề này. Tìm kiếm các diễn đàn HP-UX cxx-dev cho
thảo luận về chủ đề này. Câu trả lời ngắn gọn là tất cả mọi thứ (tất cả các thư viện,
mọi thứ) phải được biên dịch với "+ z" hoặc "+ Z" để là PIC (mã độc lập vị trí).
(Đối với gcc, đó sẽ là "-fpic" hoặc "-fPIC"). Trong HP-UX 11.00 hoặc mới hơn, lỗi trình liên kết
thông báo sẽ cho biết tên của tệp đối tượng vi phạm.

Một cách tiếp cận tổng quát hơn là can thiệp theo cách thủ công, như với ví dụ cho DB_File
mô-đun này yêu cầu libdb.sl của SleepyCat:

# cd ... / db-3.2.9 / build_unix
#vi Makefile
... thêm + Z vào tất cả các cflags để tạo các đối tượng được chia sẻ
CFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
-I / usr / local / bao gồm -I / usr / include / X11R6
CXXFLAGS= -c $(CPPFLAGS) +Z -Ae +O2 +Onolimit \
-I / usr / local / bao gồm -I / usr / include / X11R6

# Làm sạch
# làm
# mkdir tmp
# cd tmp
# ar x ../libdb.a
# ld -b -o libdb-3.2.sl * .o
# mv libdb-3.2.sl / Usr / local / lib
# rm * .o
# đĩa CD / Usr / local / lib
# rm -f libdb.sl
# ln -s libdb-3.2.sl libdb.sl

# cd ... / DB_File-1.76
# làm sạch
# Perl Makefile.PL
# làm
# làm bài kiểm tra
# thực hiện cài đặt

Kể từ db-4.2.x, không cần phải làm điều này bằng tay nữa. Sleepycat đã thay đổi
quá trình cấu hình để thêm + z trên HP-UX tự động.

# cd ... / db-4.2.25 / build_unix
# vi CFLAGS = + DD64 LDFLAGS = + DD64 ../dist/configure

sẽ hoạt động để tạo thư viện chia sẻ 64 bit cho HP-UX 11.00 và 11i.

Không thể liên kết các thư viện chia sẻ PA-RISC 1.0 được nữa (mặc dù lệnh-
cờ dòng vẫn còn).

Các tệp đối tượng PA-RISC và Itanium không thể hoán đổi cho nhau. Mặc dù bạn có thể sử dụng
ar để tạo thư viện lưu trữ các tệp đối tượng PA-RISC trên hệ thống Itanium, bạn không thể
liên kết chống lại nó bằng cách sử dụng một trình soạn thảo liên kết Itanium.

Sản phẩm HP ANSI C Trình biên dịch
Khi sử dụng trình biên dịch này để xây dựng Perl, bạn nên đảm bảo rằng cờ -Aa được thêm vào
các biến cpprun và cppstdin trong tệp config.sh (mặc dù hãy xem phần trên 64-bit
perl dưới đây). Nếu bạn đang sử dụng phiên bản gần đây của phân phối Perl, các cờ này
thiết lập tự động.

Mặc dù HP-UX 10.20 và 11.00 không được HP tích cực duy trì nữa, các bản cập nhật cho
trình biên dịch HP ANSI C thỉnh thoảng vẫn có sẵn và có thể bạn nên
xem các bản cập nhật có áp dụng được không. Tại thời điểm viết bài, các bản vá lỗi có sẵn
cho 11.00 sẽ được áp dụng là PHSS_35098, PHSS_35175, PHSS_35100, PHSS_33036 và
PHSS_33902). Nếu bạn có tài khoản SUM, bạn có thể sử dụng tài khoản này để tìm kiếm các bản cập nhật / vá lỗi.
Nhập "ANSI" làm từ khóa.

Sản phẩm GNU C Trình biên dịch
Khi bạn định sử dụng trình biên dịch GNU C (gcc) và bạn chưa có gcc, bạn có thể
hoặc tự xây dựng nó từ các nguồn (có sẵn từ ví dụ:
<http://gcc.gnu.org/mirrors.html>) hoặc tìm nạp tệp nhị phân dựng sẵn từ trung tâm chuyển HP
tạihttp://hpux.connect.org.uk/hppd/cgi-bin/search? term = gcc & Search = Tìm kiếm> hoặc từ
DSPP (bạn cần phải là thành viên) tại
<http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=2a08725cc2f02110725cc2f02110275d6e10RCRD&jumpid=reg_r1002_usen_c-001_title_r0001>
(Duyệt qua danh sách, vì thường có nhiều phiên bản của cùng một gói
có sẵn).

Hầu hết các phân phối được đề cập là kho. Thương hiệu H.Merijn đã tạo các mã nhị phân gcc dựng sẵn
có sẵn trênhttp://mirrors.develooper.com/hpux/> và / hoặchttp://www.cmve.net/~merijn/>
cho HP-UX 10.20 (chỉ 32bit), HP-UX 11.00, HP-UX 11.11 (HP-UX 11i v1) và HP-UX 11.23
(HP-UX 11i v2 PA-RISC) ở cả hai phiên bản 32-bit và 64-bit. Đối với HP-UX 11.23 IPF và HP-UX
11.31 kho IPF cũng có sẵn. Các phiên bản IPF không cần hai phiên bản GNU gcc.

Trên PA-RISC, bạn cần một trình biên dịch khác cho các ứng dụng 32 bit và cho 64 bit
các ứng dụng. Trên PA-RISC, các đối tượng 32 bit và các đối tượng 64 bit không trộn lẫn. Giai đoạn = Stage. Có
không có hành vi nào khác đối với HP C-ANSI-C hoặc GNU gcc. Vì vậy, nếu bạn yêu cầu mã nhị phân perl của mình
sử dụng thư viện 64 bit, như Oracle-64bit, bạn PHẢI xây dựng perl 64 bit.

Chỉ có thể xây dựng một gcc có khả năng 64-bit trên PA-RISC từ nguồn khi bạn có HP
Trình biên dịch C-ANSI C hoặc một tệp nhị phân 64-bit đã hoạt động của gcc có sẵn. Hiệu suất tốt nhất
cho perl đạt được với trình biên dịch gốc của HP.

Sử dụng Chó cái Các tập tin với Perl on HP-UX
Bắt đầu với HP-UX phiên bản 10.20, các tệp lớn hơn 2GB (2 ^ 31 byte) có thể được tạo và
thao túng. Ba phương pháp riêng biệt để làm điều này có sẵn. Trong số các phương pháp này,
phương pháp tốt nhất cho Perl là biên dịch bằng cách sử dụng cờ -Duselargefiles để cấu hình. Cái này
khiến Perl được biên dịch bằng cách sử dụng các cấu trúc và hàm trong đó chúng rộng 64 bit,
thay vì rộng 32 bit. (Lưu ý rằng điều này sẽ chỉ hoạt động với trình biên dịch ANSI C. của HP. Nếu
bạn muốn biên dịch Perl bằng gcc, bạn sẽ phải tải một phiên bản của trình biên dịch
hỗ trợ các hoạt động 64-bit. Xem ở trên để biết nơi tìm nó.)

Có một số hạn chế đối với cách tiếp cận này. Một là bất kỳ phần mở rộng nào gọi bất kỳ
hàm C thao tác tệp sẽ cần được biên dịch lại (chỉ cần làm theo "perl thông thường
Makefile.PL; làm; làm bài kiểm tra; thực hiện quy trình cài đặt ").

Danh sách các hàm sẽ cần biên dịch lại là:
tạo, fgetpos, fopen,
mở tự do, fsetpos, fstat,
fstatvfs, fstatvfsdev, ftruncate,
ftw, lockf, lseek,
lstat, mmap, nftw,
mở, prealloc, stat,
statvfs, statvfsdev, tmpfile,
cắt ngắn, getrlimit, setrlimit

Một nhược điểm khác là chỉ có hiệu lực cho các phiên bản Perl trước 5.6.0. Hạn chế này là
các chức năng tìm kiếm và thông báo (cả phiên bản nội trang và phiên bản mô-đun POSIX) sẽ không
thực hiện một cách chính xác.

Chúng tôi thực sự khuyên bạn nên sử dụng cờ này khi bạn chạy Cấu hình. Nếu bạn không
làm điều này, nhưng sau đó trả lời câu hỏi về các tệp lớn khi Cấu hình hỏi bạn, bạn có thể
nhận được cấu hình không thể được biên dịch hoặc không hoạt động như mong đợi.

Có ren Perl on HP-UX
Có thể biên dịch phiên bản Perl phân luồng trên bất kỳ phiên bản nào của HP-UX trước 10.30,
nhưng chúng tôi khuyên bạn nên chạy ít nhất trên HP-UX 11.00.

Để biên dịch Perl với các luồng, hãy thêm -Dusethreads vào các đối số của Cấu hình. Xác minh rằng
cờ trình biên dịch -D_POSIX_C_SOURCE = 199506L tự động được thêm vào danh sách cờ.
Đồng thời đảm bảo rằng -lpthread được liệt kê trước -lc trong danh sách các thư viện để liên kết Perl
với. Các gợi ý được cung cấp cho HP-UX trong quá trình Định cấu hình sẽ rất cố gắng để thực hiện đúng
cho bạn.

Các phiên bản HP-UX trước 10.30 yêu cầu cài đặt riêng thư viện luồng POSIX
Bưu kiện. Hai ví dụ là gói HP DCE, có sẵn trên "HP-UX Hardware Extensions 3.0,
Cài đặt và Hệ điều hành cốt lõi, Bản phát hành 10.20, tháng 1999 năm 3920 (B13941-XNUMX) "hoặc PTH có sẵn miễn phí
gói, có sẵn trên trang của H.Merijn (http://mirrors.develooper.com/hpux/>). Việc sử dụng
PTH sẽ không được hỗ trợ trong perl-5.12 trở lên và khá lỗi trong 5.11.x.

Nếu bạn định sử dụng gói HP DCE, thư viện được sử dụng để phân luồng là
/usr/lib/libcma.sl, nhưng đã có nhiều bản cập nhật của thư viện đó theo thời gian. Perl
sẽ xây dựng với phiên bản đầu tiên, nhưng nó sẽ không vượt qua bộ thử nghiệm. Oracle cũ hơn
các phiên bản có thể là một lý do thuyết phục để không cập nhật thư viện đó, nếu không, vui lòng tìm một
phiên bản mới hơn ở một trong các bản vá sau: PHSS_19739, PHSS_20608 hoặc PHSS_23672

đầu ra được định dạng lại:

d3:/ Usr / lib 106> gì libcma - *. 1
libcma-00000.1:
HP DCE / 9000 1.5 Mô-đun: libcma.sl (Xuất)
Ngày: 29 tháng 1996 năm 22 11:24:XNUMX
libcma-19739.1:
HP DCE / 9000 1.5 PHSS_19739-40 Mô-đun: libcma.sl (Xuất)
Ngày: 4 tháng 1999 năm 01 59:07:XNUMX
libcma-20608.1:
HP DCE / 9000 1.5 PHSS_20608 Mô-đun: libcma.1 (Xuất)
Ngày: 8 tháng 1999 năm 18 41:23:XNUMX
libcma-23672.1:
HP DCE / 9000 1.5 PHSS_23672 Mô-đun: libcma.1 (Xuất)
Ngày: 9 tháng 2001 năm 10 01:06:XNUMX
d3:/ Usr / lib 107>

Nếu bạn chọn gói PTH, hãy sử dụng swinstall để cài đặt pth ở vị trí mặc định
(/ opt / pth), và sau đó tạo các liên kết tượng trưng đến các thư viện từ / Usr / lib

# đĩa CD / Usr / lib
# ln -s / opt / pth / lib / libpth *.

Để xây dựng perl hỗ trợ Oracle, nó cần được liên kết với libcl và libpthread. Cho nên
ngay cả khi perl của bạn là một bản dựng chưa đọc, các thư viện này có thể được yêu cầu. Xem "Oracle
trên HP-UX "bên dưới.

64-bit Perl on HP-UX
Bắt đầu với HP-UX 11.00, các chương trình được biên dịch theo HP-UX có thể tận dụng lợi thế của LP64
môi trường lập trình (LP64 có nghĩa là Dài và Con trỏ rộng 64 bit), trong đó
các biến sẽ có thể chứa các số lớn hơn 2 ^ 32 với độ chính xác hoàn toàn. Perl có
được chứng minh là nhất quán và đáng tin cậy ở chế độ 64bit kể từ 5.8.1 trên tất cả HP-UX 11.xx.

Kể từ ngày của tài liệu này, Perl hoàn toàn tuân thủ 64-bit trên HP-UX 11.00 trở lên cho
cả bản dựng cc- và gcc. Nếu bạn chuẩn bị xây dựng perl 64-bit với GNU gcc, vui lòng đọc
phần gcc cẩn thận.

Nếu người dùng có nhu cầu biên dịch Perl trong môi trường LP64, hãy sử dụng
-Duse64bitall cờ để cấu hình. Điều này sẽ buộc Perl phải được biên dịch trong một LP64 thuần túy
môi trường (với cờ + DD64 cho HP C-ANSI-C, không có tùy chọn bổ sung cho GNU gcc
64-bit trên PA-RISC và với -mlp64 cho GNU gcc trên Itanium). Nếu bạn muốn biên dịch Perl
sử dụng gcc, bạn sẽ phải tải phiên bản trình biên dịch hỗ trợ 64-bit
hoạt động.)

Bạn cũng có thể sử dụng cờ -Duse64bitint để định cấu hình. Mặc dù có một số nhỏ
sự khác biệt giữa biên dịch Perl với cờ này so với cờ -Duse64bitall, chúng
sẽ không đáng chú ý từ quan điểm của người dùng Perl. Khi cấu hình -Duse64bitint
sử dụng gcc 64 bit trên kiến ​​trúc pa-risc, -Duse64bitint được quảng cáo một cách âm thầm
-Duse64bitall.

Trong cả hai trường hợp, bạn nên sử dụng các cờ này khi chạy Cấu hình.
Nếu bạn không sử dụng, hãy làm điều này, nhưng sau đó hãy trả lời các câu hỏi về số 64-bit khi
Cấu hình hỏi bạn, bạn có thể nhận được một cấu hình không thể được biên dịch hoặc không
chức năng như mong đợi.

Oracle on HP-UX
Sử dụng perl để kết nối với cơ sở dữ liệu Oracle thông qua DBI và DBD :: Oracle đã gây ra rất nhiều
người đau đầu nhiều. Đọc README.hpux trong DBD :: Oracle để biết thêm thông tin. Các
lý do để đề cập đến nó ở đây là Oracle yêu cầu một perl được xây dựng bằng libcl và libpthread,
thứ hai ngay cả khi perl được xây dựng mà không có chủ đề. Xây dựng perl bằng cách sử dụng tất cả các giá trị mặc định, nhưng
vẫn cho phép xây dựng DBD :: Oracle sau này có thể đạt được bằng cách sử dụng

Định cấu hình -A prepend: libswworthy = 'cl pthread' ...

Đừng quên khoảng trống trước dấu ngoặc kép.

Cũng lưu ý rằng điều này không (chưa) hoạt động với tất cả các cấu hình, nó được biết là không thành công với
Phiên bản 64-bit của GCC.

GDBM Chủ đề on HP-UX
Nếu bạn cố gắng biên dịch các luồng Perl với (POSIX) trên hệ thống 11.X và cũng liên kết trong
Thư viện GDBM, sau đó Perl sẽ ngay lập tức kết xuất lõi khi nó khởi động. Cách giải quyết duy nhất
tại thời điểm này là liên kết lại thư viện GDBM dưới 11.X, sau đó liên kết lại nó vào Perl.

lỗi có thể hiển thị một cái gì đó như:

Lỗi nội bộ pthread: nội dung: __libc_reinit () không thành công, tệp: ../pthreads/pthread.c,
dòng: 1096 Con trỏ trở lại là 0xc082bf33 sh: 5345 Quit (coredump)

và Cấu hình sẽ từ bỏ.

NFS hệ thống tập tin thời gian sử dụng(2) on HP-UX
Nếu bạn đang biên dịch Perl trên hệ thống tệp NFS được gắn kết từ xa, io / fs.t kiểm tra có thể không thành công
trong bài kiểm tra số 18. Đây dường như là một lỗi trong HP-UX và hiện không có bản sửa lỗi nào.

HP-UX Hạt nhân Thông số (maxdsiz) cho Biên dịch Perl
Theo mặc định, HP-UX được định cấu hình với kích thước phân đoạn dữ liệu tối đa là 64MB. Điều này cũng vậy
nhỏ để biên dịch chính xác Perl với các mức tối ưu hóa tối đa. Bạn có thể tăng
kích thước của tham số hạt nhân maxdsiz thông qua việc sử dụng SAM.

Khi sử dụng phiên bản GUI của SAM, hãy nhấp vào biểu tượng Cấu hình hạt nhân, sau đó
Biểu tượng Tham số có thể định cấu hình. Cuộn xuống và chọn dòng maxdsiz. Từ các Hành động
, chọn mục Sửa đổi thông số có thể cấu hình. Chèn công thức mới vào
Hộp Công thức / Giá trị. Sau đó làm theo hướng dẫn để xây dựng lại hạt nhân của bạn và khởi động lại
hệ thống.

Nói chung, giá trị 256MB (hoặc "256 * 1024 * 1024") là đủ để Perl biên dịch tại
tối ưu hóa tối đa.

nss_delete cốt lõi đổ từ op / pwent or op / grent


Bạn có thể nhận được kết xuất lõi lỗi bus từ các bài kiểm tra op / pwent hoặc op / grent. Nếu được biên dịch bằng -g
bạn sẽ thấy một dấu vết ngăn xếp giống như sau:

# 0 0xc004216c trong () từ /usr/lib/libc.2
# 1 0xc00d7550 trong __nss_src_state_destr () từ /usr/lib/libc.2
# 2 0xc00d7768 trong __nss_src_state_destr () từ /usr/lib/libc.2
# 3 0xc00d78a8 trong nss_delete () từ /usr/lib/libc.2
# 4 0xc01126d8 trong endpwent () từ /usr/lib/libc.2
# 5 0xd1950 trong Perl_pp_epwent () từ ./perl
# 6 0x94d3c trong Perl_runops_standard () từ ./perl
# 7 0x23728 trong S_run_body () từ ./perl
# 8 0x23428 trong perl_run () từ ./perl
# 9 0x2005c trong main () từ ./perl

Chìa khóa ở đây là lệnh gọi "nss_delete". Một giải pháp cho lỗi này dường như là tạo
thêm vào tệp /etc/nsswitch.conf (ít nhất) những dòng sau

nhóm: tệp
passwd: tệp

Cho dù bạn đang sử dụng NIS không quan trọng. Thật đáng kinh ngạc, cùng một lỗi cũng ảnh hưởng đến
năng lượng mặt trời.

lỗi: dán ")" "l" làm không cho a hợp lệ sơ chế mã thông báo


Có vẻ như có một tệp tiêu đề hệ thống bị hỏng trong HP-UX 11.00 làm hỏng việc xây dựng perl trong
Chế độ 32 bit với GNU gcc-4.x gây ra lỗi này. Tệp tương tự cho HP-UX 11.11 (mặc dù
tệp cũ hơn) không hiển thị lỗi này và có định nghĩa chính xác, vì vậy tốt nhất
cách khắc phục là vá tiêu đề để khớp với:

--- /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)
#else / * __LP64 * /
#define INT32_C (__ c) __CONCAT __ (__ c, l)
- # định nghĩa UINT32_C (__ c) __CONCAT __ (__ CONCAT_U __ (__ c), l)
+ # xác định UINT32_C (__ c) __CONCAT __ (__ c, ul)
#endif / * __LP64 * /

#define INT64_C (__ c) __CONCAT_L __ (__ c, l)

Khai báo lại of "đường dẫn gửi" với a khác nhau là gắn tốt nghiệp lớp XNUMX người chỉ định


Các cảnh báo biên dịch sau đây có thể xảy ra trong các bản phát hành HP-UX sớm hơn 11.31 nhưng
vô hại:

cc: "/usr/include/sys/socket.h", dòng 535: cảnh báo 562: Khai báo lại "sendfile" với mã định danh lớp lưu trữ khác: "sendfile" sẽ có liên kết nội bộ.
cc: "/usr/include/sys/socket.h", dòng 536: cảnh báo 562: Khai báo lại "sendpath" với mã định danh lớp lưu trữ khác: "sendpath" sẽ có liên kết nội bộ.

Chúng dường như được gây ra bởi các tệp tiêu đề hệ thống bị hỏng và các dự án mã nguồn mở khác
đang nhìn thấy chúng. Các bản vá HP-UX sau sẽ làm cho cảnh báo biến mất:

CR JAGae12001: PHNE_27063
Cảnh báo 562 trên sys / socket.h do khai báo lại các nguyên mẫu

CR JAGae16787:
Cảnh báo 562 từ đường dẫn gửi socket.h / sendfile -D_FILEFFSET_BITS = 64

CR JAGae73470 (11.23)
ER: Biên dịch socket.h với cc -D_FILEFFSET_BITS = 64 cảnh báo 267/562

hỗn hợp


Bản vá HP-UX 11 Y2K "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000 Patch Bundle" đã được
đã báo cáo để phá vỡ bài kiểm tra io / fs # 18 kiểm tra xem utime () có thể thay đổi dấu thời gian.
Bản vá Y2K dường như bị hỏng utime () để qua NFS, dấu thời gian không bị thay đổi
(trên hệ thống tệp cục bộ utime () vẫn hoạt động). Điều này có thể đã được khắc phục trên hệ thống của bạn bởi
ngay bây giờ.

Sử dụng perlhpux trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Nguyên tử
    Nguyên tử
    Atom là một trình soạn thảo văn bản
    hiện đại, dễ tiếp cận và đầy đủ tính năng.
    Nó cũng có thể dễ dàng tùy chỉnh- bạn
    có thể tùy chỉnh nó để làm bất cứ điều gì và
    có thể ...
    Tải xuống nguyên tử
  • 2
    Osu!
    Osu!
    Osu! là một trò chơi nhịp điệu đơn giản với một cái giếng
    nghĩ ra đường cong học tập cho người chơi
    của tất cả các cấp độ kỹ năng. Một trong những tuyệt vời
    các khía cạnh của Osu! là nó là
    cộng đồng-dr ...
    Tải xuống Osu!
  • 3
    LIBPNG: thư viện tham khảo PNG
    LIBPNG: thư viện tham khảo PNG
    Thư viện tài liệu tham khảo để hỗ trợ các
    Định dạng đồ họa mạng di động (PNG).
    Đối tượng: Nhà phát triển. Lập trình
    Ngôn ngữ: C. Đây là một ứng dụng
    cũng có thể...
    Tải xuống LIBPNG: Thư viện tham khảo PNG
  • 4
    Máy dò kim loại dựa trên RP2040
    Máy dò kim loại dựa trên RP2040
    Dựa trên bảng Raspberry Pi Pico, điều này
    máy dò kim loại được bao gồm trong xung
    loại máy dò kim loại cảm ứng, với
    những thuận lợi và khó khăn được biết đến.
    RP ...
    Tải xuống máy dò kim loại dựa trên RP2040
  • 5
    Quản lý PAC
    Quản lý PAC
    PAC là sự thay thế Perl / GTK cho
    SecureCRT/Putty/vv (linux
    ssh/telnet/... gui)... Nó cung cấp một GUI
    để định cấu hình kết nối: người dùng,
    mật khẩu, quy định EXPECT...
    Tải xuống Trình quản lý PAC
  • 6
    GeoServer
    GeoServer
    GeoServer là một phần mềm mã nguồn mở
    máy chủ được viết bằng Java cho phép người dùng
    để chia sẻ và chỉnh sửa dữ liệu không gian địa lý.
    Được thiết kế cho khả năng tương tác, nó
    xuất bản da ...
    Tải xuống GeoServer
  • Khác »

Lệnh Linux

Ad