In Developer 9/07 sono stati riscontrati i seguenti problemi.
Il programma fdisk di Windows Vista adotta un nuovo approccio per l'allocazione di settori aggiuntivi su un disco rigido. Vista alloca lo spazio in multipli di 2048 settori. Questa modifica influisce sul processo di multiboot della versione Developer 9/07 su alcuni laptop dove è preinstallato Vista. Il comando fdisk segnala un errore durante l'installazione quando viene letta la tabella delle partizioni esistente.
Durante l'installazione della versione Developer 9/07 su un sistema dove è presente Windows Vista, si possono verificare i seguenti problemi:
L'installazione non riesce con il seguente messaggio di errore:
Not enough free space |
L'esecuzione di fdisk non riesce con il seguente messaggio di errore:
fdisk: Cannot Create partition table |
Verificare la presenza del problema usando il seguente comando:
fdisk -d <device> |
Ad esempio:
# fdisk -d c0d0p0 Physical Geometry: cylinders[30400] heads[255] sectors[63] sector size[512] blocks[488376000] mbytes[896] Virtual (HBA) Geometry: cylinders[30400] heads[255] sectors[63] sector size[512] blocks[488376000] mbytes[896] Partition Table Entry Values: SYSID ACT BHEAD BSECT BEGCYL EHEAD ESECT ENDCYL RELSECT NUMSECT 191 128 0 1 1 254 63 1023 16065 488359935 100 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 100 100 |
La capacità massima del disco è indicata dal valore in blocchi 488376000. Il settore allocato più elevato può essere calcolato dalla tabella di partizionamento con l'operazione 16065 + 488359935, ovvero 488376000. Se il valore del settore allocato più elevato è superiore alla capacità del disco, allora il problema è presente.
Se Solaris non è installato sul sistema, è possibile avviarlo usando il CD o DVD di installazione e quindi selezionare l'opzione per passare alla shell nelle fasi iniziali della procedura.
Soluzione. Creare un CD di ripristino delle partizioni del disco rigido interessate. Procedere come segue:
Avviare Windows Vista.
Ridurre le dimensioni dell'ultima partizione. Accedere a Windows -> Pannello di controllo -> Sistema e manutenzione -> Strumenti di amministrazione -> Crea e formatta le partizioni del disco rigido.
Fare clic con il pulsante destro del mouse sull'ultima partizione a destra e selezionare Riduci volume. Ridurre il volume di circa 9 Mbyte.
Data la differenza di calcolo tra la versione di fdisk di Vista e quella di Solaris, una riduzione di circa 9 MByte dovrebbe consentire di risolvere il problema del programma di installazione di Solaris.
Riavviare il sistema e installare il sistema operativo Solaris.
Quando si utilizza il nuovo programma di installazione rapida di Solaris e si seleziona il supporto di una lingua europea, incluso l'inglese, vengono installate altre versioni locali europee a causa del raggruppamento su base geografica dei pacchetti. Non viene visualizzato nessun messaggio di errore.
Soluzione. Nessuna.
Al ripristino dopo un'operazione di sospensione, i sistemi Sun4UTM con interfacce hme non riescono più ad accedere alla rete. I sistemi Ultra 10, Ultra 60 e Ultra 80 non possono più comunicare in rete ed essere raggiunti o raggiungere altri sistemi con ping. Non viene visualizzato nessun messaggio di errore.
Soluzione. Scegliere una delle seguenti procedure:
Per non utilizzare il comando suspend, disabilitare la gestione dei consumi a livello del sistema.
Dopo il ripristino da un'operazione di sospensione, usare il comando snoop -d hme0 -c1.
Il bug interessa gli utenti cinesi e coreani. Quando l'utente chiude la sessione o esegue lo shutdown, viene visualizzata una finestra di dialogo con uno dei seguenti messaggi:
You will be automatically logged out in 60 seconds |
Oppure:
The system will be automatically shutdown in 60 seconds |
Le traduzioni in lingua cinese e coreana di questi messaggi sono errate. Non viene visualizzato nessun messaggio di errore.
Soluzione. Scaricare il file gnome-panel.mo dalla comunità di OpenSolaris e sostituire il file gnome-panel.mo con quello scaricato. Procedere come segue:
Scaricare il file l10nmessages-vermillion_*.tar da http://dlc.sun.com/osol/jds/downloads/current/.
Sostituire il file gnome-panel.mo originale con il file estratto in SUNWgnome-l10nmessages-zhCN/reloc/share/locale/zh/LC_MESSAGES/gnome-panel.mo.
I messaggi compariranno in lingua inglese.
Il controllo runtime (RTC) non riesce nella versione Developer 9/07. RTC esegue la strumentazione delle istruzioni di accesso alla memoria per il controllo degli accessi. Queste istruzioni sono gestite da un gestore SIGSEGV nella fase di esecuzione. Poiché RTC richiede il proprio gestore SIGSEGV e uno stack di segnali alternativo, ogni tentativo di installare un gestore SIGSEGV o uno stack sigaltstack viene ignorato o produce un errore EINVAL. Le chiamate al gestore SIGSEGV non possono essere annidate. Viene visualizzato il seguente messaggio di errore:
terminating signal 11 SIGSEGV |
Soluzione. Usare il comando rtc skippatch per ignorare la strumentazione della funzione interessata.
Ad esempio, i seguenti comandi dbx risolvono il problema di annidamento di segv:
rtc skippatch libc.so -f lrw_rdlock lrw_unlock lrw_wrlock _lock_try rtc skippatch libc.so -f read_lock_try read_unlock_try write_lock_try write_unlock_try rtc skippatch libc.so -f queue_unlink mqueue_spawner thread_queue_dump rtc skippatch libc.so -f thread_queue_fifo thread_queue_spin thread_queue_verify rtc skippatch libc.so -f __rw_unlock __rw_trywrlock __rw_workerscnt rtc skippatch libc.so -f __rwlock_destroy __rwlock_init |
Su alcuni sistemi, come i modelli Sun V40z e i laptop (ad esempio il sistema Acer Ferrari 5000), possono essere visualizzati messaggi di avviso relativi all'avvio e alle risorse di I/O. Questi avvisi indicano possibili errori delle operazioni di inserimento a caldo sugli slot segnalati nel messaggio.
Su alcuni sistemi, questi messaggi di avviso sono imprecisi ed errati quando si riferiscono a slot in cui le operazioni di inserimento a caldo non sono supportate. Ignorare i messaggi di avviso se l'inserimento a caldo non è supportato nello slot.
Quando l'inserimento a caldo è supportato, gli avvisi cono corretti e si può effettivamente verificare un errore nell'operazione sugli slot bridge specificati. Questo tipo di errori non ha alcun effetto sullo stato corrente o sulla funzionalità del sistema.
Gli esempi riportati di seguito mostrano alcuni dei messaggi che possono essere visualizzati:
WARNING: out of I/O resources on bridge: bus 0x20, dev 0x3, func 0x0, for secondary bus 0x23 WARNING: devices under bridge bus 0x20, dev 0x3, func 0x0 will not be assigned I/O ports |
WARNING: detected unsupported configuration: non-empty bridge (bus 0x0 dev 0x7 func 0x0) without I/O resources assigned by bios for secondary bus 0x7 |
WARNING: devices under bus 0x0, dev 0x7, func 0x0 will not be assigned I/O ports |
Soluzione. Nessuna.
In alcune condizioni, fdisk segnala una dimensione errata del disco. A causa di questo errore, l'ultima partizione sembra estendersi oltre le dimensioni del disco. In queste condizioni l'installazione può non riuscire o richiedere l'utilizzo dell'intero disco come impostazione predefinita. Viene visualizzato il seguente messaggio di errore:
Installation can not create Solaris fdisk partition (c1t0d0p0), causing installation failure. Or, invalid fdisk partition causes installation to overwrite the entire disk. |
Soluzione. Scegliere una delle seguenti procedure:
Spostare l'ultima partizione utilizzando gparted o uno strumento analogo, in modo che rientri nelle dimensioni del disco rilevate da fdisk. Questa modifica consente di completare l'installazione.
Per i sistemi Windows Vista dotati di partizioni di ripristino che utilizzano NTFS, usare lo strumento di partizionamento del disco di Vista per ridurre le dimensioni dell'ultima partizione. Questa operazione garantisce che la dimensione della partizione non superi quella del disco. Una riduzione della dimensione dell'ultima partizione di circa 1 Mbyte consente di completare l'installazione.
Dopo l'installazione, viene visualizzato il seguente messaggio di errore:
application gnome-about has crashed. |
Questo messaggio di errore può essere ignorato.
Soluzione. Nessuna.
Alcune voci di menu e vari elementi dell'interfaccia utente di GOK (GNOME On-Screen Keyboard) vengono visualizzati in inglese quando è stato eseguito il login nella versione locale cinese. Le voci di menu elencate nella sezione Tutte le applicazioni compaiono in inglese. Non viene visualizzato nessun messaggio di errore.
Soluzione. Scegliere una delle seguenti procedure:
Selezionare la versione locale zh_CN.xxx al posto della versione zh.
Modificare il file /usr/dt/config/Xinitrc.jds come segue:
Individuare le seguenti istruzioni nel file:
export G_FILENAME_ENCODING=@locale,UTF-8 export G_BROKEN_FILENAMES=yes (2) |
Inserire le seguenti istruzioni prima del codice riportato sopra:
if [ "x$LANG" = "xzh" ] ; then export LANGUAGE=zh:zh_CN.EUC fi |
Salvare il file ed eseguire nuovamente il login.
512 Mbyte di memoria non sono sufficienti per installare Solaris Express Developer Edition con il programma di installazione con interfaccia grafica. Sono richiesti almeno 768 Mbyte di memoria per l'installazione della versione Developer.
Soluzione. Scegliere una delle seguenti procedure:
Sistemi x86: nel menu di GRUB, scegliere l'opzione di installazione Solaris Express Serial Console ttyb (n. 4). Questa opzione attiva un'installazione in modalità testo che richiede solo 512 Mbyte di memoria. Viene installato solo il sistema operativo ma non gli strumenti per sviluppatori. È possibile aggiungerli manualmente al termine dell'installazione.
Sistemi SPARC: usare il seguente comando di installazione:
ok boot cdrom - text |
Questa opzione attiva un'installazione in modalità testo che richiede solo 512 Mbyte di memoria. Viene installato solo il sistema operativo ma non gli strumenti per sviluppatori. È possibile aggiungerli manualmente al termine dell'installazione.
Per maggiori informazioni su questo tipo di installazioni, vedere la Guida all'installazione di Solaris Express: installazioni di base.
Quando si effettua il login in Solaris e si sceglie l'opzione Guida dal menu Apri, viene visualizzata una finestra con 12 argomenti sul lato sinistro. Nelle versioni locali diverse da C/POSIX vengono visualizzati solo due argomenti anziché dodici. Gli argomenti visualizzati sono:
Pagine man
Pagine GNU Info
Non viene visualizzato nessun messaggio di errore.
Soluzione. Procedere come segue:
Eseguire il login come root.
Usare i comandi seguenti:
- scrollkeeper-update -q - cp -rf /var/lib/scrollkeeper/C /var/lib/scrollkeeper/xx_yy.zzz |
Dove xx_yy.zzz indica il nome della versione locale desiderata.
La pagina HTML “Developer Guide” che viene visualizzata al primo login indica all'utente di utilizzare la documentazione introduttiva (“Getting Started”) di Sun Studio 12 e NetBeans 5.5 per ottenere informazioni su questi prodotti. Il testo presente sul lato destro della pagina HTML contiene le seguenti istruzioni (in lingua inglese):
Avviare Sun Studio Express e consultare il Getting Started Tutorial presente nell'IDE
Avviare NetBeans 5.5 e selezionare Getting Started nell'IDE
Queste istruzioni sono imprecise in due punti. Qui di seguito vengono descritti i problemi e le relative soluzioni:
Il nome corretto del documento di Sun Studio è Quick Start Guide e non Getting Started Tutorial; il documento è presente nel menu Help. Il problema non richiede una soluzione.
Gli IDE di Sun Studio e NetBeans si aspettano di trovare Mozilla in /usr/dist/exe/. Solaris Express Developer Edition include il browser Firefox al posto di Mozilla. Per poter accedere ai documenti introduttivi o a qualsiasi pagina su Internet, è necessario specificare Firefox come browser sia per Sun Studio che per NetBeans.
Soluzione. Per selezionare Firefox come browser, procedere come segue:
Fare clic su Tools nella barra dei menu e selezionare Options.
Viene visualizzata la finestra di dialogo Options. Nella sezione General, cercare la riga seguente:
*Web Browser*: Mozilla |
Fare clic sulla freccia a destra accanto alla casella che contiene la voce Mozilla e selezionare Firefox.
Fare clic su OK.
Aprire la documentazione introduttiva o un collegamento Internet per verificare l'utilizzo del browser Firefox.
Se Mozilla è ancora impostato come browser quando si seleziona la documentazione introduttiva o un altro collegamento, viene visualizzata una finestra di dialogo che spiega come correggere il problema. Seguire le istruzioni riportate qui sopra al posto di quelle indicate nella finestra di dialogo.
Per promuovere la compatibilità con altri sistemi operativi, i tipi uid_t e gid_t sono stati trasformati da long (file binari a 32 bit) e int (file binari a 64 bit) in uint32_t. Per maggiori informazioni, vedere Modifiche ai tipi uid_t e gid_t nel manuale Nuove funzioni di Solaris Express Developer Edition.
Qui di seguito sono riportate le conseguenze di questa modifica:
Quando il codice viene ricompilato, le normali procedure di sviluppo dovrebbero essere in grado di identificare eventuali problemi legati alle modifiche al tipo di uid_t e gid_t.
Le aree problematiche da tenere in considerazione sono le seguenti:
1 #include <unistd.h> 2 #include <stdlib.h> 3 #include <stdio.h> 4 5 int 6 main(void) 7 { 8 uid_t negone = -1; 9 10 if (getuid() < 0) 11 exit(1); 12 13 (void) setreuid(negone, getuid()); 14 15 (void) printf("%ld\n", getuid()); 16 17 return (0); 18 } |
Il seguente avviso viene generato dal compilatore Sun Studio 11:
"uid.c", line 8: warning: initializer does not fit or is out of range: -1" |
I seguenti avvisi sono generati da lint in Studio 11:
((8) warning: constant truncated by assignment |
(8) warning: initializer will be sign-extended: -1 |
(10) warning: suspicious comparison of unsigned with 0: op "<" |
function argument ( number ) type inconsistent with format |
|
I seguenti avvisi sono generati da gcc -Wall -Wextra:
uid.c:10: warning: comparison of unsigned expression < 0 is always false |
uid.c:15: warning: long int format, uid_t arg (arg 2) |
I nuovi file binari in C compilati possono utilizzati insieme ai vecchi oggetti e oggetti di sistema. La dimensione del tipo non è cambiata.
La modifica dei tipi uid_t e gid_t comporta una decorazione diversa dei nomi delle funzioni e degli oggetti C++.
Come i file binari in C, anche i file binari e le librerie in C++ funzionano correttamente come in precedenza. L'unica eccezione si verifica quando le librerie contengono interfacce che utilizzano uid_t e gid_t. In questo caso, le librerie che contengono tali interfacce e le applicazioni che utilizzano le interfacce devono essere ricompilate insieme.
Poiché il sistema operativo Solaris non espone interfacce C++ di questo tipo, non dovrebbero verificarsi incompatibilità con le librerie di Solaris.