Skip to content

bpo-30688: Support \N{name} escapes in re patterns.#5588

Merged
serhiy-storchaka merged 8 commits intopython:masterfrom
serhiy-storchaka:pr_2261
Feb 9, 2018
Merged

bpo-30688: Support \N{name} escapes in re patterns.#5588
serhiy-storchaka merged 8 commits intopython:masterfrom
serhiy-storchaka:pr_2261

Conversation

@serhiy-storchaka
Copy link
Copy Markdown
Member

@serhiy-storchaka serhiy-storchaka commented Feb 8, 2018

@asottile
Copy link
Copy Markdown
Contributor

asottile commented Feb 9, 2018

I think this might be causing the clean build to fail:

$ git rev-parse HEAD
a445feb72902e4a3c5ae712f0c289309e1580d52
$ ./configure && make
...
rm -f libpython3.8m.a
ar rcs libpython3.8m.a Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/capsule.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/compile.o Python/codecs.o Python/dynamic_annotations.o Python/errors.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/import.o Python/importdl.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/peephole.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/context.o Python/hamt.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/dynload_shlib.o    Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/_weakref.o  Modules/_functoolsmodule.o  Modules/_operator.o  Modules/_collectionsmodule.o  Modules/itertoolsmodule.o  Modules/atexitmodule.o  Modules/signalmodule.o  Modules/_stat.o  Modules/timemodule.o  Modules/_threadmodule.o  Modules/_localemodule.o  Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o  Modules/zipimport.o  Modules/faulthandler.o  Modules/_tracemalloc.o Modules/hashtable.o  Modules/symtablemodule.o  Modules/xxsubtype.o Python/frozen.o
gcc -pthread   -Xlinker -export-dynamic -o python Programs/python.o libpython3.8m.a -lpthread -ldl  -lutil   -lm  
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
	echo "generate-posix-vars failed" ; \
	rm -f ./pybuilddir.txt ; \
	exit 1 ; \
fi
Traceback (most recent call last):
  File "/home/asottile/workspace/cpython/Lib/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/asottile/workspace/cpython/Lib/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/asottile/workspace/cpython/Lib/sysconfig.py", line 700, in <module>
    _main()
  File "/home/asottile/workspace/cpython/Lib/sysconfig.py", line 688, in _main
    _generate_posix_vars()
  File "/home/asottile/workspace/cpython/Lib/sysconfig.py", line 350, in _generate_posix_vars
    import pprint
  File "/home/asottile/workspace/cpython/Lib/pprint.py", line 38, in <module>
    import re
  File "/home/asottile/workspace/cpython/Lib/re.py", line 123, in <module>
    import sre_compile
  File "/home/asottile/workspace/cpython/Lib/sre_compile.py", line 14, in <module>
    import sre_parse
  File "/home/asottile/workspace/cpython/Lib/sre_parse.py", line 16, in <module>
    import unicodedata
ModuleNotFoundError: No module named 'unicodedata'
generate-posix-vars failed
Makefile:595: recipe for target 'pybuilddir.txt' failed
make: *** [pybuilddir.txt] Error 1

@asottile
Copy link
Copy Markdown
Contributor

asottile commented Feb 9, 2018

can confirm, git reset --hard HEAD^ && ./configure && make succeeds

@fangyi-zhou
Copy link
Copy Markdown
Contributor

Can confirm. Same issue here

serhiy-storchaka pushed a commit that referenced this pull request Feb 10, 2018
Importing unicodedata in sre_parse leads to failure in compilation.
unicodedata is unused during compilation, and is not compiled when this
file is imported. The error occurs when generating posix variables,
pprint is required. The dependency chain goes on like this:

sysconfig -> pprint -> re -> sre_compile -> sre_parse (this file)

This commits fixes compilation issues introduced by
2272cec.
(Issue 30688, GH-5588)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-feature A feature request or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants