GoGPT Best VPN GoSearch

OnWorks ഫെവിക്കോൺ

perlsolaris - ക്ലൗഡിൽ ഓൺലൈനിൽ

ഉബുണ്ടു ഓൺലൈൻ, ഫെഡോറ ഓൺലൈൻ, വിൻഡോസ് ഓൺലൈൻ എമുലേറ്റർ അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിവയിലൂടെ OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ perlsolaris പ്രവർത്തിപ്പിക്കുക

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന കമാൻഡ് perlsolaris ആണിത്.

പട്ടിക:

NAME


perlsolaris - സോളാരിസ് സിസ്റ്റങ്ങളിൽ പേൾ പതിപ്പ് 5

വിവരണം


ഈ ഡോക്യുമെന്റ് സൺ സോളാരിസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ വിവിധ സവിശേഷതകൾ വിവരിക്കുന്നു
Perl പതിപ്പ് 5 (ഇനി മുതൽ perl) കംപൈൽ ചെയ്യുന്നതെങ്ങനെ എന്നതിനെ ബാധിക്കുകയും ഒപ്പം/അല്ലെങ്കിൽ റൺ ചെയ്യുകയും ചെയ്യുന്നു. ചില പ്രശ്നങ്ങൾ
പഴയ SunOS 4.x മായി ബന്ധപ്പെട്ടതും ചർച്ച ചെയ്യപ്പെടുന്നു, അവ കാലഹരണപ്പെട്ടതായിരിക്കാം.

മിക്കവാറും, എല്ലാം പ്രവർത്തിക്കണം.

സോളാരിസ് 8 മുതൽ, perl5.00503 (അല്ലെങ്കിൽ അതിലും ഉയർന്നത്) ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനൊപ്പം വിതരണം ചെയ്യുന്നു, അതിനാൽ
നിങ്ങൾക്ക് perl-ന്റെ ഒരു പുതിയ പതിപ്പ് നിർമ്മിക്കേണ്ടതില്ല. സൂര്യൻ നൽകിയ പതിപ്പ്
/usr/perl5-ൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട് /usr/bin/perl ചൂണ്ടിക്കാണിക്കുന്നു /usr/perl5/bin/perl. ചെയ്യരുത്
നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് നിങ്ങൾക്ക് ശരിക്കും അറിയില്ലെങ്കിൽ ആ ഇൻസ്റ്റാളേഷൻ ശല്യപ്പെടുത്തുക. നിങ്ങൾ നീക്കം ചെയ്യുകയാണെങ്കിൽ
OS-ൽ നൽകിയിരിക്കുന്ന perl, നിങ്ങളുടെ സിസ്റ്റത്തിന്റെ ചില ബിറ്റുകൾ പ്രവർത്തനരഹിതമാക്കും. നിങ്ങൾ എങ്കിൽ
perl-ന്റെ ഒരു പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്നു, അതിൽ നിന്ന് മറ്റൊരു പ്രിഫിക്‌സിന് കീഴിൽ ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക
/usr/perl5. ഉപയോഗിക്കാനുള്ള സാധാരണ പ്രിഫിക്സുകൾ / usr / local കൂടാതെ /opt/perl.

ലിങ്ക് മാറ്റുന്നതിലൂടെ നിങ്ങളുടെ perl പതിപ്പ് എല്ലാ ഉപയോക്താക്കളുടെയും PATH-ൽ ഉൾപ്പെടുത്താൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം
/usr/bin/perl. സോളാരിസിനൊപ്പം ഷിപ്പ് ചെയ്ത മിക്ക perl സ്ക്രിപ്റ്റുകളും ഒരു ഉപയോഗിക്കുന്നതിനാൽ ഇത് ഒരുപക്ഷേ ശരിയാണ്
വ്യക്തമായ പാത. (ഇതുപോലുള്ള ചില ഒഴിവാക്കലുകൾ ഉണ്ട് /usr/bin/rpm2cpio ഒപ്പം
/etc/rcm/scripts/README, എന്നാൽ ഇവയും യഥാർത്ഥ പതിപ്പിനേക്കാൾ സാധാരണമാണ്
perl ഒരുപക്ഷേ വളരെയധികം കാര്യമാക്കേണ്ടതില്ല.)

സോളാരിസ്-നിർദ്ദിഷ്ട മൊഡ്യൂളുകളുടെ ശ്രേണിയുള്ള സോളാരിസ് കപ്പലുകൾ. നിങ്ങൾ സ്വന്തമായി ഇൻസ്റ്റാൾ ചെയ്യാൻ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ
ഈ മൊഡ്യൂളുകളിൽ പലതിന്റെയും ഉറവിടം perl-ന്റെ പതിപ്പ് CPAN-ൽ ലഭ്യമാണ്
സൂര്യന്റെ കീഴിൽ::Solaris:: നെയിംസ്പേസ്.

സോളാരിസിൽ പേളിന്റെ രണ്ട് പതിപ്പുകൾ ഉൾപ്പെട്ടേക്കാം, ഉദാ സോളാരിസ് 9-ൽ 5.005_03, 5.6.1 എന്നിവ ഉൾപ്പെടുന്നു.
പിന്നീടുള്ള perl പതിപ്പ് വരുന്ന സന്ദർഭങ്ങളിൽ Solaris റിലീസുകളിലുടനീളം സ്ഥിരത നൽകുന്നതിനാണ് ഇത്
മുമ്പത്തെ സോളാരിസ് പതിപ്പിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന പതിപ്പുമായി പൊരുത്തക്കേടുകൾ ഉണ്ട്. ദി
സ്ഥിരസ്ഥിതി perl പതിപ്പ് എല്ലായ്‌പ്പോഴും ഏറ്റവും പുതിയതായിരിക്കും, പൊതുവെ പഴയ പതിപ്പായിരിക്കും
ഒരു സോളാരിസ് റിലീസിന് മാത്രമേ നിലനിർത്തൂ. സ്ഥിരസ്ഥിതി perl ആയിരിക്കില്ല എന്നതും ശ്രദ്ധിക്കുക
പഴയ പതിപ്പിൽ മൊഡ്യൂളുകൾക്കായി തിരയാൻ ക്രമീകരിച്ചു, വീണ്ടും കാരണം
അനുയോജ്യത/സ്ഥിരത സംബന്ധിച്ച ആശങ്കകൾ. അനന്തരഫലമായി, നിങ്ങൾ സോളാരിസ് നവീകരിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്കത് ലഭിക്കും
നിങ്ങൾ മുമ്പ് ഇൻസ്റ്റാൾ ചെയ്ത ഏതെങ്കിലും അധിക CPAN മൊഡ്യൂളുകൾ പുനർനിർമ്മിക്കുന്നതിനും/വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും
സോളാരിസ് പതിപ്പ്. ഇത് ചെയ്യുന്നതിനുള്ള ഒരു ദ്രുത മാർഗത്തിനായി 'ഓട്ടോബണ്ടിൽ' എന്നതിന് കീഴിലുള്ള CPAN മാൻപേജ് കാണുക.

ഒരു ഇടക്കാല നടപടിയെന്ന നിലയിൽ, നിങ്ങൾക്ക് ഒന്നുകിൽ # മാറ്റാം! നിങ്ങളുടെ സ്ക്രിപ്റ്റുകളുടെ വരി പ്രത്യേകമായി
പഴയ perl പതിപ്പ് നോക്കുക, ഉദാ Solaris 9-ൽ #!/usr/perl5/5.00503/bin/perl ഉപയോഗിക്കുക
സോളാരിസ് 8-ന് സ്ഥിരസ്ഥിതിയായിരുന്ന perl പതിപ്പ്, അല്ലെങ്കിൽ നിങ്ങൾക്ക് ഒരു വലിയ സംഖ്യ ഉണ്ടെങ്കിൽ
സ്ക്രിപ്റ്റുകൾ നിങ്ങളുടെ പഴയ perl പതിപ്പ് സ്ഥിരസ്ഥിതിയാക്കുന്നത് കൂടുതൽ സൗകര്യപ്രദമായിരിക്കും
സിസ്റ്റം. /usr/perl5-ന് താഴെയുള്ള ഉചിതമായ സിംലിങ്കുകൾ മാറ്റിക്കൊണ്ട് നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയും
(സോളാരിസ് 9 ന്റെ ഉദാഹരണം):

# cd /usr/perl5
# rm ബിൻ മാൻ പോഡ്
# ln -s ./5.00503/bin
# ln -s ./5.00503/man
# ln -s ./5.00503/lib/pod
# rm /usr/bin/perl
# ln -s ../perl5/5.00503/bin/perl /usr/bin/perl

രണ്ട് സാഹചര്യങ്ങളിലും ഇത് ഒരു താൽക്കാലിക നടപടിയായി മാത്രമേ കണക്കാക്കൂ - നിങ്ങൾ ചെയ്യണം
പ്രാവർത്തികമായാൽ ഉടൻ perl-ന്റെ പിന്നീടുള്ള പതിപ്പിലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുക.

perl കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റികളും (ഉദാ: perldoc) ചേർത്തവയും ശ്രദ്ധിക്കുക
നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യുന്ന മൊഡ്യൂളുകൾ /usr/perl5/bin എന്നതിന് കീഴിലായിരിക്കും, അതിനാൽ ഡയറക്ടറി ചേർക്കേണ്ടതാണ്
നിങ്ങളുടെ പാതയിലേക്ക്.

സൊളാരിസ് പതിപ്പ് സംഖ്യകൾ.
സാധാരണ ഉപയോഗവുമായി പൊരുത്തപ്പെടുന്നതിന്, perl-ന്റെ കോൺഫിഗർ സ്ക്രിപ്റ്റ് ചില ചെറിയ കാര്യങ്ങൾ ചെയ്യുന്നു
uname റിപ്പോർട്ട് ചെയ്ത പ്രകാരം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ പേരും പതിപ്പ് നമ്പറും കൈകാര്യം ചെയ്യുന്നു.
ഒരു ഭാഗിക വിവർത്തന പട്ടിക ഇതാ:

Sun: perl's കോൺഫിഗർ:
uname uname -r പേര് osname osvers
SunOS 4.1.3 Solaris 1.1 sunos 4.1.3
SunOS 5.6 സോളാരിസ് 2.6 സോളാരിസ് 2.6
SunOS 5.8 സോളാരിസ് 8 സോളാരിസ് 2.8
SunOS 5.9 സോളാരിസ് 9 സോളാരിസ് 2.9
SunOS 5.10 സോളാരിസ് 10 സോളാരിസ് 2.10

സൺ മാനേജർമാരുടെ പതിവുചോദ്യങ്ങളിൽ പൂർണ്ണമായ പട്ടിക കാണാം
<ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq> താഴെ "9.1) ഏത് സൺ മോഡലുകൾ പ്രവർത്തിക്കുന്നു
SunOS-ന്റെ പതിപ്പുകൾ?".

റിസോർസുകൾ


സോളാരിസ് വിവരങ്ങൾക്ക് ധാരാളം ഉറവിടങ്ങളുണ്ട്. അതിനുള്ള പ്രധാനപ്പെട്ട ചിലത്
perl:

സോളാരിസ് FAQ
സോളാരിസ് FAQ ഇവിടെ ലഭ്യമാണ്http://www.science.uva.nl/pub/solaris/solaris2.html>.

സൺ മാനേജർമാരുടെ പതിവ് ചോദ്യങ്ങൾ ഇവിടെ ലഭ്യമാണ്
<ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq>

മുൻകൂട്ടി തയ്യാറാക്കിയ ബൈനറികൾ
മുൻകൂട്ടി തയ്യാറാക്കിയ ബൈനറികൾ, നിരവധി സൈറ്റുകളിലേക്കുള്ള ലിങ്കുകൾ, കൂടാതെ പലതും ഇവിടെ ലഭ്യമാണ്
<http://www.sunfreeware.com/> കൂടാതെhttp://www.blastwave.org/>.

സോളാരിസ് ഡോക്യുമെന്റേഷൻ
എല്ലാ Solaris ഡോക്യുമെന്റേഷനും ഓൺലൈനിൽ ലഭ്യമാണ്http://docs.sun.com/>.

സജ്ജമാക്കുന്നു UP


ഫയല് എക്സ്ട്രാക്ഷൻ പ്രശ്നങ്ങൾ on സോളാരിസ്.
എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ സോളാരിസിന് (SunOS 4.x അല്ല) കീഴിൽ സമാഹരിച്ച ഒരു ടാർ പ്രോഗ്രാം ഉപയോഗിക്കുന്നത് ഉറപ്പാക്കുക.
perl-5.xxtar.gz ഫയൽ. Solaris-ൽ SunOS4-നായി സമാഹരിച്ച GNU ടാർ ഉപയോഗിക്കരുത്. (ഗ്നു ടാർ
സോളാരിസിനായി കംപൈൽ ചെയ്തിരിക്കുന്നത് നന്നായിരിക്കും.) നിങ്ങൾ Solaris-ൽ SunOS4 ബൈനറികൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ, റൺ-
സമയ സംവിധാനം m#lib/locale# എന്നതുമായി പൊരുത്തപ്പെടുന്ന പാതനാമങ്ങൾ മാന്ത്രികമായി മാറ്റുന്നു, അങ്ങനെ ടാർ ശ്രമിക്കുമ്പോൾ
lib/locale.pm സൃഷ്ടിക്കുക, പകരം lib/oldlocale.pm എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കപ്പെടും. നിങ്ങൾ കണ്ടെത്തിയാൽ
ഈ ഉപദേശം വളരെ വൈകിയാണ്, എന്തായാലും SunOS4-കംപൈൽ ചെയ്ത ടാർ ഉപയോഗിച്ചു, നിങ്ങൾ അത് തെറ്റായി കണ്ടെത്തണം
ഫയലിന്റെ പേര് മാറ്റി, അത് lib/locale.pm എന്നതിലേക്ക് തിരികെ നീക്കുക.

കംപൈലർ ഒപ്പം Related ഉപകരണങ്ങൾ on സോളാരിസ്.
perl നിർമ്മിക്കാൻ നിങ്ങൾ ഒരു ANSI C കംപൈലർ ഉപയോഗിക്കണം. സൺസ് ഉപയോഗിച്ച് പേൾ സമാഹരിക്കാം
ആഡ്-ഓൺ സി കംപൈലർ അല്ലെങ്കിൽ gcc ഉപയോഗിച്ച്. SunOS4 ഉപയോഗിച്ച് ഷിപ്പ് ചെയ്ത C കംപൈലർ പ്രവർത്തിക്കില്ല.

ഉൾപ്പെടുന്നു /usr/ccs/bin/ in നിങ്ങളുടെ പാത.

perl നിർമ്മിക്കുന്നതിന് ആവശ്യമായ നിരവധി ഉപകരണങ്ങൾ /usr/ccs/bin/: ar, as, ld, and make എന്നിവയിൽ സ്ഥിതിചെയ്യുന്നു.
നിങ്ങളുടെ PATH-ൽ /usr/ccs/bin/ ഉണ്ടെന്ന് ഉറപ്പാക്കുക.

സോളാരിസിന്റെ (8, 9, 10) റിലീസ് ചെയ്ത എല്ലാ പതിപ്പുകളിലും ഇനിപ്പറയുന്നവ നിങ്ങൾ ഉറപ്പാക്കേണ്ടതുണ്ട്
പാക്കേജുകൾ ഇൻസ്‌റ്റാൾ ചെയ്‌തു (ഈ വിവരം സോളാരിസ് FAQ-ൽ നിന്ന് വേർതിരിച്ചെടുത്തതാണ്):

ഉപകരണങ്ങൾക്കായി (sccs, lex, yacc, make, nm, truss, ld, as): SUNWbtool, SUNWsprot, SUNWtoo

ലൈബ്രറികൾക്കും തലക്കെട്ടുകൾക്കുമായി: SUNWhea, SUNWarc, SUNWlibm, SUNWlibms, SUNWdfbh, SUNWcg6h,
SUNWxwinc

കൂടാതെ, സോളാരിസ് 8, 9 എന്നിവയിലും നിങ്ങൾക്ക് ഇത് ആവശ്യമാണ്:

64 ബിറ്റ് വികസനത്തിന്: SUNWarcx, SUNWbtoox, SUNWdplx, SUNWscpux, SUNWsprox, SUNWtoox,
SUNWlmsx, SUNWlmx, SUNWlibCx

സോളാരിസ് 8-ൽ മാത്രം നിങ്ങൾക്ക് ഇത് ആവശ്യമാണ്:

ലൈബ്രറികൾക്കും തലക്കെട്ടുകൾക്കുമായി: SUNWolinc

നിങ്ങൾക്ക് നഷ്ടപ്പെട്ട ഒരു ഫയൽ അടങ്ങിയിരിക്കുന്ന പാക്കേജ് ഏതാണെന്ന് നിങ്ങൾക്ക് സംശയമുണ്ടെങ്കിൽ, ഒന്ന് കണ്ടെത്താൻ ശ്രമിക്കുക
ആ ഫയൽ ഉള്ള ഇൻസ്റ്റലേഷൻ. എന്നിട്ട് എ ചെയ്യുക

$ grep /my/ missing/file /var/sadm/install/contents

ഇത് ഇതുപോലുള്ള ഒരു ലൈൻ പ്രദർശിപ്പിക്കും:

/usr/include/sys/errno.hf ഒന്നുമില്ല 0644 റൂട്ട് ബിൻ 7471 37605 956241356 SUNWhea

ലിസ്റ്റുചെയ്ത അവസാന ഇനം (ഈ ഉദാഹരണത്തിലെ SUNWhea) നിങ്ങൾക്ക് ആവശ്യമുള്ള പാക്കേജാണ്.

ഒഴിവാക്കുക /usr/ucb/cc.

perl നിർമ്മിക്കാൻ നിങ്ങളുടെ PATH-ൽ /usr/ucb/ ഉണ്ടായിരിക്കേണ്ട ആവശ്യമില്ല. നിങ്ങൾക്ക് വേണമെങ്കിൽ /usr/ucb/ in
നിങ്ങളുടെ PATH എന്തായാലും, /usr/ucb/ ഡയറക്‌ടറിക്ക് മുമ്പുള്ള നിങ്ങളുടെ PATH-ൽ ഇല്ലെന്ന് ഉറപ്പാക്കുക
ശരിയായ സി കമ്പൈലർ അടങ്ങിയിരിക്കുന്നു.

സൂര്യന്റെ C കംപൈലർ

നിങ്ങൾ Sun's C കംപൈലർ ഉപയോഗിക്കുകയാണെങ്കിൽ, ശരിയായ ഡയറക്ടറി (സാധാരണയായി /opt/SUNWspro/bin/) ഉറപ്പാക്കുക.
നിങ്ങളുടെ പാഥിലാണ് (/usr/ucb/ മുമ്പ്).

ജിസിസി

നിങ്ങൾ gcc ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ ഇൻസ്റ്റാളേഷൻ സമീപകാലവും പൂർണ്ണവുമാണെന്ന് ഉറപ്പാക്കുക. perl പതിപ്പുകൾ മുതൽ
5.6.0 ബിൽഡ് ഫൈൻ gcc > 2.8.1 on Solaris >= 2.6.

