-
Notifications
You must be signed in to change notification settings - Fork 15
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
Provide a source build fallback #19
Comments
I've started experimenting in the |
I look forward to seeing out it works, the ctypesgen builds + the binaries are always temperamental for me for any project I use them for |
Yeah, I concur. Being dependent on external binaries is a big limitation, that's why I started working on this... |
@adam-huganir I've pushed a commit incorporating more patches (5319f40). The generated binary now works and our tests pass. (Some of the patches apparently can't be applied, but I guess that's an upstream issue. Update: fixed now - I just used the wrong command to apply the patches.) |
@adam-huganir I believe that the source build script should be pretty solid now. In case you haven't done yet, could you maybe try it on your device, to confirm that PDFium builds correctly just by running the script, to make sure I haven't missed any external dependencies? |
Ok, so fresh clone of main, in a fresh python 3.8.12 environment:
so you will need to change wherever that is generated (I guess cytpesgen call time?) After changing that and installing Pillow everything worked as expected 👍 |
Thanks for testing!
I already thought about that when writing the script, and had implemented the option class PosixLibraryLoader(LibraryLoader):
"""Library loader for POSIX-like systems (including Linux)"""
_ld_so_cache = None
_include = re.compile(r"^\s*include\s+(?P<pattern>.*)")
name_formats = ["lib%s.so", "%s.so", "%s"] |
Oh, that's a good catch - I totally forgot to list Pillow as installation requirement in |
I just successfully built PyPDFium2 in VirtualBox with OpenSUSE Leap 15.3. However, I yet found some important external dependencies that I've listed in |
Add a generic source build strategy for platforms where we don't have pre-built binaries:
data/sourcebuild
The text was updated successfully, but these errors were encountered: