Closed Jc2k closed 9 months ago
Disassembly near the crash site:
0x00007ffff7619012 <+306>: call 0x7ffff760b980 <PyGILState_Release@plt>
0x00007ffff7619017 <+311>: jmp 0x7ffff7618f10 <_ZN8pybind116detail13get_internalsEv+48>
0x00007ffff761901c <+316>: nopl 0x0(%rax)
0x00007ffff7619020 <+320>: mov 0xe5f99(%rip),%rax # 0x7ffff76fefc0
0x00007ffff7619027 <+327>: lea 0xa58b2(%rip),%rsi # 0x7ffff76be8e0
0x00007ffff761902e <+334>: mov (%rax),%rdi
0x00007ffff7619031 <+337>: call 0x7ffff7614520 <_ZN8pybind1110raise_fromEP7_objectPKc>
0x00007ffff7619036 <+342>: movq $0x0,0xe6f07(%rip) # 0x7ffff76fff48 <_ZZN8pybind116detail16get_internals_ppEvE12internals_pp>
0x00007ffff7619041 <+353>: subq $0x1,(%r12)
0x00007ffff7619046 <+358>: jne 0x7ffff7619064 <_ZN8pybind116detail13get_internalsEv+388>
0x00007ffff7619048 <+360>: nopl 0x0(%rax,%rax,1)
0x00007ffff7619050 <+368>: mov %r12,%rdi
0x00007ffff7619053 <+371>: call 0x7ffff760b510 <_Py_Dealloc@plt>
0x00007ffff7619058 <+376>: mov 0xe6ee9(%rip),%rbx # 0x7ffff76fff48 <_ZZN8pybind116detail16get_internals_ppEvE12internals_pp>
0x00007ffff761905f <+383>: test %rbx,%rbx
0x00007ffff7619062 <+386>: jne 0x7ffff7618fe4 <_ZN8pybind116detail13get_internalsEv+260>
0x00007ffff7619064 <+388>: mov $0x8,%edi
0x00007ffff7619069 <+393>: call 0x7ffff760b710 <_Znwm@plt>
0x00007ffff761906e <+398>: movq $0x0,(%rax)
0x00007ffff7619075 <+405>: mov %rax,%rbx
0x00007ffff7619078 <+408>: mov %rax,0xe6ec9(%rip) # 0x7ffff76fff48 <_ZZN8pybind116detail16get_internals_ppEvE12internals_pp>
0x00007ffff761907f <+415>: mov $0x1d8,%edi
0x00007ffff7619084 <+420>: call 0x7ffff760b710 <_Znwm@plt>
0x00007ffff7619089 <+425>: mov %rax,%rdx
0x00007ffff761908c <+428>: mov $0x3b,%ecx
0x00007ffff7619091 <+433>: xor %eax,%eax
=> 0x00007ffff7619093 <+435>: vmovss 0xa6bb1(%rip),%xmm0 # 0x7ffff76bfc4c
0x00007ffff761909b <+443>: mov %rdx,%rdi
0x00007ffff761909e <+446>: rep stos %rax,%es:(%rdi)
0x00007ffff76190a1 <+449>: lea 0x30(%rdx),%rax
0x00007ffff76190a5 <+453>: vmovss %xmm0,0x20(%rdx)
0x00007ffff76190aa <+458>: mov %rax,(%rdx)
0x00007ffff76190ad <+461>: lea 0x68(%rdx),%rax
The vmoss
is an AVX instruction. So the changes in 1.2.2 haven't stopped AVX instructions getting emitted.
Initial thought was maybe that -mfma
implies -mavx
. So removing -mfma
means that builds now fail let alone imports:
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc: In member function ‘virtual void webrtc::FIRFilterAVX2::Filter(const float*, size_t, float*)’:
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:61:38: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
61 | __m256 m_sum = _mm256_setzero_ps();
| ^
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1228:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_setzero_ps()’: target specific option mismatch
1228 | _mm256_setzero_ps (void)
| ^~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:61:37: note: called from here
61 | __m256 m_sum = _mm256_setzero_ps();
| ~~~~~~~~~~~~~~~~~^~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:111,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/fmaintrin.h:63:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_fmadd_ps(__m256, __m256, __m256)’: target specific option mismatch
63 | _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:69:32: note: called from here
69 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:69:32: note: called from here
69 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:896:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_loadu_ps(const float*)’: target specific option mismatch
896 | _mm256_loadu_ps (float const *__P)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:68:31: note: called from here
68 | m_in = _mm256_loadu_ps(in_ptr + j);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:111,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/fmaintrin.h:63:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_fmadd_ps(__m256, __m256, __m256)’: target specific option mismatch
63 | _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:74:32: note: called from here
74 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:74:32: note: called from here
74 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:73:30: note: called from here
73 | m_in = _mm256_load_ps(in_ptr + j);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:517:1: error: inlining failed in call to ‘always_inline’ ‘__m128 _mm256_extractf128_ps(__m256, int)’: target specific option mismatch
517 | _mm256_extractf128_ps (__m256 __X, const int __N)
| ^~~~~~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:77:33: note: called from here
77 | __m128 m128_sum = _mm_add_ps(_mm256_extractf128_ps(m_sum, 0),
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | _mm256_extractf128_ps(m_sum, 1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:517:1: error: inlining failed in call to ‘always_inline’ ‘__m128 _mm256_extractf128_ps(__m256, int)’: target specific option mismatch
517 | _mm256_extractf128_ps (__m256 __X, const int __N)
| ^~~~~~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:77:33: note: called from here
77 | __m128 m128_sum = _mm_add_ps(_mm256_extractf128_ps(m_sum, 0),
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | _mm256_extractf128_ps(m_sum, 1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1228:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_setzero_ps()’: target specific option mismatch
1228 | _mm256_setzero_ps (void)
| ^~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:61:37: note: called from here
61 | __m256 m_sum = _mm256_setzero_ps();
| ~~~~~~~~~~~~~~~~~^~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:1228:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_setzero_ps()’: target specific option mismatch
1228 | _mm256_setzero_ps (void)
| ^~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:61:37: note: called from here
61 | __m256 m_sum = _mm256_setzero_ps();
| ~~~~~~~~~~~~~~~~~^~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:111,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/fmaintrin.h:63:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_fmadd_ps(__m256, __m256, __m256)’: target specific option mismatch
63 | _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:69:32: note: called from here
69 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:69:32: note: called from here
69 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:896:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_loadu_ps(const float*)’: target specific option mismatch
896 | _mm256_loadu_ps (float const *__P)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:68:31: note: called from here
68 | m_in = _mm256_loadu_ps(in_ptr + j);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:111,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/fmaintrin.h:63:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_fmadd_ps(__m256, __m256, __m256)’: target specific option mismatch
63 | _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
| ^~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:74:32: note: called from here
74 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:74:32: note: called from here
74 | m_sum = _mm256_fmadd_ps(m_in, _mm256_load_ps(coef_ptr + j), m_sum);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:872:1: error: inlining failed in call to ‘always_inline’ ‘__m256 _mm256_load_ps(const float*)’: target specific option mismatch
872 | _mm256_load_ps (float const *__P)
| ^~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:73:30: note: called from here
73 | m_in = _mm256_load_ps(in_ptr + j);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:517:1: error: inlining failed in call to ‘always_inline’ ‘__m128 _mm256_extractf128_ps(__m256, int)’: target specific option mismatch
517 | _mm256_extractf128_ps (__m256 __X, const int __N)
| ^~~~~~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:77:33: note: called from here
77 | __m128 m128_sum = _mm_add_ps(_mm256_extractf128_ps(m_sum, 0),
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | _mm256_extractf128_ps(m_sum, 1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
from /home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:13:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:517:1: error: inlining failed in call to ‘always_inline’ ‘__m128 _mm256_extractf128_ps(__m256, int)’: target specific option mismatch
517 | _mm256_extractf128_ps (__m256 __X, const int __N)
| ^~~~~~~~~~~~~~~~~~~~~
/home/john/webrtc-noise-gain/webrtc-audio-processing/webrtc-audio-processing-1/common_audio/fir_filter_avx2.cc:77:33: note: called from here
77 | __m128 m128_sum = _mm_add_ps(_mm256_extractf128_ps(m_sum, 0),
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | _mm256_extractf128_ps(m_sum, 1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py", line 185, in _compile
self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/spawn.py", line 70, in spawn
raise DistutilsExecError(
setuptools._distutils.errors.DistutilsExecError: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/john/webrtc-noise-gain/venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/home/john/webrtc-noise-gain/venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/home/john/webrtc-noise-gain/venv/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/build_meta.py", line 434, in build_wheel
return self._build_with_temp_dir(
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/build_meta.py", line 419, in _build_with_temp_dir
self.run_setup()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/build_meta.py", line 507, in run_setup
super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/build_meta.py", line 341, in run_setup
exec(code, locals())
File "<string>", line 565, in <module>
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
self.run_command("build")
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
super().run_command(command)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 88, in run
_build_ext.run(self)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "<string>", line 513, in build_extensions
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/pybind11/setup_helpers.py", line 285, in build_extensions
super().build_extensions()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 249, in build_extension
_build_ext.build_extension(self, ext)
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
objects = self.compiler.compile(
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "<string>", line 500, in _compile
File "/tmp/build-env-cu2edvn1/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
raise CompileError(msg)
setuptools._distutils.errors.CompileError: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
ERROR Backend subprocess exited when trying to invoke build_wheel
And if you remove the files that don't compile from the build, then you get linker errors.
As i said on discord, it looks like upstream "solves" this issue by generating multiple static libraries with different features turned on and off. For example:
Here common_audio_sse2
is built with common cflags and -msse2
. common_audio_avx
is built with common clags and -mavx2
, -mfma
. common_audio
is built just with common cflags. These can be linked together without the avx2
optimisations "escaping" common_audio_avx
.
AFAICT, we need to be able to do similar - the avx modules need to be built with avx, but the pybind stuff should not be built with avx. I have no idea how to do that with pybind11.
I was able to remove -mfma
entirely from the build by patching out AVX2 detection. We'll just have to live with non-optimal convolutions :cry:
On amd64 this builds OK but on importing I get an illegal instruction error. Here it is under gdb:
2023.10.0b1 is also failing to start for me with an illegal instruction.