Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected assertion error: ERROR: AssertionError: length(child_nodes) == length(fields) #429

Closed
Roger-luo opened this issue Apr 7, 2023 · 1 comment

Comments

@Roger-luo
Copy link
Member

Trying to create a wrapper of CPython using the following scripts, am I doing something wrong?

scripts
# wrap.toml

[general]
library_name = "libpython[]"
output_file_path = "../lib/libPython_h.jl"
use_julia_native_enum_type = false
use_deterministic_symbol = true
printer_blacklist = []

[codegen]
use_julia_bool = true
always_NUL_terminated_string = true
is_function_strictly_typed = false
opaque_func_arg_as_PtrCvoid = false
opaque_as_mutable_struct = true

[codegen.macro]
macro_mode = "basic"
add_comment_for_skipped_macro = false
# wrap.jl
# generate LLVM wrappers

using Python_jll
using Clang.Generators

cd(@__DIR__)

# @add_def off_t

function main()
    options = load_options(joinpath(@__DIR__, "wrap.toml"))

    includedir = includedir = Python_jll.python() do exe
        script = "from sysconfig import get_paths as gp; print(gp()['include'])"
        readchomp(`$exe -c $script`)
    end

    args = get_default_args("aarch64-apple-darwin20")
    push!(args, "-I$includedir")
    header_files = detect_headers(includedir, args)
    internal_dir = joinpath(includedir, "internal")
    cpython_dir = joinpath(includedir, "cpython")
    filter!(!startswith(internal_dir), header_files)
    filter!(!startswith(cpython_dir), header_files)

    ctx = create_context(header_files, args, options)

    build!(ctx)
end

isinteractive() || main()
error message
julia> main()
[ Info: Found dependent header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h
[ Info: Found dependent header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyframe.h
[ Info: Found dependent header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h
[ Info: Parsing headers...
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:21:5: error: unknown type name 'Py_ssize_t'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:68:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:68:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:69:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:18:11: error: unknown type name 'XML_LChar'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:18:43: warning: declaration of 'enum XML_Error' will not be visible outside of this function [-Wvisibility]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:19:36: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:5: error: type name requires a specifier or qualifier
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:16: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:38: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:5: error: type name requires a specifier or qualifier
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:16: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:36: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:5: error: duplicate member 'XML_Size'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:5: note: previous declaration is here
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:23:9: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:24:5: error: type name requires a specifier or qualifier
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:24:18: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:25:15: error: unknown type name 'XML_Char'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:25:41: error: unknown type name 'XML_Memory_Handling_Suite'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:26:15: error: unknown type name 'XML_Char'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:27:24: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:29:9: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:29:28: error: unknown type name 'XML_CharacterDataHandler'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:31:9: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:31:28: error: unknown type name 'XML_CommentHandler'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:33:9: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:33:28: error: unknown type name 'XML_DefaultHandler'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:12:18: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:13:18: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:14:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:14:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:17:18: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:18:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:19:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:19:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:20:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:20:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:22:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h:22:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pydtrace.h:32:37: error: unknown type name 'Py_ssize_t'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:10:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:10:23: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:12:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:12:23: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:14:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:14:23: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:15:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h:15:23: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/token.h:88:32: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/token.h:89:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/token.h:90:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/token.h:91:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:7:26: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:9:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:9:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:10:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:10:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:11:12: error: unknown type name 'PyInterpreterState'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/interpreteridobject.h:11:34: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:36:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:37:14: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:45:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:46:1: error: expected member name or ';' after declaration specifiers
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:45:18: warning: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:63:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:63:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:78:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:78:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:83:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:83:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:85:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:96:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:96:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:106:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:106:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:111:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:111:5: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:113:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h:160:5: error: unknown type name 'PyTypeObject'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/py_curses.h:62:5: error: unknown type name 'PyObject_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/py_curses.h:63:11: error: expected ';' at end of declaration list
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyframe.h:15:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyframe.h:17:12: error: unknown type name 'PyCodeObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyframe.h:17:28: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:29:5: error: unknown type name 'PyObject_VAR_HEAD'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:31:5: error: unknown type name 'PyCodeObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:32:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:33:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:34:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:35:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:36:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:42:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:48:29: error: use of undeclared identifier 'CO_MAXBLOCKS'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:49:5: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:66:26: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:70:29: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:75:22: error: unknown type name 'PyThreadState'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:75:39: error: unknown type name 'PyFrameConstructor'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:75:61: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/cpython/frameobject.h:82:18: error: expected function body after function declarator
fatal error: too many errors emitted, stopping now [-ferror-limit=]
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/opcode.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/errcode.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/osdefs.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/marshal.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pydtrace.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pystrhex.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/token.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/interpreteridobject.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/datetime.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/py_curses.h
[ Info: Processing header: /Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/frameobject.h
[ Info: Building the DAG...
[ Info: Emit Julia expressions...
[ Info: [ProloguePrinter]: print to ../lib/libPython_h.jl
[ Info: [GeneralPrinter]: print to ../lib/libPython_h.jl
ERROR: AssertionError: length(child_nodes) == length(fields)
Stacktrace:
 [1] pretty_print(io::IOStream, node::ExprNode{Clang.Generators.StructDefinition, Clang.CLStructDecl}, options::Dict{String, Any})
   @ Clang.Generators ~/.julia/packages/Clang/XH4D4/src/generator/print.jl:119
 [2] (::Clang.Generators.var"#140#141"{ExprDAG, Dict{String, Any}, Nothing, Vector{Union{}}, Dict{String, Any}})(io::IOStream)
   @ Clang.Generators ~/.julia/packages/Clang/XH4D4/src/generator/passes.jl:1005
 [3] open(::Clang.Generators.var"#140#141"{ExprDAG, Dict{String, Any}, Nothing, Vector{Union{}}, Dict{String, Any}}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Base ./io.jl:395
 [4] open(::Function, ::String, ::String)
   @ Base ./io.jl:392
 [5] (::GeneralPrinter)(dag::ExprDAG, options::Dict{String, Any})
   @ Clang.Generators ~/.julia/packages/Clang/XH4D4/src/generator/passes.jl:1001
 [6] build!(ctx::Context, stage::Clang.Generators.BuildStage)
   @ Clang.Generators ~/.julia/packages/Clang/XH4D4/src/generator/context.jl:174
 [7] build!
   @ ~/.julia/packages/Clang/XH4D4/src/generator/context.jl:165 [inlined]
 [8] main()
   @ Main ~/Code/Julia/CPython/scripts/wrap.jl:28
 [9] top-level scope
   @ REPL[6]:1
@Gnimuc
Copy link
Member

Gnimuc commented Apr 9, 2023

/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:21:5: error: unknown type name 'Py_ssize_t'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:68:12: error: unknown type name 'PyObject'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:68:24: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/structmember.h:69:17: error: expected function body after function declarator
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:18:11: error: unknown type name 'XML_LChar'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:18:43: warning: declaration of 'enum XML_Error' will not be visible outside of this function [-Wvisibility]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:19:36: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:5: error: type name requires a specifier or qualifier
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:16: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:38: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:5: error: type name requires a specifier or qualifier
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:16: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:36: error: unknown type name 'XML_Parser'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:21:5: error: duplicate member 'XML_Size'
/Users/roger/.julia/artifacts/4248444c3436ef904ef31e520c95af03a48ba253/include/python3.10/pyexpat.h:20:5: note: previous declaration is here

You need to fix these compiling errors first. args should contain all compiler flags required by compiling CPython's public header files.

header_files = detect_headers(includedir, args)

If you know which header you'd like to wrap, you should directly use that header name. detect_headers detects all top-level headers(headers that are not included/referenced in other headers) which may contain certain header files that are actually not public headers of CPython.

@Gnimuc Gnimuc closed this as not planned Won't fix, can't repro, duplicate, stale Apr 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants