Discussion:
[lfs-support] make install of Python 3 causes: 3273 Illegal instruction
René Nyffenegger
2018-05-26 07:29:40 UTC
Permalink
I am trying to make Python 3.64 in the course of creating LFS 8.2
(http://www.linuxfromscratch.org/lfs/view/stable/chapter06/Python.html)

Both the ./configure and make step seem to run OK.

However, executing "make install" causes:
/bin/sh: line 7: 3273 Illegal instruction (core dumped)
LD_LIBRARY_PATH=/usr/lfs/sources/untarred/Python-3.6.4 ./python -E -m
ensurepip $ensurepip --root=/
make: *** [Makefile:1099: install] Error 132

Within the chroot environment and the build directory, I can execute the
freshly built python ok:
./python
./python -V

What's causing the problem seems to be the ensurepip module:
./python -E -m ensurepip

I am unable to even think of a cause of this behaviour and any help on
that is appreciated.

Rene
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wik
Michael Shell
2018-05-26 08:01:23 UTC
Permalink
On Sat, 26 May 2018 09:29:40 +0200
Post by René Nyffenegger
/bin/sh: line 7: 3273 Illegal instruction (core dumped)
LD_LIBRARY_PATH=/usr/lfs/sources/untarred/Python-3.6.4 ./python -E -m
ensurepip $ensurepip --root=/
Randy,

What CPU does your system have? Also, in your python source directory,
in the file config.log, what does the line with the

target_cpu=

(around line 20048) have as a value?


Cheers,

Mike Shell
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki
René Nyffenegger
2018-05-26 08:14:09 UTC
Permalink
Post by Michael Shell
On Sat, 26 May 2018 09:29:40 +0200
Post by René Nyffenegger
/bin/sh: line 7: 3273 Illegal instruction (core dumped)
LD_LIBRARY_PATH=/usr/lfs/sources/untarred/Python-3.6.4 ./python -E -m
ensurepip $ensurepip --root=/
Randy,
What CPU does your system have? Also, in your python source directory,
in the file config.log, what does the line with the
target_cpu=
(around line 20048) have as a value?
lscpu prints:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel(R) Pentium(R) CPU G640T @ 2.40GHz
Stepping: 7
CPU MHz: 1596.464
CPU max MHz: 2400.0000
CPU min MHz: 1600.0000
BogoMIPS: 4791.95
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good
nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor
ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt
tsc_deadline_timer xsave lahf_lm epb pti tpr_shadow vnmi flexpriority
ept vpid xsaveopt dtherm arat pln pts


The target_* lines in the config.log read

target='x86_64-pc-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='pc'

Rene
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing i
Michael Shell
2018-05-26 08:36:21 UTC
Permalink
On Sat, 26 May 2018 10:14:09 +0200
Post by René Nyffenegger
Architecture: x86_64
.
.
target='x86_64-pc-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='pc'
René,

That all looks OK to me. Can you trigger the illegal instruction
Post by René Nyffenegger
./python -E -m ensurepip
If so, then run it through the debugger gdb and try to find out
the specific offending instruction:

gdb ./python
run -E -m ensurepip
display/i $pc


There is a complication here in that you are building a LFS system
which does not include gdb as that is a BLFS utility:

http://www.linuxfromscratch.org/blfs/view/svn/general/gdb.html

So, you will either have to rely in the host gdb, or also install gdb
in your LFS system.

Have you altered your optimization cflags e.g., -O3 ?


Cheers,

Mike
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_s
René Nyffenegger
2018-05-26 14:51:43 UTC
Permalink
Post by Michael Shell
On Sat, 26 May 2018 10:14:09 +0200
Post by René Nyffenegger
Architecture: x86_64
.
.
target='x86_64-pc-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='pc'
René,
That all looks OK to me. Can you trigger the illegal instruction
Post by René Nyffenegger
./python -E -m ensurepip
If so, then run it through the debugger gdb and try to find out
gdb ./python
run -E -m ensurepip
display/i $pc
There is a complication here in that you are building a LFS system
http://www.linuxfromscratch.org/blfs/view/svn/general/gdb.html
So, you will either have to rely in the host gdb, or also install gdb
in your LFS system.
Have you altered your optimization cflags e.g., -O3 ?
Mike

I didn't alter any optimization flags during the compilation process.

With your suggestion for gdb, I get the following result:

(gdb) run -E -m ensurepip
Starting program: /usr/lfs/sources/untarred/Python-3.6.4/python -E -m
ensurepip
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x00007ffff3033ce4 in ffi_closure_alloc () from /usr/lib/libffi.so.6
(gdb) display/i $pc
1: x/i $pc
=> 0x7ffff3033ce4 <ffi_closure_alloc+4196>: vmovq %r13,%xmm3
(gdb)



Apparently, the problem lies with ffi. I will try to recompile that.

Rene
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipe
Loading...