זוהי הפקודה perltru64 שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
perltru64 - גרסה 5 של Perl ב-Tru64 (לשעבר ידועה בשם Digital UNIX שנודעה בעבר כ- DEC
OSF/1) מערכות
תיאור
מסמך זה מתאר תכונות שונות של HP (לשעבר של Compaq, לשעבר של Digital)
מערכת הפעלה Unix (Tru64) שתשפיע על האופן שבו Perl גרסה 5 (להלן רק Perl) היא
מוגדר, הידור ו/או פועל.
קומפילציה פרל 5 on Tru64
המהדר המומלץ לשימוש ב-Tru64 הוא המהדר C המקורי. המהדר המקומי
מייצר קוד הרבה יותר מהיר (הפרש המהירות מורגש: כמה עשרות אחוזים)
וגם קוד נכון יותר: אם אתה שוקל להשתמש במהדר GNU C כדאי להשתמש
לכל הפחות מהדורה של 2.95.3 מכיוון שכל מהדורות ה-gcc הישנות יותר ידועות כמפיקות
קוד שבור בעת קומפילציה של Perl. ביטוי אחד של השבר הזה הוא ה-lib/sdbm
בדיקת ליבת השלכת; אחר הוא רבים מהמבחנים op/regexp ו-op/pat, או ext/storable
ליבת dumping (הדפוס המדויק של כשלים בהתאם לשחרור ואופטימיזציה של GCC
דגלים).
ידוע כי gcc 3.2.1 עובד בסדר עם Perl 5.8.0. עם זאת, בעת אופטימיזציה של toke.c gcc
אוהב להחזיק הרבה זיכרון, נראה ש-256 מגה-בייט מספיקים. הגדרת ברירת המחדל של
קטע נתוני התהליך ב-Tru64 צריך להיות גיגה-בייט אחד, אבל ייתכן שיש אתרים/הגדרות
הוריד את זה. תהליך ההגדרה של Perl בודק גבולות תהליכים נמוכים מדי, וכן
מוריד את האופטימיזציה עבור toke.c במידת הצורך, וגם נותן עצות כיצד להעלות
התהליך מגביל.
כמו כן, Configure עשוי לבטל עם
לבנות שרשור פרל? [n]
Configure[2437]: שגיאת תחביר בשורה 1: 'config.sh' לא צפויה.
זה מצביע על כך ש-Configure מופעלת עם מעטפת Korn שבורה (למרות שאתה חושב
אתה משתמש במעטפת של Bourne באמצעות "sh Configure" או "./Configure"). קליפת הקורן
באג דווח ל-Compaq החל מפברואר 1999 אבל בינתיים, הסיבה ksh
נמצא בשימוש הוא שמשתנה הסביבה BIN_SH מוגדר ל-'xpg4'. זה גורם
/ Bin / sh להאציל את חובותיו ל-/bin/posix/sh (a ksh). בטל את ההגדרה של משתנה הסביבה
והפעל מחדש את Configure.
שימוש גדול קבצים עם פרל on Tru64
ב-Tru64 Perl מסוגלת להשתמש אוטומטית בקבצים גדולים, כלומר קבצים גדולים מ-2
ג'יגה-בייט, אין צורך להשתמש באפשרות Configure -Duselargefiles כמתואר ב
התקן (אם כי השימוש באופציה אינו מזיק).
הברגה פרל on Tru64
אם ברצונך להשתמש בשרשורים, עליך להשתמש בעיקר במודל ה-Threads של Perl 5.8.0 על ידי
הפעלת Configure עם -Duseithreads.
שרשור Perl הולך לעבוד רק ב-Tru64 4.0 וגרסאות חדשות יותר, הפעלה ישנות יותר
מהדורות כמו 3.2 כנראה לא יעבדו כמו שצריך עם שרשורים.
ב-Tru64 V5 (לפחות V5.1A, V5.1B) אתה לא יכול לבנות Perl משורשר עם gcc מכיוון שה-
כותרת מערכת בודק במפורש עבור מהדרים C נתמכים, gcc (לפחות
3.2.2) לא להיות אחד מהם. אבל מהדר מערכת C אמור לעבוד בסדר גמור.
ארוך משחקי זוגות on Tru64
אתה לא יכול להגדיר את Perl להשתמש בכפילים ארוכים אלא אם כן יש לך לפחות Tru64 V5.0, ה
תמיכה כפולה ארוכה פשוט לא הייתה מספיק פונקציונלית לפני כן. התצורה של פרל תהיה
לעקוף ניסיונות להשתמש בכפילים הארוכים (תוכלו לשים לב לכך על ידי הגדרה של בירור
כי modfl() הפונקציה לא עובדת כמו שצריך).
בזמן כתיבת שורות אלה (יוני 2002), יש באג ידוע בהדפסת Tru64 libc
של כפילים ארוכים כאשר לא משתמשים בסימון "e". הערכים נכונים ושמישים, אבל אתה
רק מספר מוגבל של ספרות יוצג אלא אם כן אתה מכריח את הבעיה באמצעות "printf
"%.33e",$num" או דומה. עבור גרסאות Tru64 V5.0A עד V5.1A, צפוי תיקון
מתישהו לאחר שחרורו של perl 5.8.0. אם ה-libc שלך עדיין לא תוקן, תקבל
אזהרה מ-Configure בעת בחירת כפילים ארוכים.
DB_קובץ בדיקות אי on Tru64
בדיקות DB_File (db-btree.t, db-hash.t, db-recno.t) עלולות להיכשל. התקנת גרסה חדשה יותר
גרסה של Berkeley DB לתוך המערכת ודגלי המהדר -I ו-L והקישור
להציג התנגשויות גרסאות עם הכותרות והספריות של DB 1.85 שהגיעו עם
Tru64. לדוגמה, ערבוב של ספריית DB v2 עם כותרות DB v1 הוא רעיון רע. שעון
צא לאפשרויות Configure -Dlocincpth ו-Dloclibpth, ובדוק את שלך /usr/local/include
ו / usr / local / lib מכיוון שהם כלולים כברירת מחדל.
האפשרות השנייה היא להורות באופן מפורש ל-Configure לזהות את Berkeley DB החדש יותר
התקנה, על ידי אספקת הספריות הנכונות עם "-Dlocincpth=/some/include" ו
"-Dloclibpth=/some/lib" ו לפני הפעלת "עשה בדיקה" הגדרת LD_LIBRARY_PATH שלך ל
/some/lib.
האפשרות השלישית היא לעקוף את הבעיה על ידי השבתת ה-DB_File לחלוטין כאשר
בנה Perl על ידי ציון -Ui_db ל-Configure, ולאחר מכן שימוש במודול BerkeleyDB מ
CPAN במקום DB_File. ה-BerkeleyDB עובד עם Berkeley DB גרסאות 2.* ומעלה.
ה-Berkeley DB 4.1.25 נבדק עם Tru64 V5.1A ונמצא שהוא עובד. האחרון
ניתן למצוא את Berkeley DB מhttp://www.sleepycat.com>.
64 סיבית פרל on Tru64
ב-Tru64 המספרים השלמים של Perl הם אוטומטית ברוחב של 64 סיביות, אין צורך להשתמש ב-
הגדר אפשרות -Duse64bitint כמתואר ב-INSTALL. באופן דומה, אין צורך
-Duse64bitall מכיוון שהמצביעים הם אוטומטית ברוחב של 64 סיביות.
אזהרות על נקודה צפה הצפה מתי קומפילציה פרל on Tru64
בעת קומפילציה של Perl ב-Tru64 ייתכן (בהתאם למהדורת המהדר) תראה שתי אזהרות
כזה
cc: אזהרה: numeric.c, שורה 104: בהצהרה זו, נקודה צפה
הצפה מתרחשת בהערכת הביטוי "1.8e308". (floatoverfl)
החזר HUGE_VAL;
-----------^
ובעת הידור של תוסף POSIX
cc: אזהרה: const-c.inc, שורה 2007: בהצהרה זו, נקודה צפה
הצפה מתרחשת בהערכת הביטוי "1.8e308". (floatoverfl)
החזר HUGE_VAL;
------------------- ^
מספרי השורות המדויקים עשויים להשתנות בין גרסאות Perl. האזהרות שפירות ויכולות להיות
התעלמו: במהדורות מאוחרות יותר של מהדר C האזהרות צריכות להיעלם.
כאשר הקובץ pp_sys.c מתבצע הידור, ייתכן (בהתאם למערכת ההפעלה
שחרור) ראה דגל מהדר נוסף בשימוש: "-DNO_EFF_ONLY_OK". זה נורמלי
ומתייחס לתכונה שרלוונטית רק אם אתה משתמש בפרגמת "בדיקת הקבצים". במבוגרים יותר
מהדורות של מערכת ההפעלה התכונה נשברה וה-NO_EFF_ONLY_OK מורה
Perl לא להשתמש בתכונה.
בדיקות פרל on Tru64
במהלך "מבחן עשה" ה-"comp/cpp" ידלג מכיוון שב-Tru64 לא ניתן לבדוק אותו
לפני התקנת Perl. הבדיקה מתייחסת לשימוש באפשרות "-P" של Perl.
ext/ODBM_File/odbm מִבְחָן כושל עם סטטי בונה
ידוע שה-ext/ODBM_File/odbm נכשל בבנייה סטטית (Configure -Uusedl) עקב
באג ידוע בספריית libdbm הסטטית של Tru64. החדשות הטובות הן שסביר להניח שלא
צריך אי פעם להשתמש בסיומת ODBM_File מכיוון שמתקדם יותר NDBM_File עובד מצוין, לא
ציין את DB_File המתקדם עוד יותר.
פרל נכשל כי Of לא פתור סמל sockatmark
אם אתה מקבל שגיאה כמו
לא ניתן לטעון '.../OSF1/lib/perl5/5.8.0/alpha-dec_osf/auto/IO/IO.so' עבור מודול IO: סמל לא פתור ב- .../lib/perl5/5.8.0/ alpha-dec_osf/auto/IO/IO.so: sockatmark בכתובת .../lib/perl5/5.8.0/alpha-dec_osf/XSLoader.pm שורה 75.
עליך לבצע קומפילציה מחדש של Perl שלך ב-Tru64 4.0D או לשדרג את ה-Tru64 4.0D שלך ל-
לפחות 4.0F: ה sockatmark() שיחת מערכת נוספה ב-Tru64 4.0F, וסיומת ה-IO
מתייחס לסמל הזה.
read_cur_obj_info: רע פילה קסם מספר
ייתכן שאתה מערבב את ה-Tru64 cc/ar/ld עם ה-GNU gcc/ar/ld. זה אולי עובד, אבל לפעמים
זה לא (ייתכן ש-gcc או GNU utils שלך הולדרו עבור מהדורת מערכת הפעלה לא תואמת).
נסה את 'which ld' ו-'which ld' (או נסה את 'ar --version' ו-'ld --version', שעובדים רק
עבור הכלים של GNU, ויכריזו על עצמם שהם כאלה), ותתאים את ה-PATH שלך כך
אתה משתמש באופן עקבי בכלים המקוריים או בכלים של GNU. לאחר תיקון שלך
PATH, עליך לבצע 'make distclean' ולהתחיל את כל הדרך מהפעלת ה-Configure
מכיוון שאולי יש לך מצב די מבולבל.
השתמש ב-perltru64 באינטרנט באמצעות שירותי onworks.net