[oi-dev] Python 2.7 SPARC build needs an adjusted patch and a new patch
aurelien.larcher at gmail.com
Mon Jun 4 00:59:40 UTC 2018
On Mon, Jun 4, 2018 at 2:26 AM, Gary Mills <gary_mills at fastmail.fm> wrote:
> In an attempt to build python2.7 on a T2000 (SPARC), I received this
> /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 \
> Modules/python.o \
> -L. -lpython2.7 -lsocket -lnsl -ldl -lm
> Undefined first referenced
> symbol in file
> asm ./libpython2.7.so
> ld: fatal: symbol referencing errors. No output written to python
> collect2: ld returned 1 exit status
> This happens because Python/ceval.c contains two instances of code
> like this:
> #if defined(__sparc)
> + asm("nop");
> This code was inserted by a patch called 05-dtrace.patch . The file
> dtrace.patch.diff, attached to this message, shows the changes I made
> to the patch. These changes fix the problem.
> One of the modules also failed to build, producing these errors:
> error: 'asm' undeclared (first use in this function)
> error: expected ';' before 'volatile'
> The new patch 31-sparc.patch, also attached, fixes this problem.
> Finally, I updated COMPONENT_REVISION in the Makefile to signal the
> presence of the adjusted patch and the new one as in the file
> Makefile.diff, also attached.
> These changes only affect the SPARC build. Later python versions
> likely require the same changes, but I haven't checked.
> I'd appreciate it if somebody could verify that these changes are
> correct. I assume they are. The build completes after these changes
> are made.
Why not just activate GNU extensions with -std=gnu99?
Python 2.7 was probably compiled with them until I added -std=c99.
> -Gary Mills- -refurb- -Winnipeg, Manitoba,
> oi-dev mailing list
> oi-dev at openindiana.org
Praise the Caffeine embeddings
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the oi-dev