Project

General

Profile

Bug #12215

pyzfs module does not build with python 3.7

Added by Andy Fiddaman about 1 month ago. Updated 29 days ago.

Status:
Closed
Priority:
High
Assignee:
Category:
lib - userland libraries
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:

Description

When building gate on a system where the python3 version is 3.7, the pyzfs module fails to build with:

../common/ioctl.c: In function 'dict2nvl':
../common/ioctl.c:147:18: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
   char *keystr = PyUnicode_AsUTF8(key);

This is because the function definition for PyUnicode_AsUTF8() changed between python 3.5 and python 3.7:

/usr/include/python3.7m/unicodeobject.h
1165:PyAPI_FUNC(const char *) PyUnicode_AsUTF8(PyObject *unicode);

/usr/include/python3.5m/unicodeobject.h
1162:PyAPI_FUNC(char *) PyUnicode_AsUTF8(PyObject *unicode);

Related issues

Related to illumos gate - Bug #12192: python3 modules treat strings incorrectlyClosed

Actions

History

#1

Updated by Andy Fiddaman about 1 month ago

  • Related to Bug #12192: python3 modules treat strings incorrectly added
#2

Updated by Andy Fiddaman 30 days ago

Tested by building on OmniOS r151032, which builds this module with both python 2.7 and 3.5, and on OmniOS bloody which builds with python 3.7 only. The mail_msg was clean for both.

#3

Updated by Electric Monk 29 days ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit dbce3eaafc7c3dceff97b7ab4de9308eb77f5795

commit  dbce3eaafc7c3dceff97b7ab4de9308eb77f5795
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2020-01-21T15:17:45.000Z

    12215 pyzfs module does not build with python 3.7
    Reviewed by: Marcel Telka <marcel@telka.sk>
    Reviewed by: Paul Winder <paul@winders.demon.co.uk>
    Reviewed by: Alexander Pyhalov <apyhalov@gmail.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom PDF