Status OI Hipster on sparc

Situation

To be able to build oi-userland you need pretty recent compilers and tools, that have never been packaged for OI/sparc. The build system here is a T5220 running a LDOM with a OI/sparc image from Adam 'teferi' Glasgall. This is a not complete OI b151a built and uses also old OpenSolaris software. So the big first challange is: bootstrapping the system to be able to build anything from oi-userland.

Some parts are bootstrapped out of oi-userland by running gmake publish (which fails at the end, because pkg5 is not recent enough), change to the build/sparcvX dir and run gmake install. Some parts are bootstrapped by using the source tar-balls directly from the publishers website (gnu coreutils and binutils). The gcc4.8 from oi-userland was bootstrapped using the illumos gcc4.4.4 using for illumos-gate builds.

Once the bootstrapping is done and we have core-components built, we will set up a jenkins server and configure the automatic build system.

Status

Bootstrap [6/9] [66%]

  • [X] gcc 4.8
    • [X] small patch that removes -gtoggle in bootstrap-debug.mk
  • [X] gcc 4.9
    • [X] small patch that removes -gtoggle in bootstrap-debug.mk
    • [ ] open issue: set RPATH during compile to /usr/gcc/4.9/lib and lib/64
  • [X] python 2.7
    • [X] fix the segfault in python -m test.regrtest (ctypes is known to be broken and was commented out during build)
           [ 98/401] test_ctypes
           Segmentation Fault (core dumped)
           (segfaults also after update to 2.7.12 in the same test)
