<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 4, 2018 at 2:26 AM, Gary Mills <span dir="ltr"><<a href="mailto:gary_mills@fastmail.fm" target="_blank">gary_mills@fastmail.fm</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In an attempt to build python2.7 on a T2000 (SPARC), I received this<br>
error:<br>
<br>
    /usr/gcc/4.4.4/bin/gcc -m32 -O3 -mno-app-regs -fPIC -DPIC -std=c99 -D_XOPEN_SOURCE=600 -m32 -fPIC -DPIC -R/usr/gnu/lib -L/usr/gnu/lib  -o python \<br>
                Modules/python.o \<br>
                -L. -lpython2.7 -lsocket -lnsl -ldl    -lm  <br>
    Undefined                   first referenced<br>
     symbol                         in file<br>
    asm                                 ./<a href="http://libpython2.7.so" rel="noreferrer" target="_blank">libpython2.7.so</a><br>
    ld: fatal: symbol referencing errors. No output written to python<br>
    collect2: ld returned 1 exit status<br>
<br>
This happens because Python/ceval.c contains two instances of code<br>
like this:<br>
<br>
      #if defined(__sparc)<br>
    +   asm("nop");<br>
      #endif<br>
<br>
This code was inserted by a patch called 05-dtrace.patch .  The file<br>
dtrace.patch.diff, attached to this message, shows the changes I made<br>
to the patch.  These changes fix the problem.<br>
<br>
One of the modules also failed to build, producing these errors:<br>
<br>
    /export/home/mills/Downloads/<wbr>code/oi-userland/components/<wbr>python/python27/Python-2.7.14/<wbr>Modules/_ctypes/libffi/src/<wbr>sparc/ffi.c:526: error: 'asm' undeclared (first use in this function)<br>
    /export/home/mills/Downloads/<wbr>code/oi-userland/components/<wbr>python/python27/Python-2.7.14/<wbr>Modules/_ctypes/libffi/src/<wbr>sparc/ffi.c:526: error: expected ';' before 'volatile'<br>
<br>
The new patch 31-sparc.patch, also attached, fixes this problem.<br>
Finally, I updated COMPONENT_REVISION in the Makefile to signal the<br>
presence of the adjusted patch and the new one as in the file<br>
Makefile.diff, also attached.<br>
<br>
These changes only affect the SPARC build.  Later python versions<br>
likely require the same changes, but I haven't checked.<br>
<br>
I'd appreciate it if somebody could verify that these changes are<br>
correct.  I assume they are.  The build completes after these changes<br>
are made.<br></blockquote><div><br></div><div>Why not just activate GNU extensions with -std=gnu99?<br></div><div>Python 2.7 was probably compiled with them until I added -std=c99.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
-Gary Mills-            -refurb-                -Winnipeg, Manitoba, Canada-<br>
</font></span><br>______________________________<wbr>_________________<br>
oi-dev mailing list<br>
<a href="mailto:oi-dev@openindiana.org">oi-dev@openindiana.org</a><br>
<a href="https://openindiana.org/mailman/listinfo/oi-dev" rel="noreferrer" target="_blank">https://openindiana.org/<wbr>mailman/listinfo/oi-dev</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><font style="font-family:courier new,monospace" size="1">---<br>Praise the Caffeine embeddings<br></font></div></div></div></div>
</div></div>