നിങ്ങൾ perl കോൺഫിഗർ ചെയ്യണം

$ sh കോൺഫിഗർ ചെയ്യുക -Dcc=gcc

ഇല്ലെങ്കിൽ, നിങ്ങൾക്ക് വിചിത്രമായ ബിൽഡ് പിശകുകൾ അനുഭവപ്പെട്ടേക്കാം.

നിങ്ങൾ സോളാരിസ് പതിപ്പ് അപ്‌ഡേറ്റ് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ ജിസിസിയും അപ്‌ഡേറ്റ് ചെയ്യേണ്ടി വന്നേക്കാം. വേണ്ടി
ഉദാഹരണത്തിന്, നിങ്ങൾ സോളാരിസ് 2.6 പ്രവർത്തിപ്പിക്കുകയും നിങ്ങളുടെ ജിസിസി ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്തിട്ടുണ്ടെങ്കിൽ / usr / local, ചെക്ക്
/usr/local/lib/gcc-lib-ൽ, നിങ്ങൾക്ക് ഉചിതമായ ഡയറക്ടറി ഉണ്ടെന്ന് ഉറപ്പാക്കുക,
sparc-sun-solaris2.6/ അല്ലെങ്കിൽ i386-pc-solaris2.6/. ജിസിസി ഡയറക്‌ടറി വേറൊന്നിനുള്ളതാണെങ്കിൽ
നിങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിനേക്കാൾ സോളാരിസിന്റെ പതിപ്പ്, നിങ്ങളുടെ പുതിയതിനായി ജിസിസി പുനർനിർമ്മിക്കേണ്ടതുണ്ട്
സോളാരിസിന്റെ പതിപ്പ്.

നിങ്ങൾക്ക് gcc യുടെ ഒരു മുൻകൂർ പതിപ്പ് ലഭിക്കുംhttp://www.sunfreeware.com/> അല്ലെങ്കിൽ
<http://www.blastwave.org/>. നിങ്ങളുടെ സോളാരിസ് റിലീസിനായി പാക്കേജ് എടുക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

സോളാരിസിനൊപ്പം ഷിപ്പ് ചെയ്‌ത പേൾ ഉപയോഗിച്ച് ഉപയോഗിക്കുന്നതിന് ആഡ്-ഓൺ മൊഡ്യൂളുകൾ നിർമ്മിക്കാൻ നിങ്ങൾക്ക് gcc ഉപയോഗിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ,
നിങ്ങൾ CPAN-ൽ നിന്ന് ലഭ്യമായ Solaris ::PerlGcc മൊഡ്യൂൾ ഉപയോഗിക്കണം. പേൾ അയച്ചു
സോളാരിസിനൊപ്പം, സൺ കമ്പൈലറുകളും കംപൈലറും ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്യുകയും നിർമ്മിക്കുകയും ചെയ്യുന്നു
Config.pm-ൽ സംഭരിച്ചിരിക്കുന്ന കോൺഫിഗറേഷൻ വിവരങ്ങൾ അതിനാൽ സൂര്യന് മാത്രം പ്രസക്തമാണ്
കമ്പൈലറുകൾ. Solaris:PerlGcc മൊഡ്യൂളിൽ ശരിയായ കോൺഫിഗ്.പിഎം മാറ്റിസ്ഥാപിക്കുന്നു
ജിസിസിക്ക് - വിശദാംശങ്ങൾക്ക് മൊഡ്യൂൾ കാണുക.

ഗ്നു as ഒപ്പം ഗ്നു ld

ഇനിപ്പറയുന്ന വിവരങ്ങൾ gcc പതിപ്പ് 2-ന് ബാധകമാണ്. ഇത് അപ്ഡേറ്റ് ചെയ്യാൻ സന്നദ്ധപ്രവർത്തകർ
gcc പതിപ്പ് 3 ന് ഉചിതമായി വിലമതിക്കും.

Solaris-ൽ നൽകിയിരിക്കുന്ന as, ld എന്നിവയുടെ പതിപ്പുകൾ perl നിർമ്മിക്കുന്നതിന് നന്നായി പ്രവർത്തിക്കുന്നു. ഇതുണ്ട്
സാധാരണയായി perl കംപൈൽ ചെയ്യുന്നതിന് GNU പതിപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതില്ല.

ഈ ഉപദേശം അവഗണിക്കാനും ഗ്നു പതിപ്പുകൾ ഉപയോഗിക്കാനും നിങ്ങൾ തീരുമാനിക്കുകയാണെങ്കിൽ, അത് ഉറപ്പാക്കുക
അവ താരതമ്യേന സമീപകാലമാണ്. 2.7-നേക്കാൾ പുതിയ പതിപ്പുകൾ വേണ്ടത്ര പുതിയതാണ്. പഴയത്
പതിപ്പുകൾക്ക് ഡൈനാമിക് ലോഡിംഗിൽ പ്രശ്‌നമുണ്ടാകാം.

നിങ്ങൾക്ക് GNU ld ഉപയോഗിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾ അത് -Wl,-E ഫ്ലാഗ് നൽകേണ്ടതുണ്ട്. ദി
hints/solaris_2.sh ഫയൽ ഇനിപ്പറയുന്ന കോൺഫിഗർ സജ്ജമാക്കി ഇത് സ്വയമേവ ചെയ്യാൻ ശ്രമിക്കുന്നു
വേരിയബിളുകൾ:

ccdlflags="$ccdlflags -Wl,-E"
lddlflags="$lddlflags -Wl,-E -G"

എന്നിരുന്നാലും, വർഷങ്ങളായി, gcc, GNU ld, Solaris ld എന്നിവയിലെ മാറ്റങ്ങൾ ബുദ്ധിമുട്ടാക്കി
ആത്യന്തികമായി ഏത് എൽഡിയാണ് വിളിക്കുന്നതെന്ന് സ്വയമേവ കണ്ടെത്തുക. നിങ്ങൾ സ്വയം എഡിറ്റ് ചെയ്യേണ്ടി വന്നേക്കാം
config.sh കൂടാതെ -Wl,-E ഫ്ലാഗുകൾ സ്വയം ചേർക്കുക, അല്ലെങ്കിൽ സംവേദനാത്മകമായി കോൺഫിഗർ ചെയ്യുക പ്രവർത്തിപ്പിച്ച് ചേർക്കുക
ഉചിതമായ നിർദ്ദേശങ്ങളിൽ പതാകകൾ.

നിങ്ങളുടെ gcc GNU ആയും ld ആയും ഉപയോഗിക്കാൻ കോൺഫിഗർ ചെയ്തിട്ടുണ്ടെങ്കിലും നിങ്ങൾ സോളാരിസ് ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ
perl നിർമ്മിക്കുന്നതിന് പകരം, നിങ്ങൾ gcc കമാൻഡ് ലൈനിലേക്ക് -B/usr/ccs/bin/ ചേർക്കേണ്ടതുണ്ട്.
അതിനുള്ള ഒരു സൗകര്യപ്രദമായ മാർഗമാണ്

$ sh കോൺഫിഗർ ചെയ്യുക -Dcc='gcc -B/usr/ccs/bin/'

ട്രെയിലിംഗ് സ്ലാഷ് ആവശ്യമാണെന്ന് ശ്രദ്ധിക്കുക. ഇത് അപകടകരമല്ലാത്ത ചില മുന്നറിയിപ്പുകൾക്ക് കാരണമാകും
കോൺഫിഗർ റൺ ചെയ്യുന്നു:

