Ошибка компиляции gcc из python

Я знаю, что есть много потоков на gcc, особенно "команда gcc failed with exit status 1", и я просмотрел их все и до сих пор не смог это исправить. Я бы использовал gcc или mingw32 для задач, связанных с python, таких как использование Cython или других пакетов, которые могут включать компиляцию. Однако он никогда не работает.

У меня есть компьютер с Windows 7 Home edition. Я установил cygwin на нем с помощью mingw32, и у меня также установлен Visual Studio 11 Beta, и я счастлив удалить/переустановить что-нибудь, чтобы заставить это работать.

Сборники Cython всегда терпят неудачу с

error: command 'gcc' failed with exit status 1

Но даже при попытке установить много пакетов python с помощью pip выдается ошибка с аналогичной ошибкой. Например, я пытаюсь установить пакет под названием "xhtml2pdf". После запуска "pip install xhtml2pdf" в командной строке я получаю следующую ошибку:

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Pytho
n27\PC -c "C:\Users\JJ\Documents\Coding Fun\build\reportlab\src\rl_addons\rl_acc
el\_rl_accel.c" -o "c:\users\jj\documents\coding fun\build\reportlab\src\rl_addo
ns\rl_accel\_rl_accel.o"

cc1.exe: error: unrecognized command line option '-mno-cygwin'

error: command 'gcc' failed with exit status 1

Запуск той же команды из cygwin дает другую ошибку:

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

gcc -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c C:\cygwin\home\JJ\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c -o c:\cygwin\home\jj\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o

error: command 'gcc' failed: No such file or directory

----------------------------------------
Command C:\Python27\python.exe -c "import setuptools;__file__='C:\\cygwin\\home\\JJ\\build\\reportlab\\setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record c:\users\jj\appdata\local\temp\pip-aohmse-record\install-record.txt failed with error code 1 in C:\cygwin\home\JJ\build\reportlab
Storing complete log in C:\Users\JJ\AppData\Roaming\pip\pip.log


----------------------------------------
Command C:\Python27\python.exe -c "import setuptools;__file__='C:\\Users\\JJ\\Do
cuments\\Coding Fun\\build\\reportlab\\setup.py';exec(compile(open(__file__).rea
d().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-external
ly-managed --record c:\users\jj\appdata\local\temp\pip-r8_mri-record\install-rec
ord.txt failed with error code 1 in C:\Users\JJ\Documents\Coding Fun\build\repor
tlab
Storing complete log in C:\Users\JJ\AppData\Roaming\pip\pip.log

Я очень новичок в компиляции в целом, работая только с интерпретируемыми языками, поэтому я не мог понять, как это исправить. Любая помощь будет оценена при установке этого пакета.

EDIT: Я ранее советовал, как пытаться удалить все ссылки на "-mno-cygwin" в distutils и создать файл distutils.cfg, но безрезультатно.

UPDATE: после переустановки cygwin, а также для понижения моих установок gcc и g++ до v3, я получаю другую, но другую ошибку:

copying src\reportlab\lib\PyFontify.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\pygments2xpre.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\randomtext.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\rltempfile.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\rparsexml.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\sequencer.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\set_ops.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\styles.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\testutils.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\textsplit.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\units.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\utils.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\validators.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\xmllib.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\yaml.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\__init__.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\pdfbase\cidfonts.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfbase\pdfdoc.py -> build\lib.win32-2.7\reportlab\pdfbase


copying src\reportlab\pdfbase\pdfform.py -> build\lib.win32-2.7\reportlab\pdfbas
e

copying src\reportlab\pdfbase\pdfmetrics.py -> build\lib.win32-2.7\reportlab\pdf
base

copying src\reportlab\pdfbase\pdfpattern.py -> build\lib.win32-2.7\reportlab\pdf
base

copying src\reportlab\pdfbase\pdfutils.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfbase\rl_codecs.py -> build\lib.win32-2.7\reportlab\pdfb
ase

copying src\reportlab\pdfbase\ttfonts.py -> build\lib.win32-2.7\reportlab\pdfbas
e

copying src\reportlab\pdfbase\_can_cmap_data.py -> build\lib.win32-2.7\reportlab
\pdfbase

copying src\reportlab\pdfbase\_cidfontdata.py -> build\lib.win32-2.7\reportlab\p
dfbase

copying src\reportlab\pdfbase\_fontdata.py -> build\lib.win32-2.7\reportlab\pdfb
ase

copying src\reportlab\pdfbase\_fontdata_enc_macexpert.py -> build\lib.win32-2.7\
reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_macroman.py -> build\lib.win32-2.7\r
eportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_pdfdoc.py -> build\lib.win32-2.7\rep
ortlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_standard.py -> build\lib.win32-2.7\r
eportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_symbol.py -> build\lib.win32-2.7\rep
ortlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_winansi.py -> build\lib.win32-2.7\re
portlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_zapfdingbats.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courier.py -> build\lib.win32-2.7
\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courierbold.py -> build\lib.win32
-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courierboldoblique.py -> build\li
b.win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courieroblique.py -> build\lib.wi
n32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helvetica.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticabold.py -> build\lib.win
32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticaboldoblique.py -> build\
lib.win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticaoblique.py -> build\lib.
win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_symbol.py -> build\lib.win32-2.7\
reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesbold.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesbolditalic.py -> build\lib.w
in32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesitalic.py -> build\lib.win32
-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesroman.py -> build\lib.win32-
2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_zapfdingbats.py -> build\lib.win3
2-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\__init__.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfgen\canvas.py -> build\lib.win32-2.7\reportlab\pdfgen

copying src\reportlab\pdfgen\pathobject.py -> build\lib.win32-2.7\reportlab\pdfg
en

copying src\reportlab\pdfgen\pdfgeom.py -> build\lib.win32-2.7\reportlab\pdfgen

copying src\reportlab\pdfgen\pdfimages.py -> build\lib.win32-2.7\reportlab\pdfge
n

copying src\reportlab\pdfgen\pycanvas.py -> build\lib.win32-2.7\reportlab\pdfgen


copying src\reportlab\pdfgen\textobject.py -> build\lib.win32-2.7\reportlab\pdfg
en

copying src\reportlab\pdfgen\__init__.py -> build\lib.win32-2.7\reportlab\pdfgen


copying src\reportlab\platypus\doctemplate.py -> build\lib.win32-2.7\reportlab\p
latypus

copying src\reportlab\platypus\figures.py -> build\lib.win32-2.7\reportlab\platy
pus

copying src\reportlab\platypus\flowables.py -> build\lib.win32-2.7\reportlab\pla
typus

copying src\reportlab\platypus\frames.py -> build\lib.win32-2.7\reportlab\platyp
us

copying src\reportlab\platypus\para.py -> build\lib.win32-2.7\reportlab\platypus


copying src\reportlab\platypus\paragraph.py -> build\lib.win32-2.7\reportlab\pla
typus

copying src\reportlab\platypus\paraparser.py -> build\lib.win32-2.7\reportlab\pl
atypus

copying src\reportlab\platypus\tableofcontents.py -> build\lib.win32-2.7\reportl
ab\platypus

copying src\reportlab\platypus\tables.py -> build\lib.win32-2.7\reportlab\platyp
us

copying src\reportlab\platypus\xpreformatted.py -> build\lib.win32-2.7\reportlab
\platypus

copying src\reportlab\platypus\__init__.py -> build\lib.win32-2.7\reportlab\plat
ypus

copying src\reportlab\fonts\00readme.txt -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\bitstream-vera-license.txt -> build\lib.win32-2.7\re
portlab\fonts

copying src\reportlab\fonts\DarkGarden-copying-gpl.txt -> build\lib.win32-2.7\re
portlab\fonts

copying src\reportlab\fonts\DarkGarden-copying.txt -> build\lib.win32-2.7\report
lab\fonts

copying src\reportlab\fonts\DarkGarden-readme.txt -> build\lib.win32-2.7\reportl
ab\fonts

copying src\reportlab\fonts\DarkGarden.sfd -> build\lib.win32-2.7\reportlab\font
s

copying src\reportlab\fonts\DarkGardenMK.afm -> build\lib.win32-2.7\reportlab\fo
nts

copying src\reportlab\fonts\DarkGardenMK.pfb -> build\lib.win32-2.7\reportlab\fo
nts

copying src\reportlab\fonts\Vera.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraBd.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraBI.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraIt.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_abi____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ab_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ai_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_a______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\cobo____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\cob_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\com_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\coo_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ebi____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_eb_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ei_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_er_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Sy______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zd______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zx______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zy______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Pytho
n27\PC -c C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel
.c -o c:\users\jj\documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c: In fun
ction `hex32':

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:491: wa
rning: unsigned int format, long unsigned int arg (arg 3)

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c: In fun
ction `_instanceStringWidthU':

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 'L' might be used uninitialized in this function

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 't' might be used uninitialized in this function

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 'f' might be used uninitialized in this function

writing c:\users\jj\documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.d
ef

C:\mingw\bin\dllwrap.exe -mno-cygwin -mdll -static --output-lib c:\users\jj\docu
ments\build\reportlab\src\rl_addons\rl_accel\lib_rl_accel.a --def c:\users\jj\do
cuments\build\reportlab\src\rl_addons\rl_accel\_rl_accel.def -s c:\users\jj\docu
ments\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o -LC:\Python27\libs -LC:
\Python27\PCbuild -lpython27 -lmsvcr90 -o build\lib.win32-2.7\_rl_accel.pyd

_rl_accel.exp: file not recognized: File format not recognized

collect2: ld returned 1 exit status

dllwrap: gcc exited with status 1

error: command 'dllwrap' failed with exit status 1

Ответ 1

Итак, через некоторое время я наткнулся на сообщение, которое до сих пор работало для меня.

http://www.develer.com/oss/GccWinBinaries

Этот сайт предоставляет неофициальный MinGW GCC двоичный файл (не поддерживается/одобрен MinGW), который предназначен для полной интеграции с Python, вплоть до автоматического обновления путей. Я установил его и bam, pip install cython только начал работать.

Надеюсь, что эта проблема поможет вам решить эту проблему gcc.

Ответ 2

Я только что ответил на тот же вопрос: почему dllwrap дает эту ошибку в pip?

_foo.exp: file not recognized: File format not recognized

Короткий ответ: проверьте свою ПУТЬ. MinGW\bin должен находиться рядом с ним.

Длинный ответ: см. Ошибка установки пакета python pip, ошибка dllwrap после "исправления" : "невозможно найти vcvarsall.bat"

Ответ 3

У меня была эта проблема в cygwin, пока я не понял, что пакет gcc-g++ также нужно установить. Теперь, когда у меня установлены как gcc-core, так и gcc-g++, pip install pandas работает как шарм.