Установите PyHDF на CentOS7

Пожалуйста помоги,

У меня возникли проблемы с установкой pyhdf на CentOS7. Я должен сказать, что я новичок в Linux

Pyhdf требует установки HDF, и до сих пор я пробовал следующее:

  1. сначала установите HDF с помощью ./configure, gmake && gmake check. Однако проверьте выход с 6 ошибками.

  2. Затем я использовал «yum install hdf-devel». Таким образом, HDF был установлен на компьютер, но pyhdf все еще существует с ошибками. Что касается phydf, я пробовал как «pip install pyhdf», так и «python setup.py install», но всегда безуспешно. Подробности смотрите в журнале ниже. Благодарю вас!

    $ python setup.py build running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --параметры компилятора, работающие с config_fc unifing config_fc, config, build_clib, build_ext, команды сборки --f параметры компилятора, работающие с build_src build_src расширение сборки "pyhdf. _hdfext" исходники build_src: сборка конфигурационных файлов npy-pkg запуск build_py запуск build_ext настройка UnixCCompiler настройка UnixCCompiler с помощью build_ext сборка расширения 'pyhdf._hdfext' компиляция исходников C компилятор C: gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED= 1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic - D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python36/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp- размер буфера=4 -grecord-gcc-переключатели -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrap v -fPIC -std=c99

    Это не ответ, как таковой, на поставленные вопросы, но дал мне выход из неприятностей.
    Хотел бы я знать это сразу.


person ermaure    schedule 12.01.2020    source источник


Ответы (1)


Чтобы запустить pyhdf, я просто настроил среду anaconda. Подробная информация о настройке среды conda доступна на официальном веб-сайте Anaconda. Огромная благодарность команде Anaconda

Дальше все просто как pip/conda install

Быть новичком в среде Linux может быть неприятно, но как только все настроено, приходит радость.

параметры компиляции: '-I/usr/local/hdf4/include -I/home/npec/oop/oop_venv/lib64/python3.6/site-packages/numpy/core/include -I/home/npec/oop/oop_venv /include -I/opt/rh/rh-python36/root/usr/include/python3.6m -c' дополнительные параметры: '-DNOSZIP' gcc -pthread -shared -L/opt/rh/rh-python36/root/ usr/lib64-Wl,-z,relro-Wl,-rpath,/opt/rh/rh-python36/root/usr/lib64-Wl,--enable-new-dtags build/temp.linux-x86_64-3.6/ pyhdf/hdfext_wrap.o -L/usr/local/hdf4/lib -L/usr/local/jpeg/lib -L/usr/local/zlib/lib -L/usr/local/jpeg/lib -L/usr/ local/zlib/lib -L/usr/local/szip/lib -L/usr/lib -L/usr/local/lib -L/lib -L/opt/rh/rh-python36/root/usr/lib64 - lmfhdf -ldf -ljpeg -lz -lpython3.6m -o build/lib.linux-x86_64-3.6/pyhdf/_hdfext.cpython-36m-x86_64-linux-gnu.so /usr/bin/ld: /usr/local/ hdf4/lib/libmfhdf.a(mfsd.o): перемещение R_X86_64_32 против pyhdf.rodata' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(putgetg.o): перемещение R_X86_64_32 против pip/conda install.rodata.str1.1' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(var.o): перемещение R_X86_64_32 против _3_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(attr.o): перемещение R_X86_64_32 против _4_.rodata.str1.1' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(dim.o): перераспределение R_X86_64_32 против _5_rlim' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(hdfsds.o): перемещение R_X86_64_32 против _6_.rodata.str1.1' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(error.o): перемещение R_X86_64_32 против _7_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libmfhdf.a(xdrposix.o): перемещение R_X86_64_32S против _8_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dfconv.o): перемещение R_X86_64_32 против _9_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dfknat.o): перемещение R_X86_64_32 против _10_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hblocks.o): переместить R_X86_64_32 на _11_.rodata.str1. 8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hcomp.o): перемещение R_X86_64_32 против _12_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hextelt.o): перемещение R_X86_64_32 против _13_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hfiledd.o): перемещение R_X86_64_32 против _14_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(mfan.o): перемещение R_X86_64_32 против символа _15_.rodata.str1.8' нельзя использовать при создании общего объекта ; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(tbbt.o): перемещение R_X86_64_32 против _16_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(vg.o): перемещение R_X86_64_32 против _17_vdestroynode' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(vhi.o): перемещение R_X86_64_32 против _18_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(vparse.o): перемещение R_X86_64_32S против _19_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(vsfld.o): перемещение R_X86_64_32 против _20_.bss' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(bitvect.o): перемещение R_X86_64_32S против _21_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(cnbit.o): перемещение R_X86_64_32 против _22_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(crle.o): перемещение R_X86_64_32 против _23_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dynarray.o): перемещение R_X86_64_32 против _24_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hbitio.o): перемещение R_X86_64_32 против _25_.rodata.str1.8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(hcompri.o): переместить R_X86_64_32 на _26_.rodata.str1. 8' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dfcomp.o): перемещение R_X86_64_32 против _27_.bss' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dfjpeg.o): перемещение R_X86_64_32S против символа _28_.bss' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libdf.a(dfunjpeg.o): перемещение R_X86_64_32S против символа _29_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcapistd.o): перемещение R_X86_64_32 против _30_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcinit.o): перемещение R_X86_64_32 против _31_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcmarker.o): перемещение R_X86_64_32S против символа _32_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcprepct.o): перемещение R_X86_64_32S против _33_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jccolor.o): перемещение R_X86_64_32S против _34_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jchuff.o): перемещение R_X86_64_32S против символа _35_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcdctmgr.o): перемещение R_X86_64_32S против _36_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jfdctflt.o): перемещение R_X86_64_32 против _37_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdapimin.o): перемещение R_X86_64_32S против _38_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdmaster.o): перемещение R_X86_64_32S против _39_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdmarker.o): перемещение R_X86_64_32S против _40_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdphuff.o): перемещение R_X86_64_32S против _41_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdcoefct.o): перемещение R_X86_64_32S против _42_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jddctmgr.o): перемещение R_X86_64_32 против символа _43_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jidctflt.o): перемещение R_X86_64_32 против _44_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jidctred.o): перемещение R_X86_64_32 против _45_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jdcolor.o): перемещение R_X86_64_32S против _46_.text' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jquant2.o): перемещение R_X86_64_32S против _47_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jcomapi.o): перемещение R_X86_64_32 против _48_.text' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jerror.o): перемещение R_X86_64_32S против _49_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libjpeg.a(jmemnobs.o): перемещение R_X86_64_32 против _50_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libz.a(inflate.o): перемещение R_X86_64_32S против _51_.rodata' нельзя использовать при создании общего объекта; перекомпилируйте с помощью -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libz.a(trees.o): перемещение R_X86_64_32S против _52_.rodata.str1. 1' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libz.a(adler32.o): перемещение R_X86_64_32 против _53_.rodata' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: /usr/local/hdf4/lib/libz.a(inffast.o): перемещение R_X86_64_32S против `.rodata.str1.1' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/bin/ld: окончательная ссылка не удалась: непредставимый раздел на выходе collect2: ошибка: ld вернул 1 ошибку состояния выхода: команда «gcc -pthread -shared -L/opt/rh/rh-python36/root/ usr/lib64-Wl,-z,relro-Wl,-rpath,/opt/rh/rh-python36/root/usr/lib64-Wl,--enable-new-dtags build/temp.linux-x86_64-3.6/ pyhdf/hdfext_wrap.o -L/usr/local/hdf4/lib -L/usr/local/jpeg/lib -L/usr/local/zlib/lib -L/usr/local/jpeg/lib -L/usr/ local/zlib/lib -L/usr/local/szip/lib -L/usr/lib -L/usr/local/lib -L/lib -L/opt/rh/rh-python36/root/usr/lib64 - lmfhdf -ldf -ljpeg -lz -lpython3.6m -o build/lib.linux-x86_64-3.6/pyhdf/_hdfext.cpython-36m-x86_64-linux-gnu.so" завершился с ошибкой со статусом выхода 1

person ermaure    schedule 27.01.2020