gcc: ഫയൽ പാത്ത് പ്രിഫിക്സ് `/usr/ccs/bin/' ഒരിക്കലും ഉപയോഗിച്ചിട്ടില്ല

ഈ സന്ദേശങ്ങൾ സുരക്ഷിതമായി അവഗണിക്കപ്പെട്ടേക്കാം. (ഒരു SunOS4 സിസ്റ്റത്തിന്, നിങ്ങൾ ഉപയോഗിക്കേണ്ടതുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കുക
-ബി/ബിൻ/ പകരം.)

പകരമായി, നിങ്ങൾക്ക് GCC_EXEC_PREFIX എൻവയോൺമെന്റ് വേരിയബിൾ ഉപയോഗിച്ച് സൂര്യന്റെ
as, ld എന്നിവ ഉപയോഗിക്കുന്നു. -B-യെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങളുടെ gcc ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക
ഓപ്ഷനും GCC_EXEC_PREFIX വേരിയബിളും.

സൂര്യൻ ഒപ്പം ഗ്നു ഉണ്ടാക്കുക

/usr/ccs/bin-ന് കീഴിലുള്ള നിർമ്മാണം perl നിർമ്മിക്കുന്നതിന് നന്നായി പ്രവർത്തിക്കുന്നു. നിങ്ങൾക്ക് സൺ സി ഉണ്ടെങ്കിൽ
കമ്പൈലറുകൾ, നിങ്ങൾക്ക് make (dmake) ന്റെ ഒരു സമാന്തര പതിപ്പും ഉണ്ടായിരിക്കും. ഇത് നന്നായി പ്രവർത്തിക്കുന്നു
ബിൽഡ് perl, എന്നാൽ കാരണം 'make test' പ്രവർത്തിപ്പിക്കുമ്പോൾ ചിലപ്പോൾ പ്രശ്നങ്ങൾ ഉണ്ടാകാം
വ്യത്യസ്‌ത ടെസ്റ്റ് ഹാർനെസ് ഫയലുകൾക്കിടയിൽ വ്യക്തമാക്കാത്ത ഡിപൻഡൻസികൾ. ഒരേ പ്രശ്നം
ചില ആഡ്-ഓൺ മൊഡ്യൂളുകളുടെ നിർമ്മാണത്തെയും ബാധിക്കും, അതിനാൽ അത്തരം സന്ദർഭങ്ങളിൽ ഒന്നുകിൽ '-m വ്യക്തമാക്കുക
dmake കമാൻഡ് ലൈനിൽ സീരിയൽ', അല്ലെങ്കിൽ പകരം /usr/ccs/bin/make ഉപയോഗിക്കുക. നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ
GNU ഉണ്ടാക്കുക, സെറ്റ്-ഗ്രൂപ്പ്-ഐഡി ബിറ്റ് സജ്ജീകരിച്ചിട്ടില്ലെന്ന് ഉറപ്പാക്കുക. അങ്ങനെയാണെങ്കിൽ, നിങ്ങളുടെ പാത ക്രമീകരിക്കുക
അങ്ങനെ /usr/ccs/bin/make GNU നിർമ്മിക്കുന്നതിന് മുമ്പാണ് അല്ലെങ്കിൽ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ പ്രവർത്തനരഹിതമാക്കണം
GNU-ൽ സെറ്റ്-ഗ്രൂപ്പ്-ഐഡി ബിറ്റ് നിർമ്മിക്കുന്നു.

ഒഴിവാക്കുക ലിബക്ബ്.

സോളാരിസ് /usr/ucblib/libucb.a-ൽ ചില BSD-compatibility പ്രവർത്തനങ്ങൾ നൽകുന്നു. പേർൾ ചെയ്യില്ല
-lucb-ന് എതിരായി ലിങ്ക് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ അത് ശരിയായി നിർമ്മിക്കുകയും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു, കാരണം അതിൽ ദിനചര്യകൾ അടങ്ങിയിരിക്കുന്നു
സ്റ്റാൻഡേർഡ് സോളാരിസ് ലിബിസിയുമായി പൊരുത്തപ്പെടുന്നില്ല. സാധാരണയായി ഇത് ഒരു പ്രശ്നമല്ല
സോളാരിസ് സൂചനകൾ ഫയൽ ലൈബ്രറികൾക്കായി /usr/ucblib-ൽ പോലും നോക്കുന്നതിൽ നിന്നും കോൺഫിഗർ ചെയ്യുന്നത് തടയുന്നു, കൂടാതെ
-lucb എന്നിവയും വ്യക്തമായി ഒഴിവാക്കുന്നു.

പരിസ്ഥിതി വേണ്ടി സമാഹരിക്കുന്നു മുത്ത് on സൊളാരിസ്
PATH

നിങ്ങളുടെ PATH-ൽ കംപൈലർ ഉൾപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക (/opt/SUNWspro/bin/ നിങ്ങൾ Sun's ആണ് ഉപയോഗിക്കുന്നതെങ്കിൽ
കംപൈലർ) അതുപോലെ /usr/ccs/bin/ മറ്റ് ഡെവലപ്‌മെന്റ് ടൂളുകൾ (നിർമ്മാണം പോലുള്ളവ,
ar, as, ld). നിങ്ങളുടെ പാതയിൽ ഒന്നുകിൽ /usr/ucb ഉൾപ്പെടുന്നില്ല അല്ലെങ്കിൽ അതിൽ ഉൾപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക
കംപൈലർ, കംപൈലർ ടൂളുകൾ, മറ്റ് സ്റ്റാൻഡേർഡ് സോളാരിസ് ഡയറക്ടറികൾ എന്നിവയ്ക്ക് ശേഷം. നിങ്ങൾ
തീർച്ചയായും /usr/ucb/cc ആവശ്യമില്ല.

LD_LIBRARY_PATH

നിങ്ങൾക്ക് LD_LIBRARY_PATH പരിസ്ഥിതി വേരിയബിൾ സെറ്റ് ഉണ്ടെങ്കിൽ, അതിൽ ഉൾപ്പെടുന്നില്ലെന്ന് ഉറപ്പാക്കുക
/ ലിബ് അല്ലെങ്കിൽ /usr/lib. നിങ്ങൾ മൂന്നാം കക്ഷി പങ്കിടുന്ന വിപുലീകരണങ്ങൾ നിർമ്മിക്കുകയാണെങ്കിൽ
ലൈബ്രറികൾ (ഉദാ. ബെർക്ക്‌ലി ഡിബി) നിങ്ങളുടെ LD_LIBRARY_PATH പരിസ്ഥിതി വേരിയബിൾ ആണെന്ന് ഉറപ്പാക്കുക
ആ ലൈബ്രറിയുടെ ഡയറക്ടറി ഉൾപ്പെടുന്നു (ഉദാ / usr / local / lib).

നിങ്ങൾക്ക് ഒരു പിശക് സന്ദേശം ലഭിക്കുകയാണെങ്കിൽ

dlopen: സ്റ്റബ് ഇന്റർസെപ്ഷൻ പരാജയപ്പെട്ടു

നിങ്ങളുടെ LD_LIBRARY_PATH എൻവയോൺമെന്റ് വേരിയബിളിൽ ഒരു ഡയറക്‌ടറി ഉൾപ്പെട്ടിരിക്കുന്നതിനാലാവാം
ഒരു സിംലിങ്ക് ആണ് / Usr / lib (അതുപോലെ / ലിബ്). ഇത് ഒരു പ്രശ്നം ഉണ്ടാക്കുന്നതിനുള്ള കാരണം വളരെ വലുതാണ്
സൂക്ഷ്മമായ. libdl.so.1.0 എന്ന ഫയലിൽ യഥാർത്ഥത്തിൽ *മാത്രം* അടങ്ങിയിരിക്കുന്ന ഫംഗ്‌ഷനുകൾ 'അപൂർണ്ണമാണ്
തടസ്സപ്പെടുത്തൽ പരാജയപ്പെട്ടു' പിശകുകൾ! റൺടൈം ലിങ്കർ ലിങ്കുകളെ തടസ്സപ്പെടുത്തുന്നു
"/usr/lib/libdl.so.1.0" കൂടാതെ ആ ഫംഗ്‌ഷനുകളുടെ ആന്തരിക നിർവ്വഹണങ്ങളിലെ ലിങ്കുകളും.
[ഈ വിശദീകരണത്തിന് ടിം ബൺസിന് നന്ദി.]

RUN കോൺഫിഗർ ചെയ്യുക.


കോൺഫിഗർ ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള പൊതുവായ വിവരങ്ങൾക്ക് ഇൻസ്റ്റോൾ ഫയൽ കാണുക. സോളാരിസ് മാത്രം
പ്രശ്നങ്ങൾ ഇവിടെ ചർച്ച ചെയ്യപ്പെടുന്നു. സാധാരണയായി, ഡിഫോൾട്ടുകൾ മികച്ചതായിരിക്കണം.

64- ബിറ്റ് മുത്ത് on സോളാരിസ്.
64-ബിറ്റ് കംപൈലുകളെക്കുറിച്ചുള്ള പൊതുവായ വിവരങ്ങൾക്ക് ഇൻസ്റ്റാൾ ഫയൽ കാണുക. പൊതുവേ, ദി
ഡിഫോൾട്ടുകൾ മിക്ക ആളുകൾക്കും ശരിയായിരിക്കണം.

ഡിഫോൾട്ടായി, perl-5.6.0 (അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത്) ഒരു 32-ബിറ്റ് ആപ്ലിക്കേഷനായി വലിയ ഫയലും കൂടാതെ
നീണ്ട നീണ്ട പിന്തുണ.

പൊതുവായ 32- ബിറ്റ് വേഴ്സസ് 64- ബിറ്റ് പ്രശ്നങ്ങൾ.

സോളാരിസ് 7-ഉം അതിനുമുകളിലുള്ളതും ഒരു റീബൂട്ട് വഴി SPARC CPU-കളിൽ 32 ബിറ്റ് അല്ലെങ്കിൽ 64 ബിറ്റ് മോഡിൽ പ്രവർത്തിക്കും.
64 ബിറ്റ് മോഡ് പ്രവർത്തിപ്പിക്കുമ്പോഴും തിരിച്ചും നിങ്ങൾക്ക് 32 ബിറ്റ് ആപ്പുകൾ നിർമ്മിക്കാനാകും. 32 ബിറ്റ് ആപ്പുകൾ പ്രവർത്തിക്കും
സോളാരിസിന് കീഴിൽ 32 അല്ലെങ്കിൽ 64 ബിറ്റ് മോഡിൽ പ്രവർത്തിക്കുന്നു. 64 ബിറ്റ് ആപ്പുകൾക്ക് സോളാരിസ് ആവശ്യമാണ്
64 ബിറ്റ് മോഡ് പ്രവർത്തിക്കുന്നു.

നിലവിലുള്ള 32 ബിറ്റ് ആപ്പുകൾ ശരിയായി LP32 എന്നാണ് അറിയപ്പെടുന്നത്, അതായത് ലോങ്സും പോയിന്ററുകളും 32 ബിറ്റ് ആണ്.
64-ബിറ്റ് ആപ്പുകൾ കൂടുതൽ ശരിയായി LP64 എന്നാണ് അറിയപ്പെടുന്നത്. ഒരു LP64 ബിറ്റ് ആപ്പിന്റെ വിവേചനപരമായ സവിശേഷത
64-ബിറ്റ് അഡ്രസ് സ്പേസ് ഉപയോഗിക്കാനുള്ള അതിന്റെ കഴിവാണ്. ഒരു LP32 ഉണ്ടായിരിക്കുന്നത് തികച്ചും സാദ്ധ്യമാണ്
64-ബിറ്റ് പൂർണ്ണസംഖ്യകളും (നീണ്ട നീളം) വലിയ ഫയലുകളും (> 2GB) പിന്തുണയ്ക്കുന്ന ബിറ്റ് ആപ്പ്, ഇത്
perl-5.6.0-നുള്ള സ്ഥിരസ്ഥിതി.

64-ബിറ്റ് പ്രശ്‌നങ്ങളുടെ കൂടുതൽ പൂർണ്ണമായ വിശദീകരണത്തിന്, "Solaris 64-bit Developer's കാണുക
വഴികാട്ടി"http://docs.sun.com/>

"isainfo -v" ഉപയോഗിച്ച് നിങ്ങൾക്ക് OS മോഡ് കണ്ടെത്താനാകും, ഉദാ

$ isainfo -v # 30 ബിറ്റ് മോഡിൽ അൾട്രാ 64
64-ബിറ്റ് sparcv9 ആപ്ലിക്കേഷനുകൾ
32-ബിറ്റ് സ്പാർക്ക് ആപ്ലിക്കേഷനുകൾ

സ്ഥിരസ്ഥിതിയായി, ഒരു 32-ബിറ്റ് ആപ്ലിക്കേഷനായി perl കംപൈൽ ചെയ്യപ്പെടും. നിങ്ങൾ അനുവദിക്കാൻ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ
perl-നുള്ളിൽ ~ 4GB-ൽ കൂടുതൽ മെമ്മറി, അല്ലെങ്കിൽ നിങ്ങൾക്ക് 255-ൽ കൂടുതൽ തുറന്ന ഫയൽ ആവശ്യമില്ലെങ്കിൽ
ഡിസ്ക്രിപ്റ്ററുകൾ, ഒരു 64-ബിറ്റ് ആപ്പ് ആകാൻ നിങ്ങൾക്ക് ഒരുപക്ഷേ perl ആവശ്യമില്ല.

വലിയ ഫയല് പിന്തുണ

സോളാരിസ് 2.6-നും അതിനുശേഷമുള്ളതിനും, 32-ബിറ്റ് ആപ്ലിക്കേഷനുകൾക്ക് രണ്ട് വ്യത്യസ്ത വഴികളുണ്ട്
വലിയ ഫയലുകൾ കൈകാര്യം ചെയ്യുക (വലുപ്പം > 2GByte ഉള്ള ഫയലുകൾ). (ഒരു 64-ബിറ്റ് ആപ്ലിക്കേഷൻ
സ്വയമേവ ബിൽറ്റ് ഇൻ ചെയ്‌ത വലിയ ഫയൽ പിന്തുണയുണ്ട്.)

ആദ്യം വിവരിച്ചിരിക്കുന്ന "ട്രാൻസിഷണൽ കംപൈലേഷൻ എൻവയോൺമെന്റ്" ആണ് lfcompile64(5).
മാൻ പേജ് അനുസരിച്ച്,

ട്രാൻസിഷണൽ കംപൈലേഷൻ എൻവയോൺമെന്റ് എല്ലാം കയറ്റുമതി ചെയ്യുന്നു
വ്യക്തമായ 64-ബിറ്റ് ഫംഗ്‌ഷനുകളും (xxx64()) കൂടാതെ തരങ്ങളും
എല്ലാ റെഗുലർ ഫംഗ്ഷനുകളും (xxx()) തരങ്ങളും. xxx() കൂടാതെ
xxx64() ഫംഗ്‌ഷനുകൾ പ്രോഗ്രാം ഉറവിടത്തിൽ ലഭ്യമാണ്. എ
32-ബിറ്റ് ആപ്ലിക്കേഷൻ ക്രമത്തിൽ xxx64() ഫംഗ്ഷനുകൾ ഉപയോഗിക്കണം
വലിയ ഫയലുകൾ ആക്സസ് ചെയ്യാൻ. കാണുക lf64(5) a എന്നതിനായുള്ള മാനുവൽ പേജ്
64-ബിറ്റ് ട്രാൻസിഷണൽ ഇന്റർഫേസുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ്.

ഇനിപ്പറയുന്ന കംപൈലർ ഉപയോഗിച്ച് ട്രാൻസിഷണൽ കംപൈലേഷൻ എൻവയോൺമെന്റ് ലഭിക്കും
ലിങ്കർ ഫ്ലാഗുകൾ:

getconf LFS64_CFLAGS -D_LARGEFILE64_SOURCE
getconf LFS64_LDFLAG # പ്രത്യേകിച്ചൊന്നും ആവശ്യമില്ല
getconf LFS64_LIBS # പ്രത്യേകിച്ചൊന്നും ആവശ്യമില്ല

രണ്ടാമത്തേത് വിവരിച്ചിരിക്കുന്ന "വലിയ ഫയൽ സമാഹാര പരിസ്ഥിതി" ആണ് lfcompile(5) പ്രകാരം
മാൻ പേജിലേക്ക്,

64-ബിറ്റ് എന്റിറ്റികൾ ആക്സസ് ചെയ്യേണ്ട xxx() എന്ന് പേരുള്ള ഓരോ ഇന്റർഫേസിനും
ഒരു xxx64() കോളിലേക്ക് വലിയ ഫയലുകളുടെ മാപ്പുകൾ ആക്സസ് ചെയ്യാൻ
തത്ഫലമായുണ്ടാകുന്ന ബൈനറി. എല്ലാ പ്രസക്തമായ ഡാറ്റ തരങ്ങളും നിർവ്വചിച്ചിരിക്കുന്നു
ശരിയായ വലിപ്പം (ഉദാഹരണത്തിന്, off_t ന് ഒരു ടൈപ്പ് ഡെഫനിഷൻ ഉണ്ട്
ഒരു 64-ബിറ്റ് എന്റിറ്റിക്കായി).

ഈ പരിതസ്ഥിതിയിൽ സമാഹരിച്ച ഒരു ആപ്ലിക്കേഷൻ ഉപയോഗിക്കാൻ കഴിയും
വലുതും ചെറുതും ആക്‌സസ് ചെയ്യുന്നതിനുള്ള xxx() ഉറവിട ഇന്റർഫേസുകൾ
ഫയലുകൾ, ട്രാൻസിഷണൽ വ്യക്തമായി ഉപയോഗിക്കുന്നതിന് പകരം
വലിയ ഫയലുകൾ ആക്‌സസ് ചെയ്യാൻ xxx64() ഇന്റർഫേസ് കോളുകൾ.

രണ്ട് ഒഴിവാക്കലുകൾ fseek() ഒപ്പം ftel(). 32-ബിറ്റ് ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കണം fseeko(3C) കൂടാതെ
ftello(3C). ഇവ സ്വയമേവ മാപ്പ് ചെയ്യപ്പെടും fseeko64() ഒപ്പം ftello64().

വലിയ ഫയൽ കംപൈലേഷൻ പരിസ്ഥിതി ലഭിക്കുന്നു

getconf LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
getconf LFS_LDFLAGS # പ്രത്യേകിച്ചൊന്നും ആവശ്യമില്ല
getconf LFS_LIBS # പ്രത്യേകിച്ചൊന്നും ആവശ്യമില്ല

സ്ഥിരസ്ഥിതിയായി, perl വലിയ ഫയൽ കംപൈലേഷൻ പരിതസ്ഥിതി ഉപയോഗിക്കുകയും സോളാരിസിനെ ആശ്രയിക്കുകയും ചെയ്യുന്നു
ഇന്റർഫേസുകളുടെ അടിസ്ഥാന മാപ്പിംഗ്.

കെട്ടിടം an ല്പ്ക്സനുമ്ക്സ മുത്ത്

അടുത്തിടെയുള്ള ഒരു സൺ കംപൈലർ ഉപയോഗിച്ച് ഒരു അൾട്രാസ്പാർക്കിൽ 64-ബിറ്റ് ആപ്ലിക്കേഷൻ കംപൈൽ ചെയ്യുന്നതിന്, നിങ്ങൾ ചെയ്യേണ്ടത്
"-xarch=v9" എന്ന ഫ്ലാഗ് ഉപയോഗിക്കുക. getconf(1) ഇത് നിങ്ങളോട് പറയും, ഉദാ

$ getconf -a | grep v9
XBS5_LP64_OFF64_CFLAGS: -xarch=v9
XBS5_LP64_OFF64_LDFLAGS: -xarch=v9
XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9
XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9
XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9
XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9
_XBS5_LP64_OFF64_CFLAGS: -xarch=v9
_XBS5_LP64_OFF64_LDFLAGS: -xarch=v9
_XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9
_XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9
_XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9
_XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9

ഈ ഫ്ലാഗ് സൺ വർക്ക്‌ഷോപ്പ് കംപൈലറുകൾ 5.0-ലും അതിനുശേഷമുള്ളവയിലും പിന്തുണയ്ക്കുന്നു (ഇപ്പോൾ വിപണനം ചെയ്യുന്നത്
പേര് ഫോർട്ടെ) സോളാരിസ് 7-ലോ അതിനുശേഷമുള്ള അൾട്രാസ്പാർക്ക് സിസ്റ്റങ്ങളിലോ ഉപയോഗിക്കുമ്പോൾ.

നിങ്ങൾ gcc ഉപയോഗിക്കുകയാണെങ്കിൽ, പകരം -mcpu=v9 -m64 ഉപയോഗിക്കേണ്ടതുണ്ട്. ഈ ഓപ്ഷൻ ഇതുവരെ ഇല്ല
gcc 2.95.2 വരെ പിന്തുണയ്ക്കുന്നു; ആ റിലീസിലെ ഇൻസ്റ്റാൾ/സ്പെസിഫിക്കിൽ നിന്ന്:

GCC പതിപ്പ് 2.95-ന് Sparc64-നുള്ള കോഡ് ശരിയായി കംപൈൽ ചെയ്യാൻ കഴിയുന്നില്ല
ലക്ഷ്യങ്ങൾ. ലിനക്സ് കേർണലിന്റെ ഉപയോക്താക്കൾക്ക്, കുറഞ്ഞത്, സ്പാർക് 32 ഉപയോഗിക്കാം
ഒരു പരിതസ്ഥിതിയിൽ ഒരു പുതിയ ഷെൽ ഇൻവോക്കേഷൻ ആരംഭിക്കുന്നതിനുള്ള പ്രോഗ്രാം
സിസ്റ്റത്തെ സ്പാർക്-*-* ആയി തിരിച്ചറിയാൻ (uname -a വഴി) കോൺഫിഗർ ചെയ്യുന്നു
പകരം.

അഭ്യർത്ഥിച്ചാൽ, ഇതെല്ലാം സൂചനകൾ ഫയൽ സ്വയമേവ കൈകാര്യം ചെയ്യണം.

നീളമുള്ള ഡബിൾസ്.

5.8.1-ലെ കണക്കനുസരിച്ച്, നിങ്ങൾ സൺ കംപൈലറുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ നീളമുള്ള ഇരട്ടകൾ പ്രവർത്തിക്കുന്നു (അധികത്തിന് ആവശ്യമാണ്
ഗണിത ദിനചര്യകൾ libm ൽ ഉൾപ്പെടുത്തിയിട്ടില്ല).

ത്രെഡുകൾ in മുത്ത് on സോളാരിസ്.
സോളാരിസിൽ പേളിന്റെ ഒരു ത്രെഡ് പതിപ്പ് നിർമ്മിക്കുന്നത് സാധ്യമാണ്. മുഴുവൻ പേൾ ത്രെഡ്
നടപ്പാക്കൽ ഇപ്പോഴും പരീക്ഷണാത്മകമാണ്, എന്നിരുന്നാലും, സൂക്ഷിക്കുക.

മല്ലോക്ക് പ്രശ്നങ്ങൾ കൂടെ മുത്ത് on സോളാരിസ്.
perl 5.7.1 perl മുതൽ ആരംഭിക്കുന്നത് Solaris malloc ഉപയോഗിക്കുന്നു, കാരണം perl malloc തകരുമ്പോൾ
2GB-ൽ കൂടുതൽ മെമ്മറി കൈകാര്യം ചെയ്യുന്നു, കൂടാതെ Solaris malloc വേഗമേറിയതാണെന്ന് തോന്നുന്നു.

നിങ്ങൾ ചില കാരണങ്ങളാൽ (ബൈനറി ബാക്ക്‌വേർഡ് കോംപാറ്റിബിലിറ്റി പോലുള്ളവ) ശരിക്കും perl's ഉപയോഗിക്കേണ്ടതുണ്ട്
malloc, നിങ്ങൾക്ക് ഉറവിടങ്ങളിൽ നിന്ന് perl പുനർനിർമ്മിക്കാനും ബിൽഡ് കോൺഫിഗർ ചെയ്യാനും കഴിയും

$ sh കോൺഫിഗർ ചെയ്യുക -Dusemymalloc

നിങ്ങൾ gcc ഉപയോഗിച്ച് നിർമ്മിക്കുകയാണെങ്കിൽ perl's malloc ഉപയോഗിക്കരുത്. കാതലായ റിപ്പോർട്ടുകൾ ഉണ്ട്
ഡംപുകൾ, പ്രത്യേകിച്ച് PDL മൊഡ്യൂളിൽ. -DDEBUGGING എന്നതിന് കീഴിൽ പ്രശ്നം നീങ്ങുന്നതായി തോന്നുന്നു, അതിനാൽ
അത് ട്രാക്ക് ചെയ്യാൻ പ്രയാസമാണ്. സൂര്യന്റെ കംപൈലർ ഉണ്ടെങ്കിലും ഇല്ലെങ്കിലും ശരിയാണെന്ന് തോന്നുന്നു
perl's malloc. [XXX ഇവിടെ കൂടുതൽ അന്വേഷണം ആവശ്യമാണ്.]

വരുത്തിയേക്കാവുന്ന പ്രശ്നങ്ങൾ.


GNU ആയും GNU ld ലും ഉള്ള ഡൈനാമിക് ലോഡിംഗ് പ്രശ്നങ്ങൾ
SunOS അല്ലെങ്കിൽ Solaris-ൽ gcc ഉപയോഗിച്ച് ഡൈനാമിക് ലോഡിംഗിൽ നിങ്ങൾക്ക് പ്രശ്‌നങ്ങളുണ്ടെങ്കിൽ, നിങ്ങളാണ്
GNU as, GNU ld എന്നിവ ഉപയോഗിച്ച്, മുകളിലുള്ള "GNU as and GNU ld" എന്ന ഭാഗം കാണുക.

ld.so.1: ./perl: മാരകമായ: സ്ഥലം മാറ്റ പിശക്:
നിങ്ങൾക്ക് SunOS-ലോ Solaris-ലോ ഈ സന്ദേശം ലഭിക്കുകയും നിങ്ങൾ gcc ഉപയോഗിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, അത് ഒരുപക്ഷേ ഇതാണ്
മുമ്പത്തെ ഇനമായ "GNU as and GNU ld" ലെ GNU as അല്ലെങ്കിൽ GNU ld പ്രശ്നം.

dlopen: സ്റ്റബ് ഇന്റർസെപ്ഷൻ പരാജയപ്പെട്ടു
'dlopen: stub interception failed' എന്ന സന്ദേശത്തിന്റെ പ്രാഥമിക കാരണം ഇതാണ്
LD_LIBRARY_PATH പരിസ്ഥിതി വേരിയബിളിൽ ഒരു സിംലിങ്ക് ആയ ഒരു ഡയറക്‌ടറി ഉൾപ്പെടുന്നു
/ Usr / lib (അതുപോലെ / ലിബ്). മുകളിൽ "LD_LIBRARY_PATH" കാണുക.

#പിശക് "DATAMODEL_NATIVE വ്യക്തമാക്കിയിട്ടില്ല"
ഒരു gcc ഉപയോഗിച്ച് Solaris 2.6-ൽ perl നിർമ്മിക്കാൻ ശ്രമിക്കുമ്പോൾ ഇതൊരു സാധാരണ പിശകാണ്
സോളാരിസ് 2.5 അല്ലെങ്കിൽ 2.5.1 ൽ നിന്നുള്ള ഇൻസ്റ്റാളേഷൻ. സോളാരിസ് ഹെഡർ ഫയലുകൾ മാറ്റി, അതിനാൽ നിങ്ങൾക്കാവശ്യമുണ്ട്
നിങ്ങളുടെ gcc ഇൻസ്റ്റലേഷൻ അപ്ഡേറ്റ് ചെയ്യാൻ. നിങ്ങൾക്ക് ഒന്നുകിൽ gcc-ൽ നിന്ന് ഫിക്സ്ഇൻക്ലൂഡ് സ്ക്രിപ്റ്റ് വീണ്ടും പ്രവർത്തിപ്പിക്കാം
അല്ലെങ്കിൽ നിങ്ങളുടെ gcc ഇൻസ്റ്റലേഷൻ അപ്ഡേറ്റ് ചെയ്യാനുള്ള അവസരം ഉപയോഗിക്കുക.

sh: ar: കണ്ടെത്തിയില്ല
'ar' എന്ന കമാൻഡ് കണ്ടെത്തിയില്ലെന്ന് നിങ്ങളുടെ ഷെല്ലിൽ നിന്നുള്ള സന്ദേശമാണിത്.
നിങ്ങളുടെ PATH എൻവയോൺമെന്റ് വേരിയബിൾ അതിൽ ഉൾപ്പെട്ടിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ അത് പരിശോധിക്കേണ്ടതുണ്ട്
'ar' കമാൻഡ് ഉള്ള ഡയറക്ടറി. 'ആർ' ഉള്ള സോളാരിസിൽ ഇതൊരു സാധാരണ പ്രശ്നമാണ്
/usr/ccs/bin/ ഡയറക്ടറിയിൽ.

വരുത്തിയേക്കാവുന്ന ടെസ്റ്റ്


op/stat.t പരിശോധന 4 in സൊളാരിസ്
op/stat.t നിങ്ങൾ ഏതെങ്കിലും തരത്തിലുള്ള tmpfs ആണെങ്കിൽ ടെസ്റ്റ് 4 പരാജയപ്പെട്ടേക്കാം. ബിൽഡിംഗ് ഇൻ / tmp ചിലപ്പോൾ
ഈ സ്വഭാവം കാണിക്കുന്നു. നിങ്ങൾ നിർമ്മിക്കുകയാണോ എന്ന് ടെസ്റ്റ് സ്യൂട്ട് കണ്ടെത്തുന്നു / tmp, പക്ഷേ അത് പാടില്ല
എല്ലാ tmpfs സാഹചര്യങ്ങളും പിടിക്കാൻ കഴിയും.

nss_delete കോർ ഡംബ് നിന്ന് op/pwent or op/grent
perlhpux-ൽ "op/pwent അല്ലെങ്കിൽ op/grent-ൽ നിന്നുള്ള nss_delete core dump" കാണുക.

ക്രോസ്-കംപൈലേഷൻ


ഇവിടെ അസാധാരണമായി ഒന്നുമില്ല. നിങ്ങൾക്ക് ഒരു ക്രോസ്-കംപൈലർ ലഭ്യമാണെങ്കിൽ നിങ്ങൾക്ക് ഇത് എളുപ്പത്തിൽ ചെയ്യാൻ കഴിയും;
ഒരു സോളാരിസ് x86 ടാർഗെറ്റ് ചെയ്യുമ്പോൾ ഒരു സാധാരണ കോൺഫിഗർ ഇൻവോക്കേഷൻ ഇതുപോലെ കാണപ്പെടുന്നു:

sh ./Configure -des -Dusecrosscompile \
-Dcc=i386-pc-solaris2.11-gcc \
-Dsysroot=$SYSROOT \
-Alddflags=" -Wl,-z,notext" \
-Dtargethost=... # സാധാരണ ക്രോസ്-കംപൈലേഷൻ ഓപ്ഷനുകൾ

lddflags കൂട്ടിച്ചേർക്കൽ മാത്രമാണ് അസാധാരണമായ ബിറ്റ്.

പ്രിബിൽറ്റ് ബൈനറികൾ OF പേൾ വേണ്ടി സോളാരിസ്.


സോളാരിസിനായി നിങ്ങൾക്ക് മുൻകൂട്ടി നിർമ്മിച്ച ബൈനറികൾ എടുക്കാംhttp://www.sunfreeware.com/>,
<http://www.blastwave.org>, ActiveStatehttp://www.activestate.com/>, ഒപ്പം
<http://www.perl.com/> പേജിന്റെ മുകളിലുള്ള ബൈനറി ലിസ്റ്റിന് കീഴിൽ. ഒരുപക്ഷേ ഉണ്ട്
മറ്റ് ഉറവിടങ്ങളും. ഈ സൈറ്റുകൾ അവരുടെ നിയന്ത്രണത്തിലാണെന്ന കാര്യം ശ്രദ്ധിക്കുക
ബന്ധപ്പെട്ട ഉടമകൾ, perl ഡെവലപ്പർമാർ അല്ല.

പ്രവർത്തിപ്പിക്കുക ISSUES വേണ്ടി പേൾ ON സോളാരിസ്.


പരിധികൾ on സംഖ്യാപുസ്തകം of തുറക്കുക ഫയലുകൾ on സോളാരിസ്.
ദി stdio(3C) LP32 ആപ്ലിക്കേഷനുകൾക്കായി, 255 ഫയലുകൾ മാത്രമേ ഇത് ഉപയോഗിച്ച് തുറക്കാൻ കഴിയൂ എന്ന് manpage രേഖപ്പെടുത്തുന്നു
fopen(), കൂടാതെ 0 മുതൽ 255 വരെയുള്ള ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ മാത്രമേ സ്ട്രീമിൽ ഉപയോഗിക്കാൻ കഴിയൂ. പേൾ മുതൽ
കോളുകൾ തുറക്കുക () എന്നിട്ട് fdopen(3C) തത്ഫലമായുണ്ടാകുന്ന ഫയൽ ഡിസ്ക്രിപ്റ്ററിനൊപ്പം, perl പരിമിതപ്പെടുത്തിയിരിക്കുന്നു
255 ഒരേസമയം തുറന്ന ഫയലുകൾ, എങ്കിൽ പോലും sysopen() ഉപയോഗിക്കുന്നു. ഇത് തെളിയിക്കുകയാണെങ്കിൽ ഒരു
പരിഹരിക്കാനാകാത്ത പ്രശ്നം, നിങ്ങൾക്ക് ഒരു LP64 ആപ്ലിക്കേഷനായി perl കംപൈൽ ചെയ്യാം, "ഒരു LP64 നിർമ്മിക്കുന്നത് കാണുക
വിശദാംശങ്ങൾക്കായി perl". ഓപ്പൺ ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾക്കുള്ള ഡിഫോൾട്ട് റിസോഴ്സ് പരിധി ഓണാണ് എന്നതും ശ്രദ്ധിക്കുക
Solaris 255 ആണ്, അതിനാൽ നിങ്ങളുടെ ulimit അല്ലെങ്കിൽ rctl (Solaris 9 മുതൽ) പരിഷ്‌ക്കരിക്കേണ്ടിവരും
ഉചിതമായി.

സോളാരിസ്-സ്പെസിഫിക് മൊഡ്യൂളുകൾ.


CPAN-ൽ Solaris::, Sun::Solaris നെയിംസ്‌പേസുകൾക്ക് കീഴിലുള്ള മൊഡ്യൂളുകൾ കാണുക, കാണുക
<http://www.cpan.org/modules/by-module/Solaris/> കൂടാതെ
<http://www.cpan.org/modules/by-module/Sun/>.

സോളാരിസ്-സ്പെസിഫിക് പ്രശ്നങ്ങൾ ഉപയോഗിച്ച് മൊഡ്യൂളുകൾ.


പ്രോ::പ്രോസസ്ടേബിൾ on സൊളാരിസ്
Proc::ProcessTable Solaris-ൽ perl5.6.0 ഉം അതിലും ഉയർന്നതും ഉണ്ടെങ്കിൽ കംപൈൽ ചെയ്യുന്നില്ല
വലിയ ഫയലുകൾ നിർവചിച്ചു. 5.6.0 ലും അതിനുശേഷമുള്ളതിലും വലിയ ഫയൽ പിന്തുണ ഡിഫോൾട്ടായതിനാൽ, നിങ്ങൾക്കുണ്ട്
ഈ മൊഡ്യൂൾ ഉപയോഗിക്കുന്നതിന് പ്രത്യേക നടപടികൾ കൈക്കൊള്ളുക.

procfs വഴി ദൃശ്യമാകുന്ന വിവിധ ഘടനകൾ off_t ഉപയോഗിക്കുന്നു എന്നതാണ് പ്രശ്നം, നിങ്ങൾ കംപൈൽ ചെയ്യുകയാണെങ്കിൽ
ലാർജ്‌ഫൈൽ പിന്തുണയോടെ ഇവ 32 ബിറ്റുകളിൽ നിന്ന് 64 ബിറ്റുകളായി മാറുന്നു. അങ്ങനെ നിങ്ങൾക്ക് എന്തിൽ നിന്ന് തിരികെ ലഭിക്കും
perl-ലെ ഘടനകളുമായി procfs പൊരുത്തപ്പെടുന്നില്ല, ഇത് മാലിന്യത്തിന് കാരണമാകുന്നു. കാണുക proc(4)
കൂടുതൽ ചർച്ചയ്ക്കായി.

Largefile ഫ്ലാഗുകൾ വ്യക്തമായി നീക്കം ചെയ്യുന്നതിനായി Makefile എഡിറ്റ് ചെയ്യുക എന്നതാണ് Proc::ProcessTable-നുള്ള ഒരു പരിഹാരം
Config.pm-ൽ നിന്ന് MakeMaker എടുക്കുന്നവയിൽ നിന്ന്. ഇത് Proc::ProcessTable-ൽ കലാശിക്കും
ശരിയായ അന്തരീക്ഷത്തിലാണ് നിർമ്മിക്കുന്നത്. അപ്പോൾ ഉള്ളിടത്തോളം എല്ലാം ശരിയായിരിക്കണം
Proc::ProcessTable, off_t-കൾ perl-ന്റെ ബാക്കി ഭാഗവുമായി പങ്കിടാൻ ശ്രമിക്കുന്നില്ല, അല്ലെങ്കിൽ അവർ അങ്ങനെ ചെയ്യുകയാണെങ്കിൽ
off64_t എന്ന് വ്യക്തമായി വ്യക്തമാക്കിയിരിക്കണം.

BSD:: റിസോഴ്സ് on സൊളാരിസ്
BSD::1.09-ന് മുമ്പുള്ള റിസോഴ്സ് പതിപ്പുകൾ, perl 5.6.0 ഉപയോഗിച്ച് സോളാരിസിൽ കംപൈൽ ചെയ്യുന്നില്ല.
ഉയർന്നത്, Proc::ProcessTable പോലെയുള്ള അതേ കാരണങ്ങളാൽ. BSD:: മുതൽ ആരംഭിക്കുന്ന റിസോഴ്സ് പതിപ്പുകൾ
1.09 പ്രശ്നത്തിന് ഒരു പരിഹാരമുണ്ട്.

നെറ്റ്::എസ്എസ്ലേ on സൊളാരിസ്
നെറ്റ്::SSLeay-ന് ഒരു /dev/urandom ഉണ്ടായിരിക്കണം. ഈ ഉപകരണം സോളാരിസ് 9-ൽ ലഭ്യമാണ്
മുതലുള്ള. മുമ്പത്തെ സോളാരിസ് പതിപ്പുകൾക്കായി നിങ്ങൾക്ക് ഒന്നുകിൽ SUNWski പാക്കേജ് ലഭിക്കും (പാക്കേജ് ചെയ്‌തത്
നിരവധി സൺ സോഫ്‌റ്റ്‌വെയർ ഉൽപ്പന്നങ്ങൾക്കൊപ്പം, ഉദാഹരണത്തിന്, ഇതിന്റെ ഭാഗമായ സൺ വെബ്‌സെർവർ
സോളാരിസിന്റെ ഭാഗമായ സോളാരിസ് സെർവർ ഇൻട്രാനെറ്റ് എക്സ്റ്റൻഷൻ അല്ലെങ്കിൽ സൺ ഡയറക്ടറി സേവനങ്ങൾ
ISP-കൾ) അല്ലെങ്കിൽ ANDIrand പാക്കേജ് ഡൗൺലോഡ് ചെയ്യുകhttp://www.cosy.sbg.ac.at/~andi/>. നിങ്ങൾ ഉപയോഗിക്കുകയാണെങ്കിൽ
SUNWski, /dev/random ചൂണ്ടിക്കാണിക്കുന്ന ഒരു പ്രതീകാത്മക ലിങ്ക് ഉണ്ടാക്കുക. കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക
ഡോക്യുമെന്റ് ID27606 "Differing /dev/random support requirements within Solaris[TM]
പ്രവർത്തന പരിതസ്ഥിതികൾ", ഇവിടെ ലഭ്യമാണ്http://sunsolve.sun.com>.

എന്നതിൽ നിന്ന് ലഭ്യമായ എൻട്രോപ്പി ഗാതറിംഗ് ഡെമൺ (പേളിൽ എഴുതിയത്!) ഉപയോഗിക്കുന്നത് സാധ്യമായേക്കാം
<http://www.lothar.com/tech/crypto/>.

സനോസ് 4.x


SunOS 4.x-ൽ നിങ്ങൾ മിക്കവാറും SunOS ld ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നു, /usr/bin/ld, കൂടുതൽ മുതൽ
GNU ld-ന്റെ സമീപകാല പതിപ്പുകൾ (2.13 പോലെയുള്ളത്) ഇനി Perl നിർമ്മിക്കുന്നതിന് പ്രവർത്തിക്കുമെന്ന് തോന്നുന്നില്ല. എപ്പോൾ
വിപുലീകരണങ്ങൾ ലിങ്ക് ചെയ്യുമ്പോൾ, GNU ld വളരെ അസന്തുഷ്ടനാകുകയും ഇതുപോലുള്ള ധാരാളം പിശകുകൾ ഉണ്ടാക്കുകയും ചെയ്യുന്നു

... സ്ഥലംമാറ്റം അനുയോജ്യമാക്കുന്നതിന് വെട്ടിച്ചുരുക്കി: BASE13 ...

മരിക്കുകയും ചെയ്യുന്നു. അതിനാൽ SunOS 4.1 സൂചന ഫയൽ ld എന്ന് വ്യക്തമായി സജ്ജീകരിക്കുന്നു /usr/bin/ld.

Perl 5.8.1 മുതൽ ലൈബ്രറികളുടെ ഡൈനാമിക് ലോഡിംഗ് (DynaLoader, XSLoader) പോലെ തോന്നുന്നു
SunOS 4.x-ൽ തകർന്നു. അതിനാൽ സ്ഥിരസ്ഥിതിയായി Perl നിർമ്മിക്കുക എന്നതാണ് സ്ഥിരസ്ഥിതി.

SunOS 4.1-ൽ ടെസ്റ്റ് സ്യൂട്ട് പ്രവർത്തിപ്പിക്കുന്നത് അൽപ്പം ബുദ്ധിമുട്ടുള്ള കാര്യമാണ് lib/Tie/File/t/09_gen_rs
ചില അജ്ഞാതമായ കാരണങ്ങളാൽ ടെസ്റ്റ് ഹാംഗ്സ് (സബ്‌ടെസ്റ്റ് #51, FWIW). പരീക്ഷണം നിർത്തി അതിനെ കൊല്ലുക
പ്രത്യേക പേൾ പ്രക്രിയ.

മറ്റ് പല പരാജയങ്ങളും ഉണ്ട്, SunOS 4.1.4, gcc 3.2.2 എന്നിവ gcc പോലെ കാണപ്പെടുന്നു.
ബഗുകൾ. എൻകോഡ് ടെസ്റ്റുകളിൽ പല പരാജയങ്ങളും സംഭവിക്കുന്നു, ഉദാഹരണത്തിന് ടെസ്റ്റ് നടത്തുമ്പോൾ
"0" നിങ്ങൾക്ക് "XNUMX" ലഭിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു, ഇത് അൽപ്പം കണ്ണുചിമ്മിയതിന് ശേഷം വളരെ വിചിത്രമായി കാണപ്പെടും.
മറ്റൊരു ഉദാഹരണം നേരത്തെയാണ് t/run/fresh_perl എവിടെ ബി.സി(0xff) പ്രതീക്ഷിക്കുന്നു, പക്ഷേ പരീക്ഷണം
ഫലമായതിനാൽ പരാജയപ്പെടുന്നു ബി.സി(0xff). കൃത്യമായി.

പറഞ്ഞ കോമ്പിനേഷനിൽ നിന്നുള്ള "മേക്ക് ടെസ്റ്റ്" ഫലമാണിത്:

27-ൽ 745 ടെസ്റ്റ് സ്ക്രിപ്റ്റുകളും പരാജയപ്പെട്ടു, 96.38% ഓകെ.

യൂണികോഡുമായി ബന്ധപ്പെട്ട നിരവധി പരിശോധനകൾ പരാജയപ്പെടുന്നതിനാൽ "ഹാർനെസ്" പ്രവർത്തിപ്പിക്കുന്നത് വേദനാജനകമാണ്
മെഗാബൈറ്റ് പരാജയ സന്ദേശങ്ങൾ പുറപ്പെടുവിക്കുന്നു, എന്നാൽ ഒരാൾ ക്ഷമയോടെ കാത്തിരിക്കുകയാണെങ്കിൽ, ഒരാൾക്ക് ഈ ഫലങ്ങൾ ലഭിക്കും:

പരാജയപ്പെട്ട ടെസ്റ്റ് സ്റ്റാറ്റ് Wstat ആകെ പരാജയം പരാജയപ്പെട്ട ലിസ്റ്റ് പരാജയപ്പെട്ടു
-------------------------------------------------- ---------------------------
...
../ext/Encode/t/at-cn.t 4 1024 29 4 13.79% 14-17
../ext/Encode/t/at-tw.t 10 2560 17 10 58.82% 2 4 6 8 10 12
14-17
../ext/Encode/t/enc_data.t 29 7424 ?? ?? % ??
../ext/Encode/t/enc_eucjp.t 29 7424 ?? ?? % ??
../ext/Encode/t/enc_module.t 29 7424 ?? ?? % ??
../ext/Encode/t/encoding.t 29 7424 ?? ?? % ??
../ext/Encode/t/grow.t 12 3072 24 12 50.00% 2 4 6 8 10 12 14
16 18 20 22 24
പരാജയപ്പെട്ട ടെസ്റ്റ് സ്റ്റാറ്റ് Wstat ആകെ പരാജയം പരാജയപ്പെട്ട ലിസ്റ്റ് പരാജയപ്പെട്ടു
-------------------------------------------------- ----------------------------
../ext/Encode/t/guess.t 255 65280 29 40 137.93% 10-29
../ext/Encode/t/jperl.t 29 7424 15 30 200.00% 1-15
../ext/Encode/t/mime-header.t 2 512 10 2 20.00% 2-3
../ext/Encode/t/perlio.t 22 5632 38 22 57.89% 1-4 9-16 19-20
XXX- 23- 24
../ext/List/Util/t/shuffle.t 0 139 ?? ?? % ??
../ext/PerlIO/t/encoding.t 14 1 7.14% 11
../ext/PerlIO/t/fallback.t 9 2 22.22% 3 5
../ext/Socket/t/socketpair.t 0 2 45 70 155.56% 11-45
../lib/CPAN/t/vcmp.t 30 1 3.33% 25
../lib/Tie/File/t/09_gen_rs.t 0 15 ?? ?? % ??
../lib/Unicode/Collate/t/test.t 199 30 15.08% 7 26-27 71-75
81- 88 95
103-104 106 108-
109 122 124 161
169-172
../lib/sort.t 0 139 119 26 21.85% 107-119
op/alarm.t 4 1 25.00% 4
op/utfhash.t 97 1 1.03% 31
run/fresh_perl.t 91 1 1.10% 32
uni/tr_7jis.t ?? ?? % ??
uni/tr_eucjp.t 29 7424 6 12 200.00% 1-6
uni/tr_sjis.t 29 7424 6 12 200.00% 1-6
56 ടെസ്റ്റുകളും 467 സബ്‌ടെസ്റ്റുകളും ഒഴിവാക്കി.
27/811 ടെസ്റ്റ് സ്ക്രിപ്റ്റുകൾ പരാജയപ്പെട്ടു, 96.67% ശരിയാണ്. 1383/75399 സബ്‌ടെസ്റ്റുകൾ പരാജയപ്പെട്ടു, 98.17% ശരി.

ദി അലാറം() ടെസ്റ്റ് പരാജയം കാരണം സിസ്റ്റം() പ്രത്യക്ഷത്തിൽ തടയുന്നു അലാറം(). അതാണ്
ഒരുപക്ഷേ ഒരു libc ബഗ് ആയിരിക്കാം, കൂടാതെ SunOS 4.x വർഷങ്ങൾക്ക് മുമ്പ് ജീവിതാവസാനമായതിനാൽ, പിടിച്ചുനിൽക്കരുത്
ഒരു പരിഹാരത്തിനായി നിങ്ങളുടെ ശ്വാസം. അതിനുപുറമെ, പ്രത്യേകിച്ച് യൂണികോഡ്-y ഒന്നും പരീക്ഷിക്കരുത്
എൻകോഡ് ഉപയോഗിച്ച്, നിങ്ങൾ SunOS 4.x-ൽ നന്നായിരിക്കും.

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് perlsolaris ഓൺലൈനായി ഉപയോഗിക്കുക


സൗജന്യ സെർവറുകളും വർക്ക്സ്റ്റേഷനുകളും

Windows & Linux ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക

ലിനക്സ് കമാൻഡുകൾ

Ad




×
വിജ്ഞാപനം
❤️ഇവിടെ ഷോപ്പുചെയ്യുക, ബുക്ക് ചെയ്യുക അല്ലെങ്കിൽ വാങ്ങുക — ചെലവില്ലാതെ, സേവനങ്ങൾ സൗജന്യമായി നിലനിർത്താൻ സഹായിക്കുന്നു.