forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Пляски с MinGW (http://forum.boolean.name/showthread.php?t=20477)

DarkInside 13.11.2016 23:35

Пляски с MinGW
 
Когда-то давно, когда я был студентом, мы с ребятами снимали квартиру и был у нас один "бородатый кодер" (в кавычках потому что бородатый по менталитету, а на деле длинноволосый металлюга, который кодил на С++). Ну так вот, сколько его помню, он каждый вечер боролся с MinGW и матерился, а потом залипал в Пайнкиллер до утра.

Только сейчас начал понимать, о чем он говорил, тк надо скомпиллить c MinGW openCL библиотеку для питона. Вторые сутки уже пляшу. Млять, ошибка за ошибкой!

Делал всё как в хелпе. https://wiki.tiker.net/PyOpenCL/Installation/Windows
Windows 10 64 bit, Python 3.4, PyOpenCL/Git Master, MingWPy, Nvidia CUDA 7.5

Не видит MSVC++ 10. Я уже штук 20 разных пакетов и SDK установил с msvc. Что ему надо?

Лог:
Цитата:

C:\pyopencl>python setup.py build_ext --compiler=mingw32
---------------------------------------------------------------------------
Sorry, your build failed. Try rerunning configure.py with different options.
---------------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\setuptools\msvc9_support.py", line 52, in query_vcvarsall
return unpatched['query_vcvarsall'](version, *args, **kwargs)
File "C:\Python34\lib\distutils\msvc9compiler.py", line 259, in query_vcvarsall
raise DistutilsPlatformError("Unable to find vcvarsall.bat")
distutils.errors.DistutilsPlatformError: Unable to find vcvarsall.bat

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 152, in save_modules
yield saved
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 193, in setup_context
yield
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 237, in run_setup
DirectorySandbox(setup_dir).run(runner)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 267, in run
return func()
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 236, in runner
_execfile(setup_script, ns)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 46, in _execfile
exec(code, globals, locals)
File "C:\Users\home\AppData\Local\Temp\easy_install-ipm6w33j\cffi-1.9.1\setup.py", line 98, in <module>
check_git_submodules()
File "C:\Users\home\AppData\Local\Temp\easy_install-ipm6w33j\cffi-1.9.1\setup.py", line 76, in uses_msvc
"CL_USE_SHIPPED_EXT", True,
File "C:\Python34\lib\distutils\command\config.py", line 227, in try_compile
self._compile(body, headers, include_dirs, lang)
File "C:\Python34\lib\distutils\command\config.py", line 133, in _compile
self.compiler.compile([src], include_dirs=include_dirs)
File "C:\Python34\lib\distutils\msvc9compiler.py", line 460, in compile
self.initialize()
File "C:\Python34\lib\distutils\msvc9compiler.py", line 371, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python34\lib\site-packages\setuptools\msvc9_support.py", line 62, in query_vcvarsall
raise distutils.errors.DistutilsPlatformError(message)
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "setup.py", line 247, in <module>
main()
File "setup.py", line 243, in main
zip_safe=False)
File "C:\pyopencl\aksetup_helper.py", line 21, in setup
setup(*args, **kwargs)
File "C:\Python34\lib\distutils\core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 268, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 313, in fetch_build_eggs
replace_conflicting=True,
File "C:\Python34\lib\site-packages\pkg_resources\__init__.py", line 836, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "C:\Python34\lib\site-packages\pkg_resources\__init__.py", line 1081, in best_match
return self.obtain(req, installer)
File "C:\Python34\lib\site-packages\pkg_resources\__init__.py", line 1093, in obtain
return installer(requirement)
File "C:\Python34\lib\site-packages\setuptools\dist.py", line 380, in fetch_build_egg
return cmd.easy_install(req)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 629, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 659, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 842, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1070, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "C:\Python34\lib\site-packages\setuptools\command\easy_install.py", line 1056, in run_setup
run_setup(setup_script, args)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 240, in run_setup
raise
File "C:\Python34\lib\contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 193, in setup_context
yield
File "C:\Python34\lib\contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 164, in save_modules
saved_exc.resume()
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 139, in resume
compat.reraise(type, exc, self._tb)
File "C:\Python34\lib\site-packages\setuptools\compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 152, in save_modules
yield saved
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 193, in setup_context
yield
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 237, in run_setup
DirectorySandbox(setup_dir).run(runner)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 267, in run
return func()
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 236, in runner
_execfile(setup_script, ns)
File "C:\Python34\lib\site-packages\setuptools\sandbox.py", line 46, in _execfile
exec(code, globals, locals)
File "C:\Users\home\AppData\Local\Temp\easy_install-ipm6w33j\cffi-1.9.1\setup.py", line 98, in <module>
check_git_submodules()
File "C:\Users\home\AppData\Local\Temp\easy_install-ipm6w33j\cffi-1.9.1\setup.py", line 76, in uses_msvc
"CL_USE_SHIPPED_EXT", True,
File "C:\Python34\lib\distutils\command\config.py", line 227, in try_compile
self._compile(body, headers, include_dirs, lang)
File "C:\Python34\lib\distutils\command\config.py", line 133, in _compile
self.compiler.compile([src], include_dirs=include_dirs)
File "C:\Python34\lib\distutils\msvc9compiler.py", line 460, in compile
self.initialize()
File "C:\Python34\lib\distutils\msvc9compiler.py", line 371, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python34\lib\site-packages\setuptools\msvc9_support.py", line 62, in query_vcvarsall
raise distutils.errors.DistutilsPlatformError(message)
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

