Open lulamzamo opened 5 years ago
You're running windows. I don't support windows but welcome pull requests from contributors like you. It appears gcc is telling you what edit to make, in this case replacing strerror_r
with _strerror_r
.
@lulamzamo I have tried various things on Windows 10. Here are the options that I know about:
I would of course welcome a commit using a newer version of visual studio.
@kpu not sure I have the time and/or expertise for this, but if I have, I will try.
@kpu I propose to add the following bit of documentation for Windows users to the Readme:
Windows 10 users can use the Linux subsystem to compile kenlm:
Hi,
I'm strugging with installing python:kenlm on Cygwin. Making lmplz, etc went fine. I'm a new to nix and could use any direction. The dump is as follow: $ pip3 install https://github.com/kpu/kenlm/archive/master.zip Collecting https://github.com/kpu/kenlm/archive/master.zip Downloading https://github.com/kpu/kenlm/archive/master.zip / 5.2MB 580kB/s Building wheels for collected packages: kenlm Building wheel for kenlm (setup.py) ... error ERROR: Complete output from command /usr/bin/python3.6 -u -c 'import setuptools, tokenize;file='"'"'/tmp/pip-req-build-u0t32c_g/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ne8e7rxo --python-tag cp36: ERROR: running bdist_wheel running build running build_ext building 'kenlm' extension creating build creating build/temp.cygwin-3.0.7-x86_64-3.6 creating build/temp.cygwin-3.0.7-x86_64-3.6/util creating build/temp.cygwin-3.0.7-x86_64-3.6/lm creating build/temp.cygwin-3.0.7-x86_64-3.6/util/double-conversion creating build/temp.cygwin-3.0.7-x86_64-3.6/python gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/build=/usr/src/debug/python36-3.6.8-1 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/src/Python-3.6.8=/usr/src/debug/python36-3.6.8-1 -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/build=/usr/src/debug/python36-3.6.8-1 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/src/Python-3.6.8=/usr/src/debug/python36-3.6.8-1 -I. -I/usr/include/python3.6m -c util/bit_packing.cc -o build/temp.cygwin-3.0.7-x86_64-3.6/util/bit_packing.o -O3 -DNDEBUG -DKENLM_MAX_ORDER=6 -std=c++11 -DHAVE_ZLIB -DHAVE_BZLIB -DHAVE_XZLIB gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/build=/usr/src/debug/python36-3.6.8-1 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/src/Python-3.6.8=/usr/src/debug/python36-3.6.8-1 -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/build=/usr/src/debug/python36-3.6.8-1 -fdebug-prefix-map=/usr/src/ports/python36/python36-3.6.8-1.x86_64/src/Python-3.6.8=/usr/src/debug/python36-3.6.8-1 -I. -I/usr/include/python3.6m -c util/ersatz_progress.cc -o build/temp.cygwin-3.0.7-x86_64-3.6/util/ersatz_progress.o -O3 -DNDEBUG -DKENLM_MAX_ORDER=6 -std=c++11 -DHAVE_ZLIB -DHAVE_BZLIB -DHAVE_XZLIB .. .. util/exception.cc: In constructor ‘util::ErrnoException::ErrnoException()’: util/exception.cc:78:36: error: ‘strerror_r’ was not declared in this scope const char add = HandleStrerror(strerror_r(errno, buf, 200), buf); ^
~~~~~ util/exception.cc:78:36: note: suggested alternative: ‘_strerror_r’ const char *add = HandleStrerror(strerror_r(errno, buf, 200), buf); ^~~~~~ _strerror_r error: command 'gcc' failed with exit status 1ERROR: Command "/usr/bin/python3.6 -u -c 'import setuptools, tokenize;file='"'"'/tmp/pip-req-build-u0t32c_g/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-dz291i1j/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-req-build-u0t32c_g/