Note su Solaris Express Developer Edition

Problemi di Solaris Express Developer Edition 9/07

In Developer 9/07 sono stati riscontrati i seguenti problemi.

x86: Problemi dell'installazione in multiboot di Vista (6598208)

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:

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.


Nota –

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:

  1. Avviare Windows Vista.

  2. 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.

  3. 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.

  4. Riavviare il sistema e installare il sistema operativo Solaris.

Installazione di versioni locali europee non previste (6594145)

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.

I sistemi Sun4U non accedono alla rete dopo un ripristino CPR (6593956)

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:

I messaggi visualizzati sulla console per la chiusura della sessione e lo shutdown non sono corretti nelle versioni locali cinesi e coreana (6592664)

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:

  1. Scaricare il file l10nmessages-vermillion_*.tar da http://dlc.sun.com/osol/jds/downloads/current/.

  2. 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.

x86: Il segnale 11 SIGSEGV termina dopo l'avvio di RTC (6584707)

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

x86: Avvisi non necessari sulle risorse di I/O in alcuni sistemi (6573171)

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:

Soluzione. Nessuna.

x86: La dimensione errata del disco provoca errori delle chiamate libspmistore.so (6570738)

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:

x86: Messaggio di errore di gnome—about (6561499)

Dopo l'installazione, viene visualizzato il seguente messaggio di errore:


application gnome-about has crashed.

Questo messaggio di errore può essere ignorato.

Soluzione. Nessuna.

Voci di menu in inglese nella versione locale cinese (6555226)

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:

Opzione di installazione con 512 Mbyte di memoria (6512362)

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:

Per maggiori informazioni su questo tipo di installazioni, vedere la Guida all'installazione di Solaris Express: installazioni di base.

La guida contiene solo due argomenti nelle versioni locali diverse da C/POSIX (6412835)

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:

Non viene visualizzato nessun messaggio di errore.

Soluzione. Procedere come segue:

  1. Eseguire il login come root.

  2. 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.

x86: Impossibile trovare il browser predefinito per Sun Studio Express June 2007 e NetBeans (6512279)

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):

Queste istruzioni sono imprecise in due punti. Qui di seguito vengono descritti i problemi e le relative soluzioni:

Modifiche ai tipi uid_t e gid_t nella versione Developer 9/07

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:

Impatto sui nuovi file binari compilati in C:

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 }

Nota –

I nuovi file binari in C compilati possono utilizzati insieme ai vecchi oggetti e oggetti di sistema. La dimensione del tipo non è cambiata.


Impatto sul codice C++.

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.