In a previous question, I asked about how to write a PKGBUILD to install a binary .deb package. The solution was to extract the contents of the .deb and copy the data to the archlinux package fakeroot, "${pkgdir}/".

That means if the .deb contains a data.tar.gz with the binaries stored in a usr/lib directory, the process to install this package is (In the PKGBUILD):

    cd $srcdir

    tar -xvzf data.tar.gz

    install -dm755 "${pkgdir}/usr/lib"
    cp -r -f "${srcdir}/usr/lib" "${pkgdir}/"

However if I do that the package is installed successfully, but I cannot open the binaries (Written in python). If I execute a binary installed in that way, returns this error:

Cannot open self [path to executable] or file [path to executable].pkg

On the other hand, if I write the PKGBUILD in the wrong way, that is, copying the binaries directly to the system root during package():

cp -r -f "${srcdir}/usr/lib "/"

The programs work perfectly.

Is there something I'm missing?

Here is the package.



In your case, it is maybe due to stripping the binary (see that "prelink" ticket linked from there). Likely fixed in pyinstaller 3.2.1 soon.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.