p11-glue / p11-kit

Provides a way to load and enumerate PKCS#11 modules.
https://p11-glue.github.io/p11-glue/p11-kit.html
Other
149 stars 91 forks source link

ninja -C _build is failing #625

Closed SivapriyaMR closed 5 months ago

SivapriyaMR commented 6 months ago

### I was trying to build the latest stable p11-kit 0.25.3 , i ran meson setup _build, then when i ran ninja -C _build i was facing an error

root@d5b349b123b7:/app/p11-kit# ninja -C _build
ninja: Entering directory `_build'
[13/120] Generating 'p11-kit/077403d@@generate virtual-ffi-generated.h@cus/pkcs11.json'.
FAILED: p11-kit/077403d@@generate virtual-ffi-generated.h@cus/pkcs11.json 
/usr/bin/python3 /app/p11-kit/subprojects/pkcs11-json/gen.py /app/p11-kit/common/pkcs11.h --outfile 'p11-kit/077403d@@generate virtual-ffi-generated.h@cus/pkcs11.json' --castxml-program /usr/bin/castxml
Traceback (most recent call last):
  File "/app/p11-kit/subprojects/pkcs11-json/gen.py", line 252, in <module>
    args.outfile.write(json.dumps({
  File "/usr/lib/python3.8/json/__init__.py", line 234, in dumps
    return cls(
  File "/usr/lib/python3.8/json/encoder.py", line 201, in encode
    chunks = list(chunks)
  File "/usr/lib/python3.8/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/usr/lib/python3.8/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/usr/lib/python3.8/json/encoder.py", line 325, in _iterencode_list
    yield from chunks
  File "/usr/lib/python3.8/json/encoder.py", line 439, in _iterencode
    yield from _iterencode(o, _current_indent_level)
  File "/usr/lib/python3.8/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/usr/lib/python3.8/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/usr/lib/python3.8/json/encoder.py", line 325, in _iterencode_list
    yield from chunks
  File "/usr/lib/python3.8/json/encoder.py", line 438, in _iterencode
    o = _default(o)
  File "/app/p11-kit/subprojects/pkcs11-json/gen.py", line 160, in default
    return obj.to_json()
  File "/app/p11-kit/subprojects/pkcs11-json/gen.py", line 87, in to_json
    obj["type"] = self.types[self.el.get("type")].resolve()
  File "/app/p11-kit/subprojects/pkcs11-json/gen.py", line 74, in resolve
    raise NotImplementedError
**NotImplementedError**
[14/120] Generating 'p11-kit/077403d@@generate proxy-generated.h@cus/pkcs11.json'.
ueno commented 5 months ago

What is the output of castxml --version? Looks like it is producing output unrecognizable by gen.py.

SivapriyaMR commented 5 months ago

castxml --version castxml version 0.2.0

Can you help me with some suggestions to solve the error im stuck upon

ueno commented 5 months ago

Looks like castxml is too old. I guess you could work around this by just uninstalling it.

SivapriyaMR commented 5 months ago

okay i can do that, i will uninstall and reinstall it or not necessary? Are you aware of which version is required

ZoltanFridrich commented 5 months ago

@SivapriyaMR Ideally use the newest available version. Or just uninstall castxml completely. On my machine I use castxml version 0.6.4 and the build works just fine.