#1 Le 29/11/2013, à 18:46
- waxdesf
[resolu] Erreur installation cx_Freeze pour python3.3
Bonjour Communauté !
Impossible d'installer cx_Freeze sur ma machine.
Je précise que je suis sous Xubuntu 13.10 en 64bits.
Après avoir téléchargé le code source sur sourceforge, je lance :
sudo python3.3 setup.py build
Et ci-dessous les deux dernières lignes d'une longue série d'erreur :
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
J'ai fait le tour de pas mal de sujets de forum, sans trouver de solution :
même erreur, à peu près la même erreur, même erreur avec 32bits,
Voici le log complet de la commande build > log.txt :
adding base module named _dummy_thread
adding base module named _frozen_importlib
adding base module named _strptime
adding base module named _threading_local
adding base module named _weakrefset
adding base module named abc
adding base module named argparse
adding base module named base64
adding base module named bz2
adding base module named calendar
adding base module named codecs
adding base module named collections
adding base module named collections.abc
adding base module named contextlib
adding base module named copy
adding base module named copyreg
adding base module named datetime
adding base module named dummy_threading
adding base module named encodings
adding base module named encodings.aliases
adding base module named encodings.ascii
adding base module named encodings.base64_codec
adding base module named encodings.big5
adding base module named encodings.big5hkscs
adding base module named encodings.bz2_codec
adding base module named encodings.charmap
adding base module named encodings.cp037
adding base module named encodings.cp1006
adding base module named encodings.cp1026
adding base module named encodings.cp1140
adding base module named encodings.cp1250
adding base module named encodings.cp1251
adding base module named encodings.cp1252
adding base module named encodings.cp1253
adding base module named encodings.cp1254
adding base module named encodings.cp1255
adding base module named encodings.cp1256
adding base module named encodings.cp1257
adding base module named encodings.cp1258
adding base module named encodings.cp424
adding base module named encodings.cp437
adding base module named encodings.cp500
adding base module named encodings.cp65001
adding base module named encodings.cp720
adding base module named encodings.cp737
adding base module named encodings.cp775
adding base module named encodings.cp850
adding base module named encodings.cp852
adding base module named encodings.cp855
adding base module named encodings.cp856
adding base module named encodings.cp857
adding base module named encodings.cp858
adding base module named encodings.cp860
adding base module named encodings.cp861
adding base module named encodings.cp862
adding base module named encodings.cp863
adding base module named encodings.cp864
adding base module named encodings.cp865
adding base module named encodings.cp866
adding base module named encodings.cp869
adding base module named encodings.cp874
adding base module named encodings.cp875
adding base module named encodings.cp932
adding base module named encodings.cp949
adding base module named encodings.cp950
adding base module named encodings.euc_jis_2004
adding base module named encodings.euc_jisx0213
adding base module named encodings.euc_jp
adding base module named encodings.euc_kr
adding base module named encodings.gb18030
adding base module named encodings.gb2312
adding base module named encodings.gbk
adding base module named encodings.hex_codec
adding base module named encodings.hp_roman8
adding base module named encodings.hz
adding base module named encodings.idna
adding base module named encodings.iso2022_jp
adding base module named encodings.iso2022_jp_1
adding base module named encodings.iso2022_jp_2
adding base module named encodings.iso2022_jp_2004
adding base module named encodings.iso2022_jp_3
adding base module named encodings.iso2022_jp_ext
adding base module named encodings.iso2022_kr
adding base module named encodings.iso8859_1
adding base module named encodings.iso8859_10
adding base module named encodings.iso8859_11
adding base module named encodings.iso8859_13
adding base module named encodings.iso8859_14
adding base module named encodings.iso8859_15
adding base module named encodings.iso8859_16
adding base module named encodings.iso8859_2
adding base module named encodings.iso8859_3
adding base module named encodings.iso8859_4
adding base module named encodings.iso8859_5
adding base module named encodings.iso8859_6
adding base module named encodings.iso8859_7
adding base module named encodings.iso8859_8
adding base module named encodings.iso8859_9
adding base module named encodings.johab
adding base module named encodings.koi8_r
adding base module named encodings.koi8_u
adding base module named encodings.latin_1
adding base module named encodings.mac_arabic
adding base module named encodings.mac_centeuro
adding base module named encodings.mac_croatian
adding base module named encodings.mac_cyrillic
adding base module named encodings.mac_farsi
adding base module named encodings.mac_greek
adding base module named encodings.mac_iceland
adding base module named encodings.mac_latin2
adding base module named encodings.mac_roman
adding base module named encodings.mac_romanian
adding base module named encodings.mac_turkish
adding base module named encodings.mbcs
adding base module named encodings.palmos
adding base module named encodings.ptcp154
adding base module named encodings.punycode
adding base module named encodings.quopri_codec
adding base module named encodings.raw_unicode_escape
adding base module named encodings.rot_13
adding base module named encodings.shift_jis
adding base module named encodings.shift_jis_2004
adding base module named encodings.shift_jisx0213
adding base module named encodings.tis_620
adding base module named encodings.undefined
adding base module named encodings.unicode_escape
adding base module named encodings.unicode_internal
adding base module named encodings.utf_16
adding base module named encodings.utf_16_be
adding base module named encodings.utf_16_le
adding base module named encodings.utf_32
adding base module named encodings.utf_32_be
adding base module named encodings.utf_32_le
adding base module named encodings.utf_7
adding base module named encodings.utf_8
adding base module named encodings.utf_8_sig
adding base module named encodings.uu_codec
adding base module named encodings.zlib_codec
adding base module named functools
adding base module named genericpath
adding base module named gettext
adding base module named heapq
adding base module named imp
adding base module named importlib
adding base module named importlib._bootstrap
adding base module named importlib.machinery
adding base module named io
adding base module named keyword
adding base module named linecache
adding base module named locale
adding base module named optparse
adding base module named os
adding base module named posixpath
adding base module named quopri
adding base module named re
adding base module named reprlib
adding base module named sre_compile
adding base module named sre_constants
adding base module named sre_parse
adding base module named stat
adding base module named stringprep
adding base module named struct
adding base module named textwrap
adding base module named threading
adding base module named token
adding base module named tokenize
adding base module named traceback
adding base module named types
adding base module named warnings
adding base module named weakref
running build
running build_py
running build_ext
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Ibuild/temp.linux-x86_64-3.3 -I/usr/include/python3.3m -c source/bases/Console.c -o build/temp.linux-x86_64-3.3/source/bases/Console.o
x86_64-linux-gnu-gcc -pthread build/temp.linux-x86_64-3.3/source/bases/Console.o -o build/lib.linux-x86_64-3.3/cx_Freeze/bases/Console -s
Et les erreurs qui s'affichent dans le terminal :
In file included from source/bases/Console.c:41:0:
source/bases/Common.c: In function ‘ExecuteScript’:
source/bases/Common.c:307:5: warning: passing argument 1 of ‘PyEval_EvalCode’ from incompatible pointer type [enabled by default]
temp = PyEval_EvalCode( (PyCodeObject*) code, dict, dict);
^
In file included from /usr/include/python3.3m/Python.h:123:0,
from source/bases/Console.c:6:
/usr/include/python3.3m/eval.h:10:24: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyCodeObject *’
PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *);
^
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « GetImporterHelper »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:211: référence indéfinie vers « PyObject_CallMethod »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:215: référence indéfinie vers « PyErr_Clear »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « GetDirName »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:66: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:66: référence indéfinie vers « PyUnicode_Decode »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « FatalError »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « cxString_ToString »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:41: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:41: référence indéfinie vers « PyUnicode_AsEncodedString »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « FatalError »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « main »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:64: référence indéfinie vers « Py_NoSiteFlag »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:65: référence indéfinie vers « Py_FrozenFlag »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:66: référence indéfinie vers « Py_IgnoreEnvironmentFlag »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:67: référence indéfinie vers « PyImport_FrozenModules »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:72: référence indéfinie vers « Py_SetPythonHome »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:74: référence indéfinie vers « PyMem_Malloc »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:79: référence indéfinie vers « PyMem_Malloc »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:86: référence indéfinie vers « Py_SetProgramName »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:87: référence indéfinie vers « Py_GetProgramFullPath »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:89: référence indéfinie vers « Py_Initialize »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:90: référence indéfinie vers « PySys_SetArgv »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « SetExecutableName »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:93: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:93: référence indéfinie vers « PyUnicode_Decode »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:115: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:115: référence indéfinie vers « PyUnicode_Decode »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:136: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:136: référence indéfinie vers « PyUnicode_Decode »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « FatalError »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « main »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:105: référence indéfinie vers « Py_Finalize »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « SetExecutableName »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:155: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:155: référence indéfinie vers « PyUnicode_Decode »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:167: référence indéfinie vers « Py_FileSystemDefaultEncoding »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:167: référence indéfinie vers « PyUnicode_Decode »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « SetPathToSearch »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:186: référence indéfinie vers « PySys_GetObject »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:189: référence indéfinie vers « PyList_Insert »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:191: référence indéfinie vers « PyList_Insert »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:193: référence indéfinie vers « PyList_Insert »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:195: référence indéfinie vers « PyList_Insert »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « GetImporter »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:231: référence indéfinie vers « PyImport_ImportModule »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « ExecuteScript »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:295: référence indéfinie vers « PyDict_New »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « PopulateInitScriptDict »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:256: référence indéfinie vers « PyEval_GetBuiltins »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:256: référence indéfinie vers « PyDict_SetItemString »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:258: référence indéfinie vers « PyDict_SetItemString »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:260: référence indéfinie vers « PyDict_SetItemString »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:262: référence indéfinie vers « PyDict_SetItemString »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:265: référence indéfinie vers « PyDict_SetItemString »
build/temp.linux-x86_64-3.3/source/bases/Console.o:/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:268: encore plus de références indéfinies suivent vers « PyDict_SetItemString »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « ExecuteScript »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:303: référence indéfinie vers « PyObject_CallMethod »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:307: référence indéfinie vers « PyEval_EvalCode »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:102: référence indéfinie vers « PyExc_OSError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Common.c:102: référence indéfinie vers « PyErr_SetFromErrnoWithFilename »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « FatalError »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:24: référence indéfinie vers « PyErr_Print »
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:25: référence indéfinie vers « Py_FatalError »
build/temp.linux-x86_64-3.3/source/bases/Console.o: dans la fonction « FatalScriptError »:
/home/max/python/cx_Freeze-4.3.2/source/bases/Console.c:36: référence indéfinie vers « PyErr_Print »
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Après plus de recherche, il s'avère que la commande "x86_64-linux-gnu-gcc" est un alias de gcc-4.8.
$ ls /usr/bin/x86* -l
lrwxrwxrwx 1 root root 7 nov. 11 10:53 /usr/bin/x86_64 -> setarch
lrwxrwxrwx 1 root root 7 nov. 11 10:53 /usr/bin/x86_64-linux-gnu-cpp -> cpp-4.8
lrwxrwxrwx 1 root root 7 nov. 15 16:25 /usr/bin/x86_64-linux-gnu-cpp-4.8 -> cpp-4.8
lrwxrwxrwx 1 root root 7 oct. 12 04:47 /usr/bin/x86_64-linux-gnu-g++ -> g++-4.8
lrwxrwxrwx 1 root root 7 nov. 15 16:31 /usr/bin/x86_64-linux-gnu-g++-4.8 -> g++-4.8
lrwxrwxrwx 1 root root 7 nov. 11 10:53 /usr/bin/x86_64-linux-gnu-gcc -> gcc-4.8
lrwxrwxrwx 1 root root 7 nov. 15 16:35 /usr/bin/x86_64-linux-gnu-gcc-4.8 -> gcc-4.8
lrwxrwxrwx 1 root root 10 nov. 15 16:35 /usr/bin/x86_64-linux-gnu-gcc-ar-4.8 -> gcc-ar-4.8
lrwxrwxrwx 1 root root 10 nov. 15 16:35 /usr/bin/x86_64-linux-gnu-gcc-nm-4.8 -> gcc-nm-4.8
lrwxrwxrwx 1 root root 14 nov. 15 16:35 /usr/bin/x86_64-linux-gnu-gcc-ranlib-4.8 -> gcc-ranlib-4.8
N'y a-t-il pas un autre moyen d'installer cx-freeze ? j'ai réussi à l'installer avec pip, mais sur python2.7, et mon programme à compiler est écrit en python3.3. Idem pour le dépôt officiel, qui m'installe cx-freeze sur python2.7. Je ne peux pas spécifier quelque part que je veux que l'installation concerne python3 ?
Merci !
Dernière modification par waxdesf (Le 30/11/2013, à 18:35)
Ubuntu 17.10 / ASUS S550CM
Intel i7-3517U 1.9GHz
Nvidia GT 635M / Intel HD
Hors ligne
#2 Le 30/11/2013, à 17:29
- waxdesf
Re : [resolu] Erreur installation cx_Freeze pour python3.3
Mon problème a été résolu sur launchpad : https://answers.launchpad.net/ubuntu/+s … ion/240057
Il faut remplacer la ligne suivante du fichier setup.py :
https://bitbucket.org/anthony_tuininga/ … ault#cl-79
par cette ligne :
if True:
Donc en résumé
if not vars.get("Py_ENABLE_SHARED", 0):
Devient simplement :
if True:
Puis compiler normalement :
setup.py build
setup.py install
Et le tour est joué.
Merci à Mark Rijckenberg
Ubuntu 17.10 / ASUS S550CM
Intel i7-3517U 1.9GHz
Nvidia GT 635M / Intel HD
Hors ligne