mr.DIMAS 14.11.2016 00:06

Ответ: Пляски с MinGW
 
Один вопрос: зачем нужна MSVC++ 10, когда ты компилишь через mingw? mingw же самодостаточный кросс-компилятор.

DarkInside 14.11.2016 00:36

Ответ: Пляски с MinGW
 
А я не знаю, зачем она в каждой строке пишет, что msvc не найден. Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat). Гуглил, перепробовал все способы на первой странице поиска. Может винду переустановить. Если не поможет, придется Win 7 ставить, там уже готовый инсталлятор есть. Жаль, жесткий GPT, придется полностью всё перепиливать. Я вот не понимаю, зачем эти пакеты выкладывают для самостоятельной сборки? Что так сложно написать инсталлятор со скриптом, который определит по реестру, куда установлена CUDA, куда установлен питон? Для линукса еще понятно, но для винды то зачем эта сборка самостоятельная.

mr.DIMAS 14.11.2016 00:50

Ответ: Пляски с MinGW
 
Поставь студию 2010, делов то. Пиратку качаешь и радуешься

DarkInside 14.11.2016 00:53

Ответ: Пляски с MinGW
 
Попробую студию поставить, только позавчера снес.

Nerd 14.11.2016 01:04

Ответ: Пляски с MinGW
 
MingWPy в PATH прописан?

DarkInside 14.11.2016 01:54

Ответ: Пляски с MinGW
 
Нет, а как его правильно прописать? Попробовал так:
Имя: mingw32; Значение: C:\Python34\share\mingwpy
То же самое
Имя: mingw32; Значение: C:\Python34\share\mingwpy\bin
Аналогично

St_AnGer 14.11.2016 10:31

Ответ: Пляски с MinGW
 
Цитата:

Сообщение от DarkInside (Сообщение 310092)
Нет, а как его правильно прописать? Попробовал так:
Имя: mingw32; Значение: C:\Python34\share\mingwpy
То же самое
Имя: mingw32; Значение: C:\Python34\share\mingwpy\bin
Аналогично

А если в конец переменной с именем "PATH" дописать? Емнип это должно именно так работать, собственно это Nerd и написал.

DarkInside 14.11.2016 14:24

Ответ: Пляски с MinGW
 
Не, не помогло. Я просто подумал про системную переменную почему-то, раз там указывается компиллер=mingw32, а его нет в системных переменных. Пойду копаться в правилах сборки модулей для питона. Колеса еще какие-то нашел для этого пакета (файл с расширением .whl), только как ими пользоваться хз. Сам то язык простой, открыл хелп и начал писать, а вот окружение...

Всё оказалось проще... pip install pyopencl-2016.2+cl21-cp34-cp34m-win32.whl

mingw 17.11.2016 16:53

Ответ: Пляски с MinGW
 
хе-хе...


Часовой пояс GMT +4, время: 10:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot