-
Notifications
You must be signed in to change notification settings - Fork 30
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
Reports of build problems #21
Comments
The reports are about the following dependencies:
I never had to install those packages (fstream, blockstream) explicitly to make Ezra Project successfully build. The necessary dependencies for building on Linux are documented here: Something currently not in the build instructions (I'll add that) is that electron-packager has to be installed. |
Thanks. I kind of suspect installing those 'deps' only incidentally poked something else on the system, maybe even fixing a broken In the mean time, what makes you say electron-packager has to be installed? I don't have it installed and the build system I'm using works fine because it uses the vendored deps in this project to run Also, I looked at the link you sent with this line:
Really? Subversion? Are you sure? Cmake? I understand these are Ubuntu land dependencies and need translating to other distros, but I don't see any part of the build system that uses subversion. Is there some run time dependency on it? |
Wow, I just fell down a rabbit hole and did not land in wonderland. I started trying to debuild the build process and there is all sorts of crazy stuff going on. You're mucking around with stuff in node_modules after ¹ "Her" being Electron. |
I think you're right about that. electron-packager is specified in the dev-dependency list in package.js. I'll take it out of the build page.
node-sword-interface depends on Sword and used to directly fetch the sword sources from the Crosswire SVN repo. As of now, SVN is not needed any longer. For building node-sword-interface Sword is now fetched from the BibleTime Git mirror of the Sword repo. Cmake is also necessary in the context of building Sword.
There's two things done there in the context of my packaging/build scripts:
|
Fetched how? Is
Is this still the case or are those scripts now Python 3 compatible? I only have the system default Python (3.8 right now) document as a dependency, if it also requires Python-2 to build that's something else I should change. |
Yeah, the actual root-cause is there, but of course it also impacts Ezra Project indirectly. The script used for building on Linux is this one: node-sword-interface/scripts/build_sword.sh The script is linked in node-sword-interface/binding.gyp. This script currently uses git and cmake directly. On your other comment:
The step
The corresponding issue on node-gyp is still open. |
@alerque Any additional feedback on this? Since there are no reproducible build issues at the moment I think I'd rather close this issue. |
The issue is still open, but reading the comments I have no idea why. It is long since fixed. Also I've been experimenting with builds and am able to get gyp stuff to build just fine with Python 3, including the three packages Ezra depends on. Your issue here is not that gyp doesn't support Python 3, it's that some distro you are running on only supports Python 2 — or defaults to it or something. I think that hack should be removed from the default build rules and only applied on the specific distro that is a problem. |
Good point! Thanks for paying attention to the quality of the build system here. I'll have another look! |
These are the error messages on CentOS 8 when using rpm tools for packaging:
node-gyp may support Python 3, but as the error messages indicate - it has "ambiguous Python shebangs". And that's what the script cleanup_gyp_shebangs.sh fixes. This looks like it could also become an issue on other (rpm-based) distributions eventually. |
I've now adjusted the build.sh script, so that it invokes cleanup-gyp-shebang only on rpm-based distributions. |
I have a report of problems trying to build the Arch Linux package, the user says they had to globally install some NPM module before it would go. Given what I know about this project that should not be the case.
Does that comment mean anything to you? Is there something missing in this projects internal deps? Why would it manifest on some systems and not others?
I'm happy to fix the packaging if there is anything to do, but I don't know what that might be. It's basically just running
electron-rebuild
andelectron-packager
plus adding a wrapper script and desktop file.The text was updated successfully, but these errors were encountered: