عند محاولة إنشاء numpy محليًا ، تلقيت الخطأ التالي:
gcc: numpy/core/src/common/mem_overlap.c
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now build/temp.linux-x86_64-3.8/numpy/core/src/multiarray/_multiarray_tests.o build/temp.linux-x86_64-3.8/numpy/core/src/common/mem_overlap.o -L/usr/lib -Lbuild/temp.linux-x86_64-3.8 -lnpymath -o numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so
/usr/bin/ld: build/temp.linux-x86_64-3.8/numpy/core/src/common/mem_overlap.o:/home/ross/repos/numpy/numpy/core/include/numpy/ndarraytypes.h:1824: multiple definition of `PyArrayDTypeMeta_Type'; build/temp.linux-x86_64-3.8/numpy/core/src/multiarray/_multiarray_tests.o:/home/ross/repos/numpy/numpy/core/include/numpy/ndarraytypes.h:1824: first defined here
collect2: error: ld returned 1 exit status
error: Command "gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now build/temp.linux-x86_64-3.8/numpy/core/src/multiarray/_multiarray_tests.o build/temp.linux-x86_64-3.8/numpy/core/src/common/mem_overlap.o -L/usr/lib -Lbuild/temp.linux-x86_64-3.8 -lnpymath -o numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so" failed with exit status 1
حدد `bisect`ing 1809a0fde كمصدر للمشكلة. لاحظ أن هذا الخطأ حدث لي فقط مع مجلس التعاون الخليجي 10.1. لا توجد مشاكل مع مجلس التعاون الخليجي 9.3. ### مثال على إعادة إنتاج الرمز:$ git clone https://github.com/numpy/numpy.git
$ git checkout 1809a0fde
$ pip install -r test_requirements.txt
$ python setup.py build_ext -i
### رسالة خطأ:يعمل من دليل مصدر غير مكتمل. مصادر Cythonizing numpy / random / _bounded_integers.pxd.in لم يتغير معالجة numpy / random / mtrand.pyx numpy / random / _common.pyx لم يتغير معالجة numpy / random / _mt19937.pyx معالجة numpy / random / _pcg64.pyx معالجة numpy / random / _generator.pyx numpy / random / _bounded_integers.pyx لم يتغير numpy / random / _sfc64.pyx لم يتغير numpy / random / _philox.pyx لم يتغير numpy / random / bit_generator.pyx لم يتغير numpy / random / _bounded_integers.pyx.in لم يتغير numpy / core / setup.py: 406: MismatchCAPI تحذير: تم اكتشاف عدم تطابق API ، يجب تحديث أرقام إصدار C API. إصدار C api الحالي هو 13 ، مع المجموع الاختباري 17a0f366e55ec05e5c5c149123478452 ، لكن المجموع الاختباري المسجل لإصدار C API 13 في core / codegen_dir / cversions.txt هو 5b0e8bbded00b166125974fc71e80a33. إذا تمت إضافة وظائف في C API ، فيجب عليك تحديث C_API_VERSION في numpy / core / setup_common.py. check_api_version (C_API_VERSION ، codegen_dir) blas_opt_info: blas_mkl_info: تخصيص UnixCompiler المكتبات mkl_rt غير موجودة في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib /' ] غير متاح blis_info: مكتبات blis غير موجودة في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib /' ] غير متاح openblas_info: مترجم C: gcc -pthread -Wno-unused-result -Wsign-Compare -DNDEBUG -g -fwrapv -O3 -Wall -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fno-semantic-interposition -مارش = x86-64 -mtune = عام -O3 -أنابيب -fno-plt -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fPIC إنشاء / tmp / tmpp_pb97eg / tmp إنشاء / tmp / tmpp_pb97eg / tmp / tmpp_pb97eg تجميع الخيارات: "-c" مجلس التعاون الخليجي: /tmp/tmpp_pb97eg/source.c gcc -pthread /tmp/tmpp_pb97eg/tmp/tmpp_pb97eg/source.o -L / usr / lib64 -lopenblas -o /tmp/tmpp_pb97eg/a.out وجدت: المكتبات = ['openblas'، 'openblas'] library_dirs = ['/ usr / lib64'] اللغة = ج تعريف_macros = [('HAVE_CBLAS' ، بلا)] وجدت: المكتبات = ['openblas'، 'openblas'] library_dirs = ['/ usr / lib64'] اللغة = ج تعريف_macros = [('HAVE_CBLAS' ، بلا)] مسار غير موجود في 'numpy / distutils': 'site.cfg' lapack_opt_info: lapack_mkl_info: المكتبات mkl_rt غير موجودة في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib /' ] غير متاح openblas_lapack_info: مترجم C: gcc -pthread -Wno-unused-result -Wsign-Compare -DNDEBUG -g -fwrapv -O3 -Wall -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fno-semantic-interposition -مارش = x86-64 -mtune = عام -O3 -أنابيب -fno-plt -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fPIC إنشاء / tmp / tmpeicqr4ho / tmp إنشاء / tmp / tmpeicqr4ho / tmp / tmpeicqr4ho تجميع الخيارات: "-c" مجلس التعاون الخليجي: /tmp/tmpeicqr4ho/source.c مجلس التعاون الخليجي -pthread /tmp/tmpeicqr4ho/tmp/tmpeicqr4ho/source.o -L / usr / lib64 -lopenblas -o /tmp/tmpeicqr4ho/a.out / usr / bin / ld: /tmp/tmpeicqr4ho/tmp/tmpeicqr4ho/source.o: في الوظيفة "main": /tmp/tmpeicqr4ho/source.c:4: إشارة غير محددة إلى "zungqr_" collect2: خطأ: أرجع ld حالة خروج واحدة غير متاح openblas_clapack_info: مكتبات openblas ، lapack غير موجود في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib / '] غير متاح flame_info: مكتبات flame غير موجودة في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib /' ] غير متاح atlas_3_10_threads_info: ضبط PTATLAS = ATLAS مكتبات lapack_atlas غير موجودة في /home/ross/.virtualenvs/tmp/lib مكتبات تاتلاس تاتلس غير موجودة في / home/ross/.virtualenvs/tmp/lib مكتبات lapack_atlas غير موجودة في / usr / local / lib مكتبات تاتلاس تاتلس غير موجودة في / usr / local / lib مكتبات lapack_atlas غير موجودة في / usr / lib64 مكتبات تاتلاس تاتلس غير موجودة في / usr / lib64 مكتبات lapack_atlas غير موجودة في / usr / lib مكتبات تاتلاس تاتلس غير موجودة في / usr / lib مكتبات lapack_atlas غير موجودة في / usr / lib / مكتبات تاتلاس تاتلس غير موجودة في / usr / lib /غير متاح atlas_3_10_info: مكتبات lapack_atlas غير موجودة في /home/ross/.virtualenvs/tmp/lib مكتبات الأقمار الصناعية ، الأقمار الصناعية غير موجودة في /home/ross/.virtualenvs/tmp/lib مكتبات lapack_atlas غير موجودة في / usr / local / lib مكتبات satlas ، satlas غير موجود في / usr / local / lib مكتبات lapack_atlas غير موجودة في / usr / lib64 مكتبات satlas ، satlas غير موجود في / usr / lib64 مكتبات lapack_atlas غير موجودة في / usr / lib مكتبات satlas ، satlas غير موجود في / usr / lib مكتبات lapack_atlas غير موجودة في / usr / lib / مكتبات satlas ، satlas غير موجود في / usr / lib / غير متاح atlas_threads_info: ضبط PTATLAS = ATLAS مكتبات lapack_atlas غير موجودة في /home/ross/.virtualenvs/tmp/lib المكتبات ptf77blas ، ptcblas ، الأطلس غير موجود في /home/ross/.virtualenvs/tmp/lib مكتبات lapack_atlas غير موجودة في / usr / local / lib مكتبات ptf77blas ، ptcblas ، أطلس غير موجود في / usr / local / lib مكتبات lapack_atlas غير موجودة في / usr / lib64 مكتبات ptf77blas ، ptcblas ، أطلس غير موجود في / usr / lib64 مكتبات lapack_atlas غير موجودة في / usr / lib المكتبات ptf77blas ، ptcblas ، الأطلس غير موجود في / usr / lib مكتبات lapack_atlas غير موجودة في / usr / lib / مكتبات ptf77blas ، ptcblas ، أطلس غير موجود في / usr / lib / غير متاح atlas_info: مكتبات lapack_atlas غير موجودة في /home/ross/.virtualenvs/tmp/lib مكتبات f77blas و cblas و atlas غير موجودة في /home/ross/.virtualenvs/tmp/lib مكتبات lapack_atlas غير موجودة في / usr / local / lib مكتبات f77blas و cblas و atlas غير موجودة في / usr / local / lib مكتبات lapack_atlas غير موجودة في / usr / lib64 مكتبات f77blas و cblas و atlas غير موجودة في / usr / lib64 مكتبات lapack_atlas غير موجودة في / usr / lib مكتبات f77blas و cblas و atlas غير موجودة في / usr / lib مكتبات lapack_atlas غير موجودة في / usr / lib / مكتبات f77blas و cblas و atlas غير موجودة في / usr / lib / غير متاح تسريع_المعلومات: غير متاح lapack_info: مكتبات lapack غير موجودة في ['/home/ross/.virtualenvs/tmp/lib'، '/ usr / local / lib'، '/ usr / lib64'، '/ usr / lib'، '/ usr / lib /' ] غير متاح /home/ross/repos/numpy/numpy/distutils/system_info.py:1748: تحذير المستخدم: مكتبات Lapack (http://www.netlib.org/lapack/) غير موجودة. يمكن تحديد الدلائل للبحث عن المكتبات في ملف numpy / distutils / site.cfg (قسم [lapack]) أو عن طريق الإعداد متغير بيئة LAPACK. إرجاع getattr (self، '_calc_info _ {}'. تنسيق (الاسم)) () lapack_src_info: غير متاح /home/ross/repos/numpy/numpy/distutils/system_info.py:1748: تحذير المستخدم: مصادر Lapack (http://www.netlib.org/lapack/) غير موجودة. يمكن تحديد الدلائل للبحث عن المصادر في ملف numpy / distutils / site.cfg (قسم [lapack_src]) أو عن طريق الإعداد متغير البيئة LAPACK_SRC. إرجاع getattr (self، '_calc_info _ {}'. تنسيق (الاسم)) () غير متاح numpy_linalg_lapack_lite: وجدت: اللغة = ج تعريف_macros = [('HAVE_BLAS_ILP64' ، بلا)، ('BLAS_SYMBOL_SUFFIX'، '64_')] مسار غير موجود في 'numpy / random': '{gen} .pxd' مسار غير موجود في 'numpy / random': '{gen} .pxd' /usr/lib/python3.8/distutils/dist.py:274: تحذير المستخدم: خيار توزيع غير معروف: "تعريف_ماكروس" تحذيرات. تحذير (رسالة) تشغيل build_ext تشغيل build_src build_src بناء مصادر py_modules بناء مصادر مكتبة "npymath" إضافة "numpy / core / src / npymath" إلى include_dirs. بلا - لم يتم تنفيذ أي شيء باستخدام h_files = ['numpy / core / src / npymath / npy_math_internal.h'] بناء مصادر المكتبة "npysort" إضافة "numpy / core / src / common" إلى include_dirs. بلا - لم يتم تنفيذ أي شيء باستخدام h_files = ['numpy / core / src / common / npy_sort.h'، 'numpy / core / src / common / npy_partition.h'، 'numpy / core / src / common / npy_binsearch.h'] بناء مصادر المكتبة "npyrandom" ملحق المبنى "numpy.core._multiarray_tests" المصادر conv_template:> numpy / core / src / multiarray / _multiarray_tests.c امتداد المبنى مصادر "numpy.core._multiarray_umath" conv_template:> numpy / core / src / multiarray / arraytypes.c conv_template:> numpy / core / src / multiarray / einsum.c conv_template:> numpy / core / src / multiarray / lowlevel_strided_loops.c conv_template:> numpy / core / src / multiarray / nditer_templ.c conv_template:> numpy / core / src / multiarray / scalartypes.c conv_template:> numpy / core / src / umath / funcs.inc إضافة "numpy / core / src / umath" لتضمين_البيانات. conv_template:> numpy / core / src / umath / simd.inc conv_template:> numpy / core / src / umath / loops.h conv_template:> numpy / core / src / umath / loops.c conv_template:> numpy / core / src / umath / matmul.h conv_template:> numpy / core / src / umath / matmul.c conv_template:> numpy / core / src / umath / clip.h conv_template:> numpy / core / src / umath / clip.c conv_template:> numpy / core / src / umath / scalarmath.c conv_template:> numpy / core / src / npymath / npy_math_internal.h إضافة "numpy / core / src / npymath" إلى include_dirs. conv_template:> numpy / core / src / npymath / ieee754.c conv_template:> numpy / core / src / npymath / npy_math_complex.c conv_template:> numpy / core / src / common / mold_common.h إضافة "numpy / core / src / common" إلى include_dirs. conv_template:> numpy / core / src / common / npy_cpu_features.c numpy.core - لم يتم تنفيذ أي شيء باستخدام h_files = ['numpy / core / src / umath / funcs.inc'، 'numpy / core / src / umath / simd.inc'، 'numpy / core / src / umath / loops.h '،' numpy / core / src / umath / matmul.h '،' numpy / core / src / umath / clip.h '،' numpy / core / src / npymath / npy_math_internal.h '،' numpy / core / src /common/templ_common.h '،' numpy / core / include / numpy / config.h '،' numpy / core / include / numpy / _numpyconfig.h '،' numpy / core / include / numpy / __ multiarray_api.h '، "numpy / core / include / numpy / __ ufunc_api.h"] امتداد المبنى "numpy.core._umath_tests" المصادر امتداد المبنى "numpy.core._rational_tests" المصادر ملحق المبنى "numpy.core._struct_ufunc_tests" المصادر امتداد المبنى "numpy.core._operand_flag_tests" المصادر ملحق المبنى "numpy.fft._pocketfft_internal" المصادر امتداد المبنى مصادر "numpy.linalg.lapack_lite" ### تحذير: استخدام lapack غير مُحسَّن ### امتداد المبنى "numpy.linalg._umath_linalg" مصادر ### تحذير: استخدام lapack غير مُحسَّن ### ملحق المبنى "numpy.random._mt19937" مصادر امتداد المبنى مصادر "numpy.random._philox" مصادر امتداد المبنى "numpy.random._pcg64" امتداد المبنى مصادر "numpy.random._sfc64" امتداد المبنى مصادر "numpy.random._common" امتداد المبنى مصادر "numpy.random.bit_generator" امتداد المبنى مصادر "numpy.random._generator" امتداد المبنى مصادر "numpy.random._bounded_integers" امتداد المبنى مصادر "numpy.random.mtrand" بناء مصادر ملفات البيانات build_src: بناء ملفات التكوين npy-pkg تخصيص UnixCompiler تخصيص UnixCompiler باستخدام new_build_clib بناء مكتبة "npymath" تجميع مصادر سي مترجم C: gcc -pthread -Wno-unused-result -Wsign-Compar -DNDEBUG -g -fwrapv -O3 -Wall -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fno-semantic-interposition -مارش = x86-64 -mtune = عام -O3 -أنابيب -fno-plt -march = x86-64 -mtune = عام -O3 -Pipe -fno-plt -fPIC خيارات التجميع: '-Inumpy / core / src / npymath -Inumpy / core / include -Inumpy / core / include / numpy -Inumpy / core / src / common -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / src / npysort -I / home / ross / .virtualenvs / tmp / include -I / usr / include / python3.8 - Inumpy / core / src / common -Inumpy / core / src / npymath -c ' خيارات إضافية: '-std = c99' دول مجلس التعاون الخليجي: numpy / core / src / npymath / halffloat.c مجلس التعاون الخليجي: numpy / core / src / npymath / npy_math.c مجلس التعاون الخليجي: numpy / core / src / npymath / npy_math_complex.c مجلس التعاون الخليجي: numpy / core / src / npymath / ieee754.c ar: إضافة 4 ملفات كائنات لبناء / temp.linux-x86_64-3.8 / libnpymath.a بناء مكتبة "npyrandom" تجميع مصادر سي مترجم C: gcc -pthread -Wno-unused-result -Wsign-Compar -DNDEBUG -g -fwrapv -O3 -Wall -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fno-semantic-interposition -مارش = x86-64 -mtune = عام -O3 -أنابيب -fno-plt -march = x86-64 -mtune = عام -O3 -Pipe -fno-plt -fPIC خيارات التجميع: '-Inumpy / core / include -Inumpy / core / include / numpy -Inumpy / core / src / common -Inumpy / core / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / src / npysort -I / home / ross / .virtualenvs / tmp / include -I / usr / include / python3.8 -Inumpy / core / src / common - Inumpy / core / src / npymath -c ' خيارات إضافية: '-std = c99' gcc: numpy / random / src / التوزيعات / التوزيعات gcc: numpy / random / src / Distribution / random_mvhg_count.c gcc: numpy / random / src / Distribution / random_mvhg_marginals.c gcc: numpy / random / src / Distribution / random_hypergeometric.c ar: إضافة 5 ملفات كائنات لبناء / temp.linux-x86_64-3.8 / libnpyrandom.a تخصيص UnixCompiler تخصيص UnixCompiler باستخدام new_build_ext بناء امتداد "numpy.core._multiarray_tests" تجميع مصادر سي مترجم C: gcc -pthread -Wno-unused-result -Wsign-Compar -DNDEBUG -g -fwrapv -O3 -Wall -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fno-semantic-interposition -مارش = x86-64 -mtune = عام -O3 -أنابيب -fno-plt -march = x86-64 -mtune = عام -O3 -pipe -fno-plt -fPIC خيارات الترجمة: '-DNPY_INTERNAL_BUILD = 1 -DHAVE_NPY_CONFIG_H = 1 -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE = 1 -D_LARGEFILE64_SOURCE = 1-Inumpy / core / include -Inumpy / core / include / / src -Inumpy / core -Inumpy / core / src / npymath -Inumpy / core / src / multiarray -Inumpy / core / src / umath -Inumpy / core / src / npysort -I / home / ross / .virtualenvs / tmp / تشمل -I / usr / include / python3.8 -Inumpy / core / src / common -Inumpy / core / src / npymath -c ' خيارات إضافية: '-std = c99' gcc: numpy / core / src / common / mem_overlap.c مجلس التعاون الخليجي: numpy / core / src / multiarray / _multiarray_tests.c gcc -pthread -shared -Wl، -O1، - sort-common، - حسب الحاجة، -z، relro، -z، now -fno-semantic-interposition -Wl، -O1، - sort-common، - حسب الحاجة ، -z ، relro ، -z ، الآن بناء / temp.linux-x86_64-3.8 / numpy / core / src / multiarray / _multiarray_tests.o build / temp.linux-x86_64-3.8 / numpy / core / src / common / mem_overlap.o -L / usr / lib -Lbuild / temp.linux-x86_64-3.8 -lnpymath -o numpy / core / _multiarray_tests.cpython-38-x86_64-linux-gnu.so / usr / bin / ld: build / temp.linux-x86_64-3.8 / numpy / core / src / common / mem_overlap.o: /home/ross/repos/numpy/numpy/core/include/numpy/ndarraytypes.h: 1825: تعريف متعدد لـ "PyArrayDTypeMeta_Type" ؛ build / temp.linux-x86_64-3.8 / numpy / core / src / multiarray / _multiarray_tests.o: /home/ross/repos/numpy/numpy/core/include/numpy/ndarraytypes.h: 1825: تم تعريفها أولاً هنا collect2: خطأ: أرجع ld حالة خروج واحدة خطأ: الأمر "gcc -pthread -shared -Wl، -O1، - sort-common، - as-needed، -z، relro، -z، now -fno-semantic-interposition -Wl، -O1، - Sort-common ، - حسب الحاجة ، -z ، relro ، -z ، الآن بناء / temp.linux-x86_64-3.8 / numpy / core / src / multiarray / _multiarray_tests.o build / temp.linux-x86_64-3.8 / numpy / core / src / common / mem_overlap.o -L / usr / lib -Lbuild / temp.linux-x86_64-3.8 -lnpymath -o numpy / core / _multiarray_tests.cpython-38-x86_64-linux-gnu.so "فشل مع حالة الخروج 1
إصدار Python: 3.8.3
إصدار NumPy: 1809a0fde
نسخة مجلس التعاون الخليجي: 10.1
أعتقد أن هذه التعريفات ربما لا تكون مناسبة تمامًا للتواجد هناك (الآن بعد أن لاحظت ذلك ، فإن التحليل الساكن للرنين يعطيني أيضًا بعض التحذيرات حول هذا الموضوع). ربما يحتاجون إلى نقلهم إلى ملفات رأس معينة حتى نجعلها عامة؟
أرى ذلك أيضًا ، مجلس التعاون الخليجي 10.1.1. قمت بترقية نظام التشغيل الخاص بي الليلة الماضية ، فهناك دائمًا مشاكل بعد ...
أنا أرى هذا مع
jupiter<strong i="6">@23</strong>:06 ➤ gcc --version
gcc (GCC) 10.1.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
الخطأ هو extern
مفقود في الإعلان ، يجب على gh-16435 إصلاحه ، قام روس باختباره من أجلي.
التعليق الأكثر فائدة
الخطأ هو
extern
مفقود في الإعلان ، يجب على gh-16435 إصلاحه ، قام روس باختباره من أجلي.