-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Recreate static build packaging script #14459
Comments
This is also important to support installer wrapper such as:
|
So I got tired of waiting and figured out how to do this, mostly based on build.py. Here goes. I did this on Ubuntu 16.10.
Replace
The binary seems to work fine, and it runs on Debian Jessie. However, the remote debugger can't find its resources. I've uploaded it here: https://github.com/nkovacs/selenium-standalone-phantomjs/tree/b5c20ef4eba3395bf23d5228d480810f3e4378f9 |
@nkovacs thank you for this detailed instruction! I have some comments below:
You don't need to. You need to specify the correct
No needs to do that. Current
This is dangerous and can lead to unpredicted behaviour. If you are building QtWebKitNG in-the-source (qt5.git), you can use bundled libraries, but not for out-of-the-source (like in your instruction), it's better to use system libraries.
These components are optional. Here is the list of Qt modules that you need for specific functionality: Geolocation - qtlocation Instead of using this huge repo, I suggest to use qtwebkit-snapshots
Again, you don't need to hack CMake configuration, just use this command to build QtWebKitNG:
|
Thanks, I'll try your suggestions.
I did that (
I took that from build.py: https://github.com/ariya/phantomjs/blob/2.1.1/build.py#L254 So I should leave that out and just statically link the system libraries to phantomjs? I think jpeg isn't used by phantomjs btw.
Or just |
That won't work because of QtTestBrowser, |
Doesn't work, the build fails with cannot find -lqphantom. |
@nkovacs you must use the latest version from the |
I am using master. |
Could you please post the output of |
|
@nkovacs looks good. Now, can you post the output of |
It creates phantombackingstore.o, main.o and phantomintegration.o in .obj. Edit: it does create libqphantom.a in /home/nkovacs/progs/phantomjs2/qtbase2/plugins/platforms/libqphantom.a, but ld can't find it when building phantomjs, because it's searching in the wrong place:
|
Also, |
No, I meant the full build log on a clean tree. |
The previous binary had some problems, so I rebuilt it with some libraries built from sources.
This one now works in my docker image (nkovacs/selenium-standalone-phantomjs) as well as Debian Jessie: https://github.com/nkovacs/selenium-standalone-phantomjs/tree/11420aaf2174428b56086673232365c820f98a42 |
I saw that you success in compiling phantomJS 2.5.0 Thank by advance @vitallium |
@nkovacs Thanks a ton for the detailed steps, I was able to get a static build working on SuSE linux by following your steps. The only change was in the Webkit compilation step where I had to pass A few places where I got tripped up:
Other than that, everything seems to be working fine so far against a medium sized angular application. Fingers crossed that it stays that way. |
@pixiuPL Are we continuing the development on phantomjs? I'm really glad to see some movement again. Thank you 👍 |
Due to our very limited maintenance capacity (see #14541 for more details), we need to prioritize our development focus on other tasks. Therefore, this issue will be closed. In the future, if we see the need to attend to this issue again, then it will be reopened. |
Goal: a single script that produces a self-contained PhantomJS executable with virtually no dependency.
The script needs to do the following:
The script must run on macOS, Windows, and Linux (32-bit and 64-bit). The produced binaries will be made available from http://phantomjs.org/download.html.
NOTE: This is not intended for a distribution packager who wants to package PhantomJS for Debian/Fedora/Homebrew/etc. See #14458 for some additional context.
The text was updated successfully, but these errors were encountered: