<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Apr 19, 2015 at 3:51 PM, Guido Falsi <span dir="ltr"><<a href="mailto:mad@madpilot.net" target="_blank">mad@madpilot.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm the maintainer of the FreeBSD port of calibre (with email<br>
madpilot@FreeBSD.org there). Since calibre now requires PyQt5 and there<br>
is, at present, no port in the FreeBSD ports collection for it I'm<br>
trying to create a it but I'm having problems.<br>
<br>
Calibre author Kovid Goyal suggested me to write to this list for help.<br>
<br>
If necessary you can find some documentation on FreeBSD ports here:<br>
<br>
<a href="https://www.freebsd.org/doc/handbook/ports.html" target="_blank">https://www.freebsd.org/doc/handbook/ports.html</a><br>
<br>
and a live listing here:<br>
<br>
<a href="http://www.freshports.org/" target="_blank">http://www.freshports.org/</a><br>
<br>
I'm starting from the already existing ports for PyQt4 and modifying them.<br>
<br>
I've created the necessary ports to build calibre but am hitting this<br>
error message when trying to compile calibre:<br>  <br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
sip: /usr/local/share/py-sip/PyQt5/QtGui/qopenglbuffer.sip:109: __or__()<br>
unsupported function return type - provide %MethodCode and a C++ signature<br>
<br>
(at the bottom of the message there is the error in it's context)<br>
<br>
which looks strange. At the end of qopenglbuffer.sip there is a<br>
definition for an overloaded | operator which I have not found in Qt<br>
sources, if I remove that and modify the command line for sip to use -t<br>
Qt_5_3_2 then compilation proceeds, failing later due to other problems.<br>
<br>
This is anyway an hack, anyone has ideas or suggestions? Could this be a<br>
problem with sip or PyQt5 on FreeBSD?<br>
<br>
Thanks in advance for any help.<br>
<br>
####### Building extension pictureflow #######<br>
sip -w -c<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow<br>
-b<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow/pictureflow.sip.sbf<br>
-I/usr/local/share/py-sip/PyQt5 -x VendorID -t WS_X11 -t Qt_5_4_1 -x<br>
PyQt_Accessibility -x PyQt_SSL -x PyQt_OpenGL -x PyQt_Desktop_OpenGL -x<br>
Py_v3<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/src/calibre/gui2/pictureflow/pictureflow.sip<br>
sip: /usr/local/share/py-sip/PyQt5/QtGui/qopenglbuffer.sip:109: __or__()<br>
unsupported function return type - provide %MethodCode and a C++ signature<br>
Error while executing: sip -w -c<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow<br>
-b<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow/pictureflow.sip.sbf<br>
-I/usr/local/share/py-sip/PyQt5 -x VendorID -t WS_X11 -t Qt_5_4_1 -x<br>
PyQt_Accessibility -x PyQt_SSL -x PyQt_OpenGL -x PyQt_Desktop_OpenGL -x<br>
Py_v3<br>
/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/src/calibre/gui2/pictureflow/pictureflow.sip<br>
<br>
Traceback (most recent call last):<br>
  File "setup.py", line 99, in <module><br>
    sys.exit(main())<br>
  File "setup.py", line 85, in main<br>
    command.run_all(opts)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/__init__.py",<br>
line 181, in run_all<br>
    self.run_cmd(self, opts)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/__init__.py",<br>
line 178, in run_cmd<br>
    cmd.run(opts)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/extensions.py",<br>
line 412, in run<br>
    self.build(ext, dest)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/extensions.py",<br>
line 434, in build<br>
    return self.build_pyqt_extension(ext, dest)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/extensions.py",<br>
line 578, in build_pyqt_extension<br>
    sip = self.build_sip_files(ext, src_dir)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/extensions.py",<br>
line 563, in build_sip_files<br>
    self.check_call(cmd)<br>
  File<br>
"/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/setup/extensions.py",<br>
line 486, in check_call<br>
    subprocess.check_call(*args, **kwargs)<br>
  File "/usr/local/lib/python2.7/subprocess.py", line 540, in check_call<br>
    raise CalledProcessError(retcode, cmd)<br>
subprocess.CalledProcessError: Command '['sip', '-w', '-c',<br>
'/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow',<br>
'-b',<br>
'/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/build/pyqt/pictureflow/pictureflow.sip.sbf',<br>
'-I/usr/local/share/py-sip/PyQt5', '-x', 'VendorID', '-t', 'WS_X11',<br>
'-t', 'Qt_5_4_1', '-x', 'PyQt_Accessibility', '-x', 'PyQt_SSL', '-x',<br>
'PyQt_OpenGL', '-x', 'PyQt_Desktop_OpenGL', '-x', 'Py_v3',<br>
'/wrkdirs/usr/ports/deskutils/calibre/work/calibre-src-2.25.0/src/calibre/gui2/pictureflow/pictureflow.sip']'<br>
returned non-zero exit status 1<br>
*** Error code 1<br>
<br>
Stop.<br>
make: stopped in /usr/ports/deskutils/calibre<br>
<span class="HOEnZb"><font color="#888888">--<br>
Guido Falsi <<a href="mailto:mad@madpilot.net">mad@madpilot.net</a>><br>
</font></span></blockquote></div><br></div><div class="gmail_extra">Wait... PyQt5 is not in the FreeBSD ports collection?<br><br></div><div class="gmail_extra">Do I understand correctly that PyQt5 is not in ports, that you adapted the PyQt4 port to build PyQt5, and that some native C++ calibre component is failing to build against that PyQt5 installation?<br><br></div><div class="gmail_extra">If so, I'd say you're doing pretty well.  I would be glad to help with that PyQt5 port.<br><br></div><div class="gmail_extra">Cheers,<br></div><div class="gmail_extra">Erik<br></div></div>