dev@olafdev:~$ dbx /usr/bin/python 
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.8' in your .dbxrc
Reading python
Reading ld.so.1
Reading libc.so.1
(dbx) run -m test.regrtest test_ctypes
Running: python -m test.regrtest test_ctypes 
(process id 967941)
Reading libpython2.7.so.1.0
Reading libdl.so.1
Reading _locale.so
Reading libintl.so.1
Reading libm.so.2
Reading _struct.so
Reading _json.so
Reading math.so
Reading binascii.so
Reading libz.so.1
Reading _hashlib.so
Reading libcrypto.so.0.9.8
Reading libsocket.so.1
Reading libnsl.so.1
Reading libmd.so.1
Reading libmp.so.2
Reading _random.so
Reading _collections.so
Reading operator.so
Reading itertools.so
Reading _heapq.so
Reading grp.so
Reading time.so
Reading _functools.so
Reading cStringIO.so
Reading _io.so
Reading fcntl.so
Reading strop.so
Reading _socket.so
Reading _ssl.so
Reading libssl.so.0.9.8
[1/1] test_ctypes
Reading _ctypes.so
Reading libffi.so.6.0.1
Reading _ctypes_test.so
Reading array.so
Reading _testcapi.so
signal SEGV (no mapping at the fault address) in (unknown) at 0x35248
0x00035248:     sethi    %hi(0xfe352c00), %g1
(dbx) where
  [1] 0x35248(0x2a, 0xffbfbaf8, 0xfeece730, 0x1, 0x0, 0xffbfba20), at 0x35248 
  [2] 0xfe352ef0(0xfe352348, 0xffbfbb50, 0x60, 0x6, 0xffbfbbf0, 0x35248), at 0xfe352ef0 
  [3] ffi_call(0xffbfbc48, 0x35248, 0xffbfbbf0, 0xffbfbbe0, 0xffbfbbd0, 0xfe145728), at 0xfe3529f0 
  [4] _ctypes_callproc(0x0, 0xfe3e6778, 0xffbfbbe0, 0xffbfbbf0, 0xffbfbc48, 0x0), at 0xfe393814 
  [5] PyCFuncPtr_call(0xfe2aa9d0, 0xfe142f50, 0x0, 0x1, 0x0, 0x0), at 0xfe388fbc 
  [6] PyObject_Call(0xfe2aa9d0, 0xfe142f50, 0x0, 0xfe388ed4, 0x26, 0xff08deb8), at 0xfeecddec 
  [7] PyEval_EvalFrameExReal(0xff08dc44, 0xfe672694, 0xfe6726bb, 0xfe14b1a8, 0xff076c1c, 0xff08dc48), at 0xfefa1598 
  [8] PyEval_EvalFrameEx(0xfe14b1a8, 0x0, 0xc, 0xfe1eac80, 0xfe1eadd0, 0x3e33c), at 0xfefa559c 
  [9] PyEval_EvalFrameExReal(0xff08dc44, 0xfe3d6db4, 0xfe3d6dc3, 0xfe1eac90, 0xff076c1c, 0xff08dc48), at 0xfefa193c 
  [10] PyEval_EvalFrameEx(0xfe1eac90, 0x0, 0x4, 0xfe3f1610, 0xfeb9ae9c, 0xfe1a3790), at 0xfefa559c 
  [11] PyEval_EvalFrameExReal(0xff08dc44, 0x10b35c, 0x10b4bf, 0xfeb9ad30, 0xff076c1c, 0xff08dc48), at 0xfefa193c 
  [12] PyEval_EvalFrameEx(0xfeb9ad30, 0x0, 0xfebae030, 0xfe1f3bb0, 0xfeb9ad20, 0xfeb9ad30), at 0xfefa559c 
  [13] PyEval_EvalCodeEx(0xfe660e78, 0x0, 0x168, 0xfe1f3bcc, 0x0, 0xc), at 0xfefa5f54 
  [14] function_call(0xfe67d970, 0xfe1f3bc0, 0xfe149780, 0xffbfc2d4, 0x40e55eb, 0xff0c003c), at 0xfef096a0 
  [15] PyObject_Call(0xfe67d970, 0xfe1f3bc0, 0xfe149780, 0xfef09560, 0x22, 0xff08deb8), at 0xfeecddec 
  [16] PyEval_EvalFrameExReal(0xff08dc44, 0xfe6650ac, 0xfe6650bb, 0xfe14a738, 0xff076c1c, 0xff08dc48), at 0xfef9e9d4 
  [17] PyEval_EvalFrameEx(0xfe14a738, 0x0, 0xfebae030, 0xfe142e80, 0x4, 0xfe142e90), at 0xfefa559c 
  [18] PyEval_EvalCodeEx(0xfe660f08, 0x0, 0x144, 0xfe1fa310, 0x0, 0xc), at 0xfefa5f54 
  [19] function_call(0xfe67d9f0, 0xfe1fa300, 0x0, 0x0, 0xfeba5250, 0xfe1fa314), at 0xfef095e4 
  [20] PyObject_Call(0xfe67d9f0, 0xfe1fa300, 0x0, 0xfef09560, 0x20, 0xff08deb8), at 0xfeecddec 
  [21] instancemethod_call(0xfe1fa300, 0xfe142e70, 0x0, 0x1, 0x12, 0x4), at 0xfeede788 
  [22] PyObject_Call(0xfe3f97d8, 0xfe142e70, 0x0, 0xfeede6e8, 0x1f, 0xff08deb8), at 0xfeecddec 
  [23] slot_tp_call(0xfe1a3790, 0xfe142e70, 0x0, 0x0, 0xfe3f97d8, 0xff08143c), at 0xfef4adc0 
  [24] PyObject_Call(0xfe1a3790, 0xfe142e70, 0x0, 0xfef4ad50, 0x1e, 0xff08deb8), at 0xfeecddec 
  [25] PyEval_EvalFrameExReal(0xff08dc44, 0xfe682034, 0xfe682103, 0xfe14b030, 0xff076c1c, 0xff08dc48), at 0xfefa1598 
  [26] PyEval_EvalFrameEx(0xfe14b030, 0x0, 0xfebaeb70, 0xfe1fa368, 0xfe14b020, 0xfe14b030), at 0xfefa559c 
  [27] PyEval_EvalCodeEx(0xfe6802a8, 0x0, 0x14c, 0xfe6850a0, 0x0, 0xc), at 0xfefa5f54 
  [28] function_call(0xfe6846f0, 0xfe1fa378, 0xfe1496f0, 0xffbfcc0c, 0x40e55eb, 0xff0c003c), at 0xfef096a0 
  [29] PyObject_Call(0xfe6846f0, 0xfe1fa378, 0xfe1496f0, 0xfef09560, 0x1c, 0xff08deb8), at 0xfeecddec 
  [30] PyEval_EvalFrameExReal(0xff08dc44, 0xfe679b24, 0xfe679b33, 0xfe14a468, 0xff076c1c, 0xff08dc48), at 0xfef9e9d4 
  [31] PyEval_EvalFrameEx(0xfe14a468, 0x0, 0xfebaeb70, 0xfe142e20, 0x4, 0xfe142e30), at 0xfefa559c 
  [32] PyEval_EvalCodeEx(0xfe680188, 0x0, 0x144, 0xfe1fc5e0, 0x0, 0xc), at 0xfefa5f54 
  [33] function_call(0xfe684670, 0xfe1fc5d0, 0x0, 0x0, 0xfe3f9828, 0xfe1fc5e4), at 0xfef095e4 
  [34] PyObject_Call(0xfe684670, 0xfe1fc5d0, 0x0, 0xfef09560, 0x1a, 0xff08deb8), at 0xfeecddec 
  [35] instancemethod_call(0xfe1fc5d0, 0xfe142e10, 0x0, 0x1, 0xd, 0x4), at 0xfeede788 
  [36] PyObject_Call(0xfe3f9828, 0xfe142e10, 0x0, 0xfeede6e8, 0x19, 0xff08deb8), at 0xfeecddec 
  [37] slot_tp_call(0xfe1a37b0, 0xfe142e10, 0x0, 0xfe14a198, 0xfe3f9828, 0xff08143c), at 0xfef4adc0 
  [38] PyObject_Call(0xfe1a37b0, 0xfe142e10, 0x0, 0xfef4ad50, 0x18, 0xff08deb8), at 0xfeecddec 
  [39] PyEval_EvalFrameExReal(0xff08dc44, 0xfe682034, 0xfe682103, 0xfe1c4d68, 0xff076c1c, 0xff08dc48), at 0xfefa1598 
  [40] PyEval_EvalFrameEx(0xfe1c4d68, 0x0, 0xfebaeb70, 0xfe1f39f8, 0xfe1c4d58, 0xfe1c4d68), at 0xfefa559c 
  [41] PyEval_EvalCodeEx(0xfe6802a8, 0x0, 0x14c, 0xfe6850a0, 0x0, 0xc), at 0xfefa5f54 
  [42] function_call(0xfe6846f0, 0xfe1f3a08, 0xfe149660, 0xffbfd544, 0x40e55eb, 0xff0c003c), at 0xfef096a0 
  [43] PyObject_Call(0xfe6846f0, 0xfe1f3a08, 0xfe149660, 0xfef09560, 0x16, 0xff08deb8), at 0xfeecddec 
  [44] PyEval_EvalFrameExReal(0xff08dc44, 0xfe679b24, 0xfe679b33, 0xfe14a300, 0xff076c1c, 0xff08dc48), at 0xfef9e9d4 
  [45] PyEval_EvalFrameEx(0xfe14a300, 0x0, 0xfebaeb70, 0xfe142dc0, 0x4, 0xfe142dd0), at 0xfefa559c 
  [46] PyEval_EvalCodeEx(0xfe680188, 0x0, 0x144, 0xfe1fc5b8, 0x0, 0xc), at 0xfefa5f54 
  [47] function_call(0xfe684670, 0xfe1fc5a8, 0x0, 0x0, 0xfe3f9800, 0xfe1fc5bc), at 0xfef095e4 
  [48] PyObject_Call(0xfe684670, 0xfe1fc5a8, 0x0, 0xfef09560, 0x14, 0xff08deb8), at 0xfeecddec 
  [49] instancemethod_call(0xfe1fc5a8, 0xfe142db0, 0x0, 0x1, 0x8, 0x4), at 0xfeede788 
  [50] PyObject_Call(0xfe3f9800, 0xfe142db0, 0x0, 0xfeede6e8, 0x13, 0xff08deb8), at 0xfeecddec 
  [51] slot_tp_call(0xfe3d9930, 0xfe142db0, 0x0, 0xfe14a198, 0xfe3f9800, 0xff08143c), at 0xfef4adc0 
  [52] PyObject_Call(0xfe3d9930, 0xfe142db0, 0x0, 0xfef4ad50, 0x12, 0xff08deb8), at 0xfeecddec 
  [53] PyEval_EvalFrameExReal(0xff08dc44, 0xfe682034, 0xfe682103, 0xfe1c4a78, 0xff076c1c, 0xff08dc48), at 0xfefa1598 
  [54] PyEval_EvalFrameEx(0xfe1c4a78, 0x0, 0xfebaeb70, 0xfe1f39d0, 0xfe1c4a68, 0xfe1c4a78), at 0xfefa559c 
  [55] PyEval_EvalCodeEx(0xfe6802a8, 0x0, 0x14c, 0xfe6850a0, 0x0, 0xc), at 0xfefa5f54 
  [56] function_call(0xfe6846f0, 0xfe1f39e0, 0xfe1495d0, 0xffbfde7c, 0x40e55eb, 0xff0c003c), at 0xfef096a0 
  [57] PyObject_Call(0xfe6846f0, 0xfe1f39e0, 0xfe1495d0, 0xfef09560, 0x10, 0xff08deb8), at 0xfeecddec 
  [58] PyEval_EvalFrameExReal(0xff08dc44, 0xfe679b24, 0xfe679b33, 0xfe14a030, 0xff076c1c, 0xff08dc48), at 0xfef9e9d4 
  [59] PyEval_EvalFrameEx(0xfe14a030, 0x0, 0xfebaeb70, 0xfe142d60, 0x4, 0xfe142d70), at 0xfefa559c 
  [60] PyEval_EvalCodeEx(0xfe680188, 0x0, 0x144, 0xfe1f3a40, 0x0, 0xc), at 0xfefa5f54 
  [61] function_call(0xfe684670, 0xfe1f3a30, 0x0, 0x0, 0xfe142000, 0xfe1f3a44), at 0xfef095e4 
  [62] PyObject_Call(0xfe684670, 0xfe1f3a30, 0x0, 0xfef09560, 0xe, 0xff08deb8), at 0xfeecddec 
  [63] instancemethod_call(0xfe1f3a30, 0xfe142d50, 0x0, 0x1, 0x3, 0x4), at 0xfeede788 
  [64] PyObject_Call(0xfe58fe40, 0xfe142d50, 0x0, 0xfeede6e8, 0xd, 0xff08deb8), at 0xfeecddec 
  [65] slot_tp_call(0xfe3d9970, 0xfe142d50, 0x0, 0xff074608, 0xfe58fe40, 0xff08143c), at 0xfef4adc0 
  [66] PyObject_Call(0xfe3d9970, 0xfe142d50, 0x0, 0xfef4ad50, 0xc, 0xff08deb8), at 0xfeecddec 
  [67] PyEval_EvalFrameExReal(0xff08dc44, 0xfe59f214, 0xfe59f229, 0xfe29acd8, 0xff076c1c, 0xff08dc48), at 0xfefa1598 
  [68] PyEval_EvalFrameEx(0xfe29acd8, 0x0, 0x8, 0xfe145638, 0xfe1a8b8c, 0xfe3d9970), at 0xfefa559c 
  [69] PyEval_EvalFrameExReal(0xff08dc44, 0xfeb7b5d4, 0xfeb7b60a, 0xfe1a8a40, 0xff076c1c, 0xff08dc48), at 0xfefa193c 
  [70] PyEval_EvalFrameEx(0xfe1a8a40, 0x0, 0x4, 0xfe149410, 0xfe1c4d40, 0xfe3d9970), at 0xfefa559c 
  [71] PyEval_EvalFrameExReal(0xff08dc44, 0xfe5961e4, 0xfe59629e, 0xfe1c4bf0, 0xff076c1c, 0xff08dc48), at 0xfefa193c 
  [72] PyEval_EvalFrameEx(0xfe1c4bf0, 0x0, 0xfe5920c0, 0xfe142c80, 0x4, 0xfe142c90), at 0xfefa559c 
  [73] PyEval_EvalCodeEx(0xfe5a10b0, 0x0, 0x148, 0xfe59aebc, 0x0, 0xc), at 0xfefa5f54 
  [74] PyEval_EvalFrameExReal(0xff08dc44, 0xfeb96db4, 0xfeb96e18, 0xfe59ad68, 0xff076c1c, 0xff08dc48), at 0xfefa1828 
  [75] PyEval_EvalFrameEx(0xfe59ad68, 0x0, 0x0, 0xfe3cfea0, 0xfee0b700, 0xfe59ad68), at 0xfefa559c 
  [76] PyEval_EvalFrameExReal(0xff08dc44, 0xef594, 0xef67d, 0xfee0b570, 0xff076c1c, 0xff08dc48), at 0xfefa193c 
  [77] PyEval_EvalFrameEx(0xfee0b570, 0x0, 0xff0f89c0, 0xfe674c20, 0xfee0b560, 0xfee0b570), at 0xfefa559c 
  [78] PyEval_EvalCodeEx(0xfeceb1d0, 0x0, 0x184, 0xfe674d88, 0x0, 0xc), at 0xfefa5f54 
  [79] PyEval_EvalFrameExReal(0xff08dc44, 0xfecb33dc, 0xfecb3415, 0xfe674c30, 0xff076c1c, 0xff08dc48), at 0xfefa1828 
  [80] PyEval_EvalFrameEx(0xfe674c30, 0x0, 0xff0f89c0, 0xfe58dd40, 0xfe674c20, 0xfe674c30), at 0xfefa559c 
  [81] PyEval_EvalCodeEx(0xfecc2920, 0x0, 0x150, 0xaab04, 0x0, 0xc), at 0xfefa5f54 
  [82] PyEval_EvalFrameExReal(0xff08dc44, 0x10049c, 0x101164, 0xaa850, 0xff076c1c, 0xff08dc48), at 0xfefa1828 
  [83] PyEval_EvalFrameEx(0xaa850, 0x0, 0x0, 0xfe5aedc0, 0xfe5aede0, 0xfe5aedf0), at 0xfefa559c 
  [84] PyEval_EvalCodeEx(0xfecc2890, 0x0, 0x260, 0x16, 0x0, 0xc), at 0xfefa5f54 
  [85] PyEval_EvalFrameExReal(0xff08dc44, 0xfdf3c, 0xfe470, 0xfee526f0, 0xff076c1c, 0xff08dc48), at 0xfefa1828 
  [86] PyEval_EvalFrameEx(0xfee526f0, 0x0, 0xff0f89c0, 0xfedf0980, 0xfee526e0, 0xfee526f0), at 0xfefa559c 
  [87] PyEval_EvalCodeEx(0xfeceb698, 0x0, 0x138, 0x0, 0x0, 0xc), at 0xfefa5f54 
  [88] PyEval_EvalCode(0xfeceb698, 0xff0f89c0, 0xff0f89c0, 0x611eb, 0xff0e17f0, 0xff024570), at 0xfefa60b8 
  [89] PyEval_EvalFrameExReal(0xff08dc44, 0xfee0d334, 0xfeceb698, 0xfedf0990, 0xff0f89c0, 0xff0f89c0), at 0xfefa1d44 
  [90] PyEval_EvalFrameEx(0xfedf0990, 0x0, 0xfecb99c0, 0xff0dd840, 0xfedf0980, 0xfedf0990), at 0xfefa559c 
  [91] PyEval_EvalCodeEx(0xfecb40b0, 0x0, 0x154, 0xfee0a7f4, 0x0, 0xc), at 0xfefa5f54 
  [92] PyEval_EvalFrameExReal(0xff08dc44, 0xff0e67b4, 0xff0e688a, 0xfee0a690, 0xff076c1c, 0xff08dc48), at 0xfefa1828 
  [93] PyEval_EvalFrameEx(0xfee0a690, 0x0, 0xfecb99c0, 0xfee16e80, 0xfee0a680, 0xfee0a690), at 0xfefa559c 
  [94] PyEval_EvalCodeEx(0xfecb4b18, 0x0, 0x15c, 0xfee16e9c, 0x0, 0xc), at 0xfefa5f54 
  [95] function_call(0xfecc6370, 0xfee16e90, 0x0, 0xff02c010, 0x40e55eb, 0x4000000), at 0xfef095e4 
  [96] PyObject_Call(0xfecc6370, 0xfee16e90, 0x0, 0xfef09560, 0x1, 0xff08deb8), at 0xfeecddec 
  [97] RunModule(0x30020, 0x1, 0xff02a520, 0xfee16e90, 0xfecbe6d0, 0xfecc6370), at 0xfefe6c50 
  [98] Py_Main(0x4, 0xffbffb44, 0xff090878, 0x30020, 0xff090880, 0x0), at 0xfefe7280 
  [99] main(0x4, 0xffbffb44, 0xffbffb58, 0x30008, 0x0, 0x10000), at 0x10d54 
(dbx) Use `exit'
(dbx) exit
dev@olafdev:~$ python -V
Python 2.7.12
dev@olafdev:~$ file $(which python)
/usr/bin/python:        ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
  • [ ] python 2.7 modules
    • [ ] simplejson
  • [X] perl 5.22.1
  • [ ] perl modules
  • [X] recent gnu binutils
  • [X] recent gnu coreutils
  • [-] latest pkg5
    • [X] FIXME: segfaults due to python bugs
    • [ ] FIXME: somehow some libs are build 64bit, while the should be built 32bit

oi-userland components [/] [%]

before we can start here, we must finish the bootstrap-process

illumos-gate [3/3] [100%]

building illumos-gate is usually not a big problem, there may be some bugs but they tend to be easily to fix

got a recent illumos-gate built without errors

Autor: Olaf Bohlen

Email: olbohlen@eenfach.de

Created: 2017-01-13 Fri 09:59

Validate