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

libplist doesn't install plist.pxd #138

Closed
paulvojta opened this issue Jun 11, 2019 · 5 comments
Closed

libplist doesn't install plist.pxd #138

paulvojta opened this issue Jun 11, 2019 · 5 comments

Comments

@paulvojta
Copy link

libimobiledevice won't compile without plist.pxd, but libplist doesn't install it.

To reproduce:

This is on Debian stretch (stable), amd64 architecture. The python-all-dev and cython packages are installed; python-plist is not.

  1. Check for plist.pxd (it should be absent from both places):

    ls -l /usr/{local/,}include/plist/cython/plist.pxd
    
  2. Download libplist, libusbmuxd, and libimobiledevice from github.

  3. For each of these packages, do:

    ./autogen.sh
    make
    sudo make install
    

    The "make" step for libimobiledevice will fail. In part, it says:

    Making all in cython
    make[2]: Entering directory '/home/vojta/libimobiledevice-master/cython'
    make[2]: *** No rule to make target '/usr/local/include/plist/cython/plist.pxd', needed by 'imobiledevice.c'. Stop.

Sorry about Issue #111. I don't know why I said plist.pyx -- I meant plist.pxd.

@andreasg123
Copy link

I've run into the same issue in Ubuntu 18.04 with the difference that I'm trying to get it to work in Python 3. I modified running autogen.sh accordingly:

./autogen.sh PYTHON=python3

This issue is also discussed here: libimobiledevice/libimobiledevice#283

The solution of installing python-plist doesn't work for me because I want to make it work for Python 3 (no python3-plist).

@andreasg123
Copy link

This comment provides a workaround: libimobiledevice/libimobiledevice#283 (comment)

After sudo make install, run these commands:

mkdir /usr/local/include/plist/cython
cp -p cython/plist.pxd /usr/local/include/plist/cython

I tried to investigate how to fix the issue more permanently but I'm not familar enough with automake. plist.pxd is included in EXTRA_DIST in cython/Makefile.am but those files are not copied anywhere as part of make install.

@paulvojta
Copy link
Author

Correct about EXTRA_DIST: That variable lists EXTRA files that are to be DISTributed (in the tarball created by make dist_gzip and other similar targets).
I'm not all that familiar with automake either, but the following patch seems to fix the problem:

    --- libplist-master/cython/Makefile.am  2019-05-19 16:24:15.000000000 -0700
    +++ libplist-master-new/cython/Makefile.am      2019-06-22 22:50:05.908058031 -0700
    @@ -27,4 +27,7 @@
     .pyx.c:
            $(CYTHON) -I$(CYTHON_PLIST_INCLUDE_DIR) -I$(top_srcdir)/src -o $@ $<
     
    +pxddir = $(includedir)/plist/cython
    +pxd_DATA = plist.pxd
    +
     endif

@nikias
Copy link
Member

nikias commented Aug 8, 2019

Should be fixed with commit 811a53a. Let me know if not.

@paulvojta
Copy link
Author

paulvojta commented Aug 10, 2019 via email

@nikias nikias closed this as completed Aug 10, 2019
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

3 participants