Project

General

Profile

Bug #11898

Multiple errors for openindiana/slim_source on SPARC

Added by Gary Mills about 1 year ago.

Status:
New
Priority:
Normal
Assignee:
Category:
OI-Userland
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
sparc

Description

The OI source is from 2018. Consequently, there may be a new version of the source, or some of the bugs may have already been fixed. Though the changes have been developed on SPARC hardware, they might correct bugs in some x86 packages. In any case, they should not damage other x86 packages.

During the build of openindiana/slim_source, I got the following errors:

In file included from welcome-screen.c:39:
interface-globals.h:37:25: error: glade/glade.h: No such file or directory
In file included from interface-globals.h:38,
                 from welcome-screen.c:39:
...
main.c:33:21: error: gtk/gtk.h: No such file or directory
main.c:34:25: error: glade/glade.h: No such file or directory

It was trying to build subdirectories that require graphics. The solution was to build a text-only installer. The patch patches/cmd.patch accomplishes this change. You will need to create the patches directory manually. Next, I got this error during the build:

/usr/gcc/4.4.4/bin/gcc -xc99=%none -O -Wa,-xcg92  -c  mkmsgs.c
gcc: language c99=%none not recognized
gcc: language c99=%none not recognized
gcc: mkmsgs.c: linker input file unused because linking not done
mcs: mkmsgs.o: cannot open file.
        No such file or directory
*** Error code 1

It was using cc options with the gcc compiler. The solution is to correct Makefile.master with equivalent gcc options. The patch patches/flags.patch accomplishes this change. Note that this patch can be applied to oi-userland source without damage to x86 builds. Next, I got this error during the build:

ti_mg.c:284: warning: implicit declaration of function 'idm_create_disk_label'
ti_mg.c:284: warning: implicit declaration of function 'idm_create_disk_label'

This error is caused by the function not being declared. The solution is to add the declaration to ti_dm.h . The patch patches/libti.patch accomplishes this change. Finally, I got a successful build. The publish step failed with this error:

dmake: Warning: Command failed for target `users-screen.o'
Current working directory /dpool.../oi-userland-apr/components/openindiana/slim_source/slim_source/usr/src/cmd/gui-install/src
...
dmake: Warning: Target `install-exec-am' not remade because of errors
Current working directory /dpool.../oi-userland-apr/components/openindiana/slim_source/slim_source/usr/src/cmd/gui-install/src
*** Error code 1

It was attempting to publish GUI packages, even though they were unwanted. The solution is to omit these manifests. The patch Makefile.diff accomplishes this change. Finally, I got a successful publish. The following error only shows up when the distro constructor is used to create an ISO file:

==== ba-config: Boot archive configuration 
ln: /mnt/misc/etc/certs/CA/T\xc3\x9c\x42\xC4\xB0TAK_UEKAE_K\xC3\xB6k_Sertifika_Hizmet_Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1_-_S\xC3\xBCr\xC3\xBCm_3.pem: cannot link to etc/certs/CA/T\xc3\x9c\x42\xC4\xB0TAK_UEKAE_K\xC3\xB6k_Sertifika_Hizmet_Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1_-_S\xC3\xBCr\xC3\xBCm_3.pem [File exists]
ln: /mnt/misc/etc/certs/CA/AC_Ra\xC3\xADz_Certic\xC3\xA1mara_S.A..pem: cannot link to etc/certs/CA/AC_Ra\xC3\xADz_Certic\xC3\xA1mara_S.A..pem [File exists]
==== plat-setup: Platform specific setup 
==== ba-arch: Boot archive archiving 
342288 blocks
fiocompress: cannot open ./etc/certs/CA/Txc3x9cx42xC4xB0TAK_UEKAE_KxC3xB6k_Sertifika_Hizmet_SaxC4x9Flayxc4xb1x63xc4xb1sxc4xb1_-_SxC3xBCrxC3xBCm_3.pem - No such file or directory
/usr/share/distro_const/boot_archive_archive.py: error compressing file ./etc/certs/CA/T\xc3\x9c\x42\xC4\xB0TAK_UEKAE_K\xC3\xB6k_Sertifika_Hizmet_Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1_-_S\xC3\xBCr\xC3\xBCm_3.pem: Unknown error
fiocompress: cannot open ./etc/certs/CA/AC_RaxC3xADz_CerticxC3xA1mara_S.A..pem - No such file or directory
/usr/share/distro_const/boot_archive_archive.py: error compressing file ./etc/certs/CA/AC_Ra\xC3\xADz_Certic\xC3\xA1mara_S.A..pem: Unknown error
sh: syntax error at line 1: `(' unexpected
/usr/share/distro_const/boot_archive_archive.py: error compressing file ./etc/certs/CA/NetLock_Arany_(Class_Gold)_Főtanúsítvány.pem: No such process

What happens here is that the shell is confused by backslash and brackets. The solution is to modify boot_archive_archive.py and boot_archive_configure so that file names are used exactly as specified. The patches patches/ut-ba-archive.patch patches/ut-ba-configure.patch accomplish these changes. With these changes, I was able to create the ISO file. However, when I tried to install the operating system, the boot block was not installed. Instead, I got this error:

2019-10-16 13:20:19,600 - ERROR   : install_utils.py:411 bootadm: invalid   
option or missing option argument: -M
2019-10-16 13:20:19,602 - ERROR   : install_utils.py:411 USAGE:             
2019-10-16 13:20:19,603 - ERROR   : install_utils.py:411    bootadm         
update-archive [-vn] [-R altroot [-p platform]]
2019-10-16 13:20:19,603 - ERROR   : install_utils.py:411    bootadm         
list-archive [-R altroot [-p platform]]
2019-10-16 13:20:19,604 - ERROR   : install_utils.py:411    bootadm         
install-bootloader [-fv] [-R altroot] [-P pool]
2019-10-16 13:20:19,605 - ERROR   : ti_install.py:163 Failed to execute     
bootadm install-bootloader
2019-10-16 13:20:20,376 - ERROR   : ti_install.py:675 One or more ICTs      
failed. See previous log messages

The bootadm command complained about the -M option. Indeed, the SPARC version of the command does not accept this option. The solution was to modify ti_install.py so that it issued the bootadm command differently, for the x86 and SPARC architectures. The patch patches/oi-ti-ti_install.patch accomplishes this change. With this final change, the ISO correctly installed the boot block. The OS booted and ran correctly.


Files

Makefile.diff (1.48 KB) Makefile.diff Gary Mills, 2019-10-30 06:07 PM
cmd.patch (566 Bytes) cmd.patch Gary Mills, 2019-10-30 06:07 PM
flags.patch (1.16 KB) flags.patch Gary Mills, 2019-10-30 06:08 PM
libti.patch (639 Bytes) libti.patch Gary Mills, 2019-10-30 06:08 PM
oi-ti-ti_install.patch (1.09 KB) oi-ti-ti_install.patch Gary Mills, 2019-10-30 06:08 PM
ut-ba-archive.patch (695 Bytes) ut-ba-archive.patch Gary Mills, 2019-10-30 06:09 PM
ut-ba-configure.patch (704 Bytes) ut-ba-configure.patch Gary Mills, 2019-10-30 06:09 PM

No data to display

Also available in: Atom PDF