※パッチを追加した後を追記いたしました。
pythonのライブラリを使用したかったのですがzlibというライブラリが必須ということでwindows10にインストールしたいです。cygwinを導入して、デスクトップにzipファイルを解凍。
$ cd zlib-1.2.11
$ ./configure --shared
$ make
$ make install
の順番でコマンド実行したのですが、makeの部分でエラーが出てしまいました。
どのように対処すればいいでしょうか。
$ ./configure --shared Checking for gcc... Checking for shared library support... No shared library support. Building static library libz.a version 1.2.11 with gcc. Checking for size_t... Yes. Checking for off64_t... No. Checking for fseeko... Yes. Checking for strerror... Yes. Checking for unistd.h... Yes. Checking for stdarg.h... Yes. Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). Checking for vsnprintf() in stdio.h... Yes. Checking for return value of vsnprintf()... Yes. Checking for attribute(visibility) support... No.
$ make gcc -O3 -I. -c -o example.o test/example.c gcc -O3 -c -o adler32.o adler32.c gcc -O3 -c -o crc32.o crc32.c gcc -O3 -c -o deflate.o deflate.c gcc -O3 -c -o infback.o infback.c gcc -O3 -c -o inffast.o inffast.c gcc -O3 -c -o inflate.o inflate.c gcc -O3 -c -o inftrees.o inftrees.c gcc -O3 -c -o trees.o trees.c gcc -O3 -c -o zutil.o zutil.c gcc -O3 -c -o compress.o compress.c gcc -O3 -c -o uncompr.o uncompr.c gcc -O3 -c -o gzclose.o gzclose.c gcc -O3 -c -o gzlib.o gzlib.c gzlib.c: 関数 ‘gz_open’ 内: gzlib.c:243:20: 警告: implicit declaration of function ‘_wopen’; did you mean ‘f wopen’? [-Wimplicit-function-declaration] fd == -2 ? _wopen(path, oflag, 0666) : ^~~~~~ fwopen gcc -O3 -c -o gzread.o gzread.c gcc -O3 -c -o gzwrite.o gzwrite.c ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees. o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o gcc -O3 -o example.exe example.o -L. libz.a libz.a(gzlib.o):gzlib.c:(.text+0xab2): `_wopen' に対する定義されていない参照です libz.a(gzlib.o):gzlib.c:(.text+0xab2): 再配置がオーバーフローしないように切り詰 められました: R_X86_64_PC32 (未定義シンボル `_wopen' に対して) libz.a(gzlib.o):gzlib.c:(.text+0xc50): `_wopen' に対する定義されていない参照です libz.a(gzlib.o):gzlib.c:(.text+0xc50): 再配置がオーバーフローしないように切り詰 められました: R_X86_64_PC32 (未定義シンボル `_wopen' に対して) collect2: エラー: ld はステータス 1 で終了しました make: *** [Makefile:289: example.exe] エラー 1
$ make install rm -f /usr/local/lib/libz.a cp libz.a /usr/local/lib chmod 644 /usr/local/lib/libz.a rm -f /usr/local/share/man/man3/zlib.3 cp zlib.3 /usr/local/share/man/man3 chmod 644 /usr/local/share/man/man3/zlib.3 rm -f /usr/local/lib/pkgconfig/zlib.pc cp zlib.pc /usr/local/lib/pkgconfig chmod 644 /usr/local/lib/pkgconfig/zlib.pc rm -f /usr/local/include/zlib.h /usr/local/include/zconf.h cp zlib.h zconf.h /usr/local/include chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
使用したいライブラリを追記
django-dynamic-scraperというdjango上でscrapyを管理するライブラリです。
windows10
django1.11
Python3.4
pip install django-dynamic-scraperの段階で
Failed building wheel for pillow ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting
などのエラーが出てしまいます。
cygwinの中にwopenが無いために起こるエラーに対するパッチを当てました。
パッチ1
パッチ2
こちらを当てた事で警告がでない様になり、インストールが上手くいった様に思えたので、今一度pip installを行いまいましたが、結果は同じエラーでした。
cygwinのコマンドとログを載せます。なにか根本的に間違っているのでしょうか?
$ cd zlib-1.2.11
$ ./configure
$ make
$ make install
$ ./configure Checking for gcc... Checking for shared library support... No shared library support. Building static library libz.a version 1.2.11 with gcc. Checking for size_t... Yes. Checking for off64_t... No. Checking for fseeko... Yes. Checking for strerror... Yes. Checking for unistd.h... Yes. Checking for stdarg.h... Yes. Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). Checking for vsnprintf() in stdio.h... Yes. Checking for return value of vsnprintf()... Yes. Checking for attribute(visibility) support... No.
$ make gcc -O3 -I. -c -o example.o test/example.c gcc -O3 -c -o adler32.o adler32.c gcc -O3 -c -o crc32.o crc32.c gcc -O3 -c -o deflate.o deflate.c gcc -O3 -c -o infback.o infback.c gcc -O3 -c -o inffast.o inffast.c gcc -O3 -c -o inflate.o inflate.c gcc -O3 -c -o inftrees.o inftrees.c gcc -O3 -c -o trees.o trees.c gcc -O3 -c -o zutil.o zutil.c gcc -O3 -c -o compress.o compress.c gcc -O3 -c -o uncompr.o uncompr.c gcc -O3 -c -o gzclose.o gzclose.c gcc -O3 -c -o gzlib.o gzlib.c gcc -O3 -c -o gzread.o gzread.c gcc -O3 -c -o gzwrite.o gzwrite.c ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o gcc -O3 -o example.exe example.o -L. libz.a gcc -O3 -I. -c -o minigzip.o test/minigzip.c gcc -O3 -o minigzip.exe minigzip.o -L. libz.a
$ make install rm -f /usr/local/lib/libz.a cp libz.a /usr/local/lib chmod 644 /usr/local/lib/libz.a rm -f /usr/local/share/man/man3/zlib.3 cp zlib.3 /usr/local/share/man/man3 chmod 644 /usr/local/share/man/man3/zlib.3 rm -f /usr/local/lib/pkgconfig/zlib.pc cp zlib.pc /usr/local/lib/pkgconfig chmod 644 /usr/local/lib/pkgconfig/zlib.pc rm -f /usr/local/include/zlib.h /usr/local/include/zconf.h cp zlib.h zconf.h /usr/local/include chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
anacondaのenvにインストールしないと意味がないのではと思い。
$ cd zlib-1.2.11
$ ./configure --prefix=/users/jun/anaconda3/env/dds
$ make
$ make install
結果は同じようです。
pycharmに戻りターミナルから
pip install django-dynamic-scraper
ログが長いので一部を抜粋
(dds) C:\Users\Jun\PycharmProjects\dds>pip install django-dynamic-scraper Collecting django-dynamic-scraper ==================================== Building wheels for collected packages: pillow Running setup.py bdist_wheel for pillow ... error ======================================= ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting ---------------------------------------- Failed building wheel for pillow Running setup.py clean for pillow Failed to build pillow Installing collected packages: future, pillow, decorator, ply, six, jsonpath-rw, django-dynamic-scraper Running setup.py install for pillow ... error ====================================== ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting ---------------------------------------- Command "C:\Users\Jun\Anaconda3\envs\dds\python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\Jun\AppData\Local\T emp\pip-install-nz0vhaly\pillow\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.clo se();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Jun\AppData\Local\Temp\pip-record-c2ybtkgm\install-record.tx t --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Jun\AppData\Local\Temp\pip-install-nz0vhaly\ pillow\
回答2件
あなたの回答
tips
プレビュー