PhantomJS 2, take two

3,803 views
Skip to first unread message

Ariya Hidayat

unread,
Sep 23, 2013, 8:24:28 AM9/23/13
to phan...@googlegroups.com
Folks,

Originally, this Qt 5-based version is planned for Sep 22 (see the
previous discussion:
https://groups.google.com/d/msg/phantomjs/z_147Zj1l58/8tEbijy1BkEJ).
Due to various reasons, unfortunately I didn't find enough time to
work on it. Vitaliy however seems to make some good process
(https://twitter.com/Vitalliumm/status/373705330481303553), kudos to
him!

This of course means that we missed the window for releasing it this
fall. The next possible release date, following our past tradition,
would be Dec 21. This is obviously assuming we will pour enough effort
into making it happen (help is always welcomed!).

In addition to that, there is a new initiative from the Qt side to use
Chromium as the basis, see
https://groups.google.com/d/msg/phantomjs/pHLlKcS-nEU/Xbdy5tPLRUMJ.
It's definitely exciting for us. There are 3 problems I can see so
far. The first is the timeline, we need to wait a bit until it becomes
more mature and runs well on all platform. Another problem is the
headlessless, it can be solved (from my experience working with
Chromium code base so far) but it requires a lot of efforts, way much
more than our Qt/Lighthouse/QPA solution. Last problem is that it
still missed a lot of Qt integration, from the object model bridge to
network access manager, which means a lot of new code needs to be
rewritten.

While I do like the Qt Web Engine idea for PhantomJS, seems that this
is still a wishful thinking at this stage. It may change in the future
but so far that is the situation. As I expressed months ago,
Chromium-based solution seems to fit only for PhantomJS 3 timeline.

Meanwhile, if we all can join forces, in particular continuing
Vitaliy's current effort, maybe we can have PhantomJS 2 soon enough.
There's a lot of issues filed in the issue tracker which are likely
solved once a fresh version of WebKit got imported.

Comments? Thoughts?


Thanks!

--
Ariya Hidayat, http://ariya.ofilabs.com
http://twitter.com/ariyahidayat
http://gplus.to/ariyahidayat

Darren Cook

unread,
Sep 23, 2013, 9:26:06 AM9/23/13
to phan...@googlegroups.com
> ...
> In addition to that, there is a new initiative from the Qt side to use
> Chromium as the basis, ...seems to fit only for PhantomJS 3 timeline.
> ...
> There's a lot of issues filed in the issue tracker which are likely
> solved once a fresh version of WebKit got imported.
>
> Comments? Thoughts?

As a user I think it would be great if the API of PhantomJS and SlimerJS
stayed in sync. Then documentation, tutorials, and higher-level
applications (like Casper) can be shared.

I'd then also suggest that something built on Chromium is a 3rd project,
done in parallel, rather than "PhantomJS 3". Then we'd have an automated
solution for each of Gecko, WebKit and Blink.

Regarding the headless issue for Chromium, can xvfb be used? (I've not
tried SlimerJS headless yet, but apparently it works for linux and mac.)

Darren

James Greene

unread,
Sep 23, 2013, 10:24:34 AM9/23/13
to phan...@googlegroups.com

Interesting idea... Phantomium. ;)

That said, maintaining two separate projects seems highly unlikely unless we can get more contributors.

--
You received this message because you are subscribed to the Google Groups "phantomjs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to phantomjs+...@googlegroups.com.
Visit this group at http://groups.google.com/group/phantomjs.
For more options, visit https://groups.google.com/groups/opt_out.

Vitaliy Slobodin

unread,
Sep 23, 2013, 1:14:00 PM9/23/13
to phan...@googlegroups.com

Hi guys,

I think you all want to know the current status of PhantomJS 2.0. So, here it is:
I was able to build a full working version on Windows. And you can build it by yourself using this repo: https://github.com/Vitallium/phantomjs-qt5
But, we have a few issues:
1) Latest version of Webkit requires additional dependencies: libxml, icu. I know, that Linux and OS X users can easily resolve them, but on Windows, it  took a bit time to have them as static libs.
2) I still haven't test PhantomJS 2.0 on OS X.
3) And I don't have a working guide about building PhantomJS 2.0 on Linux. I'm a Windows guy :(
4) Most of the issues were resolved. There is only one serious issue, which I'm trying to fix.
5) Headless...


Thanks!
23 сентября 2013 г. 18:24

Interesting idea... Phantomium. ;)

That said, maintaining two separate projects seems highly unlikely unless we can get more contributors.

--
You received this message because you are subscribed to the Google Groups "phantomjs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to phantomjs+...@googlegroups.com.
Visit this group at http://groups.google.com/group/phantomjs.
For more options, visit https://groups.google.com/groups/opt_out.
23 сентября 2013 г. 17:26

As a user I think it would be great if the API of PhantomJS and SlimerJS
stayed in sync. Then documentation, tutorials, and higher-level
applications (like Casper) can be shared.

I'd then also suggest that something built on Chromium is a 3rd project,
done in parallel, rather than "PhantomJS 3". Then we'd have an automated
solution for each of Gecko, WebKit and Blink.

Regarding the headless issue for Chromium, can xvfb be used? (I've not
tried SlimerJS headless yet, but apparently it works for linux and mac.)

Darren

23 сентября 2013 г. 16:24
Folks,

Originally, this Qt 5-based version is planned for Sep 22 (see the
previous discussion:
https://groups.google.com/d/msg/phantomjs/z_147Zj1l58/8tEbijy1BkEJ).
Due to various reasons, unfortunately I didn't find enough time to
work on it. Vitaliy however seems to make some good process
(https://twitter.com/Vitalliumm/status/373705330481303553), kudos to
him!

This of course means that we missed the window for releasing it this
fall. The next possible release date, following our past tradition,
would be Dec 21. This is obviously assuming we will pour enough effort
into making it happen (help is always welcomed!).

In addition to that, there is a new initiative from the Qt side to use
Chromium as the basis, see
https://groups.google.com/d/msg/phantomjs/pHLlKcS-nEU/Xbdy5tPLRUMJ.
It's definitely exciting for us. There are 3 problems I can see so
far. The first is the timeline, we need to wait a bit until it becomes
more mature and runs well on all platform. Another problem is the
headlessless, it can be solved (from my experience working with
Chromium code base so far) but it requires a lot of efforts, way much
more than our Qt/Lighthouse/QPA solution. Last problem is that it
still missed a lot of Qt integration, from the object model bridge to
network access manager, which means a lot of new code needs to be
rewritten.

While I do like the Qt Web Engine idea for PhantomJS, seems that this
is still a wishful thinking at this stage. It may change in the future
but so far that is the situation. As I expressed months ago,
Chromium-based solution seems to fit only for PhantomJS 3 timeline.


Meanwhile, if we all can join forces, in particular continuing
Vitaliy's current effort, maybe we can have PhantomJS 2 soon enough.
There's a lot of issues filed in the issue tracker which are likely
solved once a fresh version of WebKit got imported.

Comments? Thoughts?


Thanks!

John Absalon

unread,
Oct 31, 2013, 7:10:48 PM10/31/13
to phan...@googlegroups.com
I am trying to build this repo also on windows. Could you provide instructions for how you got it to build.

Andrew Hamilton

unread,
Nov 1, 2013, 11:47:27 AM11/1/13
to phan...@googlegroups.com
Thanks for the update! I'm trying a Linux build which seems to be getting further, but I needed my server back so I'm trying again on a VM. For anyone who cares, my last break was due to the X11 dev library which wasn't caught by the configuration. 

I know I've already got quite a bit pre-installed, but here's what I've needed on Ubuntu 13.04 x64:

apt-get install libicu-dev libxcb1-dev libssl-dev libx11-dev

Next build will be on Ubuntu 13.10 x64. Will post a full library install one-liner later if I can get through it. 

James Greene

unread,
Nov 1, 2013, 11:48:51 AM11/1/13
to phan...@googlegroups.com
Thanks for sharing, Andrew.

Sincerely,
    James Greene

James Greene

unread,
Nov 1, 2013, 11:49:59 AM11/1/13
to phan...@googlegroups.com
John —
Vitaliy would have to confirm but I believe his current intent is to just continue using the same build process outlined on the PhantomJS website (but tweaking the internals to work with Qt5):

Sincerely,
    James Greene

Ivana Zivkovic

unread,
Nov 4, 2013, 4:15:09 AM11/4/13
to phan...@googlegroups.com
Hello Ariya,

will this release contain support for IndexedDB, as stated here: https://github.com/ariya/phantomjs/issues/10992 ?

James Greene

unread,
Nov 4, 2013, 8:29:20 AM11/4/13
to phan...@googlegroups.com

Please see my answer in that issue.

Sincerely,
    James Greene
    Sent from my [smart?]phone

--

Sean McNamara

unread,
Nov 20, 2013, 12:38:08 PM11/20/13
to phan...@googlegroups.com
Hi Vitaliy,

Do you know whether the current phantomjs-qt5 code will run truly headless, assuming one gets it to build? Or is this an unknown with the current build? I know you are mainly testing on Windows, where headless is more or less irrelevant unless you're running Server Core.... but I'm interested in running it on Linux without having to start up Xvfb or similar X server.

Thanks for your work on this. I'm looking forward to further updates :)

Sean

Vitaliy Slobodin

unread,
Nov 21, 2013, 7:05:14 AM11/21/13
to phan...@googlegroups.com
Hi Sean,

I think it will. But I need to check it. And you can build it by yourself ;)

Regards,
Vitaliy.

Sean McNamara wrote:
    iss ue, which I'm trying to fix.
    5) Headless...


    Thanks!

    James Greene <javascript:>

    23 сентября 2013 г. 18:24

    Interesting idea... Phantomium. ;)

    That said, maintaining two separate projects seems highly
    unlikely unless we can get more contributors.

    --
    You received this message because you are subscribed to the
    Google Groups "phantomjs" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to phantomjs+...@googlegroups.com <javascript:>.

    Visit this group at http://groups.google.com/group/phantomjs
    <http://groups.google.com/group/phantomjs>.
 &n bsp;  For more options, visit https://groups.google.com/groups/opt_out
    <https://groups.google.com/groups/opt_out>.
    Darren Cook <javascript:>

    23 сентября 2013 г. 17:26

    As a user I think it would be great if the API of PhantomJS and
    SlimerJS
    stayed in sync. Then documentation, tutorials, and higher-level
    applications (like Casper) can be shared.

    I'd then also suggest that something built on Chromium is a 3rd
    project,
    done in parallel, rather than "PhantomJS 3". Then we'd have an
    automated
    solution for each of Gecko, WebKit and Blink.

    Regarding the headless issue for Chromium, can xvfb be used?
    (I've not
  &n bsp; tried SlimerJS headless yet, but apparently it works for linux
    and mac.)

    Darren

    Ariya Hidayat <javascript:>

    23 сентября 2013 г. 16:24
    Folks,

    Originally, this Qt 5-based version is planned for Sep 22 (see the
    previous discussion:

    Due to various reasons, unfortunately I didn't find enough time to
    work on it. Vitaliy however seems to make some good process
    (https://twitter.com/Vitalliumm/status/373705330481303553
    <https://twitter.com/Vitalliumm/status/373705330481303553>), kudos to
    him!

 &n bsp;  This of course means that we missed the window for releasing it this

    fall. The next possible release date, following our past tradition,
    would be Dec 21. This is obviously assuming we will pour enough
    effort
    into making it happen (help is always welcomed!).

    In addition to that, there is a new initiative from the Qt side
    to use
    Chromium as the basis, see

    It's definitely exciting for us. There are 3 problems I can see so
    far. The first is the timeline, we need to wait a bit until it
    becomes
    more mature and runs well on all platform. Another problem is the
    headlessless, it can be solved (from my experience working with
    Chromium code base so far) but it requires a lot of efforts, way much
    more than our Qt/Lighthouse/QPA solution. Last problem is that it
    still missed a lot of Qt integration, from the object model bridge to
    network access manager, which means a lot of new code needs to be
    rewritten.

    While I do like the Qt Web Engine idea for PhantomJS, seems that this
    is still a wishful thinking at this stage. It may change in the
    future
    but so far that is the situation. As I expressed months ago,
    Chromium-based solution seems to fit only for PhantomJS 3 timeline.

    Meanwhile, if we all can join forces, in particular continuing
  &nb sp; Vitaliy's current effort, maybe we can have PhantomJS 2 soon enough.

    There's a lot of issues filed in the issue tracker which are likely
    solved once a fresh version of WebKit got imported.

    Comments? Thoughts?


    Thanks!

Andreas Knuth

unread,
Dec 8, 2013, 1:34:55 PM12/8/13
to phan...@googlegroups.com
Hi guys,

according to Ariya's first post the next possible release date could be Dec 21. I see a lot of commit progress in Vitaliys repo but does anyone really expect this version to be released on that date ?
I'm neither a qt nor a c++ man but I'm a very intensive user of phantomjs and I think this project is very versatile !!!!
Actually I see no support from the original phantom committer for Vitaliy effort to lift phantomjs to qt5 ... too bad.
This project is so amazing but we got stuck on a very old "Webkit Version" although general Browser improvements are rapidly increasing.
So what are the next plans: waiting a long time for qtwebengine, starving to death .... or forcing Vitalyis effort to a proper version ?
I know, I'm heavily dependent on you qt/c++ guys.

regards,
Andreas

Ariya Hidayat

unread,
Dec 16, 2013, 1:24:08 AM12/16/13
to phan...@googlegroups.com
Since Dec 21 is just a week away, most likely we're going to miss it
again. It's unfortunate, but with lots of personal matters I need to
tend these days, it's too much of a work to prepare such an important
release.

Something we can do is to pull Vitaliy's branch to the upstream
repository and let everyone build + try out. We could definitely call
it "PhantomJS 2.0 Technology Preview" or something like that.

Vitaliy, how ready is your branch to meet the above user testing?
http://google.com/+AriyaHidayat

Vitaliy Slobodin

unread,
Dec 16, 2013, 2:14:27 AM12/16/13
to phan...@googlegroups.com
Hi!

I've just finished upgrading Qt to 5.2.0 version. And everything seems to be fine on Windows.
But I need to test it on Linux.
And the sad part is, OS X build is still broken (QtWebkit raises an error in the end of the build process)

Regards,
Vitaliy.

Ariya Hidayat wrote:

Since Dec 21 is just a week away, most likely we're going to miss it
again. It's unfortunate, but with lots of personal matters I need to
tend these days, it's too much of a work to prepare such an important
release.

Something we can do is to pull Vitaliy's branch to the upstream
repository and let everyone build + try out. We could definitely call
it "PhantomJS 2.0 Technology Preview" or something like that.

Vitaliy, how ready is your branch to meet the above user testing?


Thanks!

< /BODY>

James Greene

unread,
Dec 16, 2013, 9:07:04 AM12/16/13
to phan...@googlegroups.com

"Fine on Windows" meaning that it just builds successfully or that the resulting binary actually works as desired, too?

Sincerely,
    James Greene
    Sent from my [smart?]phone

--

Vitaliy Slobodin

unread,
Dec 16, 2013, 9:40:35 AM12/16/13
to phan...@googlegroups.com
James, builds successfully and works as desired :)

James Greene wrote:

"Fine on Windows" meaning that it just builds successfully or that the
resulting binary actually works as desired, too?

Sincerely,
    James Greene
    Sent from my [smart?]phone

On Dec 16, 2013 1:14 AM, "Vitaliy Slobodin"

    Visit this group at http://groups.google.com/group/phantomjs.
    For more options, visit https://groups.google.com/groups/opt_out.

James Greene

unread,
Dec 16, 2013, 10:25:30 AM12/16/13
to phan...@googlegroups.com
Badass. :-o

Sincerely,
    James Greene

Ariya Hidayat

unread,
Dec 16, 2013, 1:18:14 PM12/16/13
to phan...@googlegroups.com
> James, builds successfully and works as desired :)

Very cool, Vitaliy!

I think not supporting all platforms equally for this TP is fine. It's
not that we don't want it, it's just a matter of time.

James Greene

unread,
Dec 16, 2013, 1:45:42 PM12/16/13
to phan...@googlegroups.com
Agreed, let's promote it to a preview status.

Sincerely,
    James Greene



Vitaliy Slobodin

unread,
Dec 17, 2013, 4:07:42 AM12/17/13
to phan...@googlegroups.com
Alright! I'll prepare a pull request for technical preview. Assuming it will go to a new branch "technical-preview".
One more thing, since QtWebkit was removed from the upstream version of Webkit, I think we can include full source tree of Webkit to our repository.

Regards,
Vitaliy.

Ivan De Marino

unread,
Dec 17, 2013, 11:50:53 AM12/17/13
to phan...@googlegroups.com
Hi all,

I have few tech questions for Vitaliy (yes, I could answer them by looking at his code, and I will :) ).

Given you are using what's QtWebKit in Qt5.2, can I assume that structurally "nothing changed"?
Or have you had to do substantial rewrite to make this work?
Do we maintain the same API? I suppose yes, as I have seen all your Tweets about progressing over making tests pass...

Again, AWESOME WORK DUDE!!! 

Vitaliy Slobodin

unread,
Dec 17, 2013, 12:04:16 PM12/17/13
to phan...@googlegroups.com
Hi Ivan!

Thank you! :)

Answering to your questions:
1) Yes, you can. I tried to not do major changes.
2) Yes, I didn't touch the API. It's same as in 1.9.2 version.

Qt guys did awesome work to make a migration process to Qt 5 super simple and fast.

Regards,
Vitaliy.

17 декабря 2013 г. 20:50
Hi all,

I have few tech questions for Vitaliy (yes, I could answer them by looking at his code, and I will :) ).

Given you are using what's QtWebKit in Qt5.2, can I assume that structurally "nothing changed"?
Or have you had to do substantial rewrite to make this work?
Do we maintain the same API? I suppose yes, as I have seen all your Tweets about progressing over making tests pass...

Again, AWESOME WORK DUDE!!! 

On Tuesday, 17 December 2013 09:07:42 UTC, Vitaliy Slobodin wrote:
--
You received this message because you are subscribed to the Google Groups "phantomjs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to phantomjs+...@googlegroups.com.
Visit this group at http://groups.google.com/group/phantomjs.
For more options, visit https://groups.google.com/groups/opt_out.
16 декабря 2013 г. 22:18

Very cool, Vitaliy!

I think not supporting all platforms equally for this TP is fine. It's
not that we don't want it, it's just a matter of time.





16 декабря 2013 г. 18:40
James, builds successfully and works as desired :)

James Greene wrote:
16 декабря 2013 г. 18:07

"Fine on Windows" meaning that it just builds successfully or that the resulting binary actually works as desired, too?

Sincerely,
    James Greene
    Sent from my [smart?]phone

--
You received this message because you are subscribed to the Google Groups "phantomjs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to phantomjs+...@googlegroups.com.
Visit this group at http://groups.google.com/group/phantomjs.
For more options, visit https://groups.google.com/groups/opt_out.
16 декабря 2013 г. 11:14

Ivan De Marino

unread,
Dec 18, 2013, 5:40:29 AM12/18/13
to phan...@googlegroups.com
I'll try to find some serious/concentration time during those Christmas holidays and test out GhostDriver in https://github.com/Vitallium/phantomjs-qt5.

I'm starting to work on a total rewrite/rewrap of the WebServer module.
Because "mongoose" has changed license, I'm pointing at a fork of mongoose (civetweb) that has been branched before the re-licensing.

I'm optimist.

Ivan De Marino

unread,
Dec 29, 2013, 1:21:17 PM12/29/13
to phan...@googlegroups.com
Finally(!!!) able to do a "./build.sh --confirm"...

Parenting ain't cheap (of time as well as money :) ).
--
Ivan De Marino
Coder, Technologist, Cook, Italian

blog.ivandemarino.me | www.linkedin.com/in/ivandemarino | twitter.com/detronizator

Ivan De Marino

unread,
Dec 29, 2013, 1:29:15 PM12/29/13
to phan...@googlegroups.com
Unfortunately, it didn't work at first attempt.

I'm on Mavericks (OSX).
I have installed latest Xcode.

I'm getting few errors during Qt5.2 compilation.

1) 

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o floatmath.o floatmath.cpp

floatmath.cpp:44:14: warning: unused parameter 'argc' [-Wunused-parameter]

int main(int argc, char **argv)

             ^

floatmath.cpp:44:27: warning: unused parameter 'argv' [-Wunused-parameter]

int main(int argc, char **argv)

                          ^

2 warnings generated.


2) 

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o db2.o db2.cpp

db2.cpp:42:10: fatal error: 'sqlcli.h' file not found

#include <sqlcli.h>

         ^

1 error generated.

make: *** [db2.o] Error 1

DB2 disabled.

InterBase auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o ibase.o ibase.cpp

ibase.cpp:42:10: fatal error: 'ibase.h' file not found

#include <ibase.h>

         ^

1 error generated.

make: *** [ibase.o] Error 1

InterBase disabled.

MySQL (thread-safe) auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o mysql.o ../mysql/mysql.cpp

../mysql/mysql.cpp:42:10: fatal error: 'mysql.h' file not found

#include "mysql.h"

         ^

1 error generated.

make: *** [mysql.o] Error 1

MySQL (thread-safe) disabled.

MySQL (thread-unsafe) auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o mysql.o mysql.cpp

mysql.cpp:42:10: fatal error: 'mysql.h' file not found

#include "mysql.h"

         ^

1 error generated.

make: *** [mysql.o] Error 1

MySQL (thread-unsafe) disabled.

OCI auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o oci.o oci.cpp

oci.cpp:42:10: fatal error: 'oci.h' file not found

#include <oci.h>

         ^

1 error generated.

make: *** [oci.o] Error 1

OCI disabled.

iODBC auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o iodbc.o iodbc.cpp

iodbc.cpp:42:10: fatal error: 'sql.h' file not found

#include <sql.h>

         ^

1 error generated.

make: *** [iodbc.o] Error 1

iODBC disabled.

PostgreSQL auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o psql.o psql.cpp

psql.cpp:42:10: fatal error: 'libpq-fe.h' file not found

#include "libpq-fe.h"

         ^

1 error generated.

make: *** [psql.o] Error 1

PostgreSQL disabled.

SQLite2 auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o sqlite2.o sqlite2.cpp

sqlite2.cpp:42:10: fatal error: 'sqlite.h' file not found

#include <sqlite.h>

         ^

1 error generated.

make: *** [sqlite2.o] Error 1

SQLite2 disabled.

TDS auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o tds.o tds.cpp

tds.cpp:42:10: fatal error: 'sybfront.h' file not found

#include <sybfront.h>

         ^

1 error generated.

make: *** [tds.o] Error 1

TDS disabled.

NIS auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o nis.o nis.cpp

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -o nis nis.o    

NIS enabled.

POSIX iconv auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o iconv.o iconv.cpp

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -o iconv iconv.o   -liconv 

POSIX iconv enabled.

ICU auto-detection... ()

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -DQT_NO_GRAPHICSVIEW -DQT_NO_GRAPHICSEFFECT -DQT_NO_STYLESHEET -DQT_NO_STYLE_CDE -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STYLE_PLASTIQUE -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE  -I../../../mkspecs/macx-clang -I. -o icu.o icu.cpp

icu.cpp:42:10: fatal error: 'unicode/utypes.h' file not found

#include <unicode/utypes.h>

         ^

1 error generated.

make: *** [icu.o] Error 1

ICU disabled.



Point 1) is just a warning.

Point 2) shows that the build is trying to build MySql, Postgres and other DB's support. Fails by not finding those libs (that I don't have installed).


Maybe it's just a couple of options to pass to the ./configure: will see.

But if you guys have tried and succeeded, let me know.

To unsubscribe from this group and stop receiving emails from it, send an email to phantomjs+unsubscribe@googlegroups.com.

Ivan De Marino

unread,
Dec 29, 2013, 2:04:28 PM12/29/13
to phan...@googlegroups.com
It seems to be passing the "./configure" step now, by passing a "-continue" option.
Of course, support for those DB is disable in the build (except the embedded sqlite) but that's exactly what we want...

...
...

UPDATE: failed again.
...

WebKit is now configured for building. Just run 'make'.


Info: creating stash file /Users/detro/Workspaces/phantomjs/phantomjs-qt5/src/webkit/.qmake.stash

cd Source/WTF/ && ( test -e Makefile.WTF || /Users/detro/Workspaces/phantomjs/phantomjs-qt5/src/qt/qtbase/bin/qmake /Users/detro/Workspaces/phantomjs/phantomjs-qt5/src/webkit/Source/WTF/WTF.pro -o Makefile.WTF ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.WTF 

/Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.WTF.Debug all

/Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.WTF.Release all

make[2]: *** No rule to make target `/Users/detro/Workspaces/phantomjs/phantomjs-qt5/src/qt/qtbase/lib/libQt5Core.a', needed by `release/libWTF.a'.  Stop.

make[1]: *** [release-all] Error 2

make[1]: *** Waiting for unfinished jobs....

make[2]: *** No rule to make target `/Users/detro/Workspaces/phantomjs/phantomjs-qt5/src/qt/qtbase/lib/libQt5Core_debug.a', needed by `debug/libWTF_debug.a'.  Stop.

make[1]: *** [debug-all] Error 2

make: *** [sub-Source-WTF-WTF-pro-make_first-ordered] Error 2

Matt Defenthaler

unread,
Jan 9, 2014, 8:57:30 AM1/9/14
to phan...@googlegroups.com
Any update on this? I'm running into the same problem on Ubuntu 13.10. I can use a different version of Ubuntu or Linux distribution if there's one that's known to work.

Thanks for all the hard work and any assistance you guys can provide,
Matt

James Greene

unread,
Jan 9, 2014, 9:24:54 AM1/9/14
to phan...@googlegroups.com

Please see the "PhantomJS 2, take three" email.

Sincerely,
    James Greene
    Sent from my [smart?]phone

Sean McNamara

unread,
Jan 9, 2014, 9:40:01 AM1/9/14
to phan...@googlegroups.com
Matt,

Not sure about the build problem you're having, but an experimental build posted on Github by Andreas Knuth (aknuth) for recent x86_64 GNU/Linux is working for me on Debian Stable.

I'm running a "pseudo-production" service based on aknuth's build. By "pseudo-production" I mean that there are no effective consequences for me if it dies or goes down for any period of time, but I've been running and using it continuously for the past week or two and it's been working very well. Obviously it isn't bug-free, but for the particular use case I'm using it for, it is working. I've got it running non-trivial ES5 JavaScript and doing some pretty heavy DOM transformations. No obvious memory leaks or anything like that within the scope of what I'm testing.

Feel free to download aknuth's build and test with that if you want. He links to Google Drive from here: https://github.com/Vitallium/phantomjs-qt5/issues/3#issuecomment-31274811 (Make sure you don't grab the Google Drive link from his earlier post, which wasn't headless, or his newest post, which isn't headless either).

You'll need to make sure that you have at least ABI-compatible libraries (and any needed symlinks) for all the libs he posted in that thread (the result of his ldd output), but other than that, it should just work. There have not been any commits done to phantomjs-qt5 master since that build was posted, so I think it's pretty much the latest progress that has been made on pjs-qt5. It also supports WebDriver; I've tested that specific scenario.

Unfortunately, successfully building PhantomJS can be *quite* hard, both due to its size and complexity, and the number of sequential steps that have to go right before it will actually produce a linked binary that runs. Andreas Knuth seems to have the build nailed down, so it would be awesome if we could move expediently towards releasing PhantomJS 2.0 Tech Preview binaries for all platforms. It would be good if we have more people testing the binaries and reporting issues with the functionality itself, even if they are personally unable to build the platform due to lack of knowledge, bad toolchain versions, etc.

HTH,

Sean

Matt Defenthaler

unread,
Jan 10, 2014, 10:40:51 AM1/10/14
to phan...@googlegroups.com
Thanks James and Sean!

In case anyone else finds this, I downloaded the binary, created the /home/ubuntu/.... folder and copied the source to it so the binary could find the fonts (the issue thread discusses using strace to see where it's failing to find the font files).

I was really hoping hyperlinks would just work now that it's using a newer webkit, but no dice. I am in no way complaining; just mentioning it in case people are curious or maybe others have it working and I'm doing something wrong.

Thanks,
Matt

Sérgio Martins

unread,
Feb 7, 2014, 7:31:30 AM2/7/14
to phan...@googlegroups.com

Hi,

What do you mean by this ? Upstream Webkit doesn't have the required Qt API any more.

Regards,
Sérgio Martins

Vitaliy Slobodin

unread,
Feb 7, 2014, 8:16:54 AM2/7/14
to phan...@googlegroups.com
Hi Sérgio,

I didn't want to include a full copy of the Webkit's source code into our repository, because of:
1) I wanted to keep it in sync with the upstream version
2) Separated repository for a such big project like Webkit is really good idea.

But, as soon as QtWebkit has been removed, we included a full copy of Webkit into our repository. Have it in a separated repository makes no sense to us anymore.

With regards,
Vitaliy.

Sérgio Martins wrote:

Sérgio Martins

unread,
Feb 15, 2014, 10:06:23 AM2/15/14
to phan...@googlegroups.com
Does anyone get a crash if you simply run: phantom.exit(1)

./bin/phantomjs
phantomjs> phantom.exit(1)
PhantomJS has crashed. Please read the crash reporting guide at https://github.com/ariya/phantomjs/wiki/Crash-Reporting and file a bug report at https://github.com/ariya/phantomjs/issues/new with the crash dump file attached: /tmp/41f21dd6-6d8a-9ef2-6657b30e-532f8ac2.dmp
Segmentation fault (core dumped)

#0  0x00007ffff174296e in WTF::RefPtr<WebCore::DOMWindow>::get (this=0x1e8) at ../WTF/wtf/RefPtr.h:64
#1  0x00007ffff1738f8c in WebCore::Document::domWindow (this=0x0) at ../WebCore/dom/Document.h:728
#2  0x00007ffff1788248 in WebCore::ScriptController::createWindowShell (this=0x990bf0, world=0x7fffe8a16500) at bindings/js/ScriptController.cpp:110
#3  0x00007ffff1788808 in WebCore::ScriptController::initScript (this=0x990bf0, world=0x7fffe8a16500) at bindings/js/ScriptController.cpp:213
#4  0x00007ffff1713695 in WebCore::ScriptController::windowShell (this=0x990bf0, world=0x7fffe8a16500) at ../WebCore/bindings/js/ScriptController.h:79
#5  0x00007ffff17136bb in WebCore::ScriptController::globalObject (this=0x990bf0, world=0x7fffe8a16500) at ../WebCore/bindings/js/ScriptController.h:88
#6  0x00007ffff1758461 in QWebFrameAdapter::evaluateJavaScript (this=0x716d50, scriptSource=..., location=...) at qt/WebCoreSupport/QWebFrameAdapter.cpp:206
#7  0x00007ffff7fce693 in QWebFrame::evaluateJavaScript (this=0x96f6d0, scriptSource=..., location=...) at WebKit/qt/WidgetApi/qwebframe.cpp:914
#8  0x000000000044590f in REPL::startLoop (this=0x979c10) at repl.cpp:213
#9  0x000000000047877e in REPL::qt_static_metacall (_o=0x979c10, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x9b60a0) at moc_repl.cpp:83
#10 0x00007ffff03587df in QMetaCallEvent::placeMetaCall (this=0x9f4b90, object=0x979c10) at kernel/qobject.cpp:487
#11 0x00007ffff0359826 in QObject::event (this=0x979c10, e=0x9f4b90) at kernel/qobject.cpp:1241
#12 0x00007ffff0dc1074 in QApplicationPrivate::notify_helper (this=0x6d31d0, receiver=0x979c10, e=0x9f4b90) at kernel/qapplication.cpp:3491
#13 0x00007ffff0dbe78a in QApplication::notify (this=0x7fffffffe230, receiver=0x979c10, e=0x9f4b90) at kernel/qapplication.cpp:2911
#14 0x00007ffff031dc62 in QCoreApplication::notifyInternal (this=0x7fffffffe230, receiver=0x979c10, event=0x9f4b90) at kernel/qcoreapplication.cpp:937
#15 0x00007ffff032194b in QCoreApplication::sendEvent (receiver=0x979c10, event=0x9f4b90) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:235
#16 0x00007ffff031efbf in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6d3310) at kernel/qcoreapplication.cpp:1541
#17 0x00007ffff0391b93 in QEventDispatcherUNIX::processEvents (this=0x715240, flags=...) at kernel/qeventdispatcher_unix.cpp:587
#18 0x00007ffff7e947c2 in QUnixEventDispatcherQPA::processEvents (this=0x715240, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:70
#19 0x00007ffff031a980 in QEventLoop::processEvents (this=0x7fffffffe0d0, flags=...) at kernel/qeventloop.cpp:136
#20 0x00007ffff031ac63 in QEventLoop::exec (this=0x7fffffffe0d0, flags=...) at kernel/qeventloop.cpp:212


On Monday, September 23, 2013 1:24:28 PM UTC+1, Ariya Hidayat wrote:
Folks,

Originally, this Qt 5-based version is planned for Sep 22 (see the
previous discussion:
Due to various reasons, unfortunately I didn't find enough time to
work on it. Vitaliy however seems to make some good process

This of course means that we missed the window for releasing it this
fall. The next possible release date, following our past tradition,
would be Dec 21. This is obviously assuming we will pour enough effort
into making it happen (help is always welcomed!).

In addition to that, there is a new initiative from the Qt side to use
Chromium as the basis, see
It's definitely exciting for us. There are 3 problems I can see so
far. The first is the timeline, we need to wait a bit until it becomes
more mature and runs well on all platform. Another problem is the
headlessless, it can be solved (from my experience working with
Chromium code base so far) but it requires a lot of efforts, way much
more than our Qt/Lighthouse/QPA solution. Last problem is that it
still missed a lot of Qt integration, from the object model bridge to
network access manager, which means a lot of new code needs to be
rewritten.

While I do like the Qt Web Engine idea for PhantomJS, seems that this
is still a wishful thinking at this stage. It may change in the future
but so far that is the situation. As I expressed months ago,
Chromium-based solution seems to fit only for PhantomJS 3 timeline.

Meanwhile, if we all can join forces, in particular continuing
Vitaliy's current effort, maybe we can have PhantomJS 2 soon enough.
There's a lot of issues filed in the issue tracker which are likely
solved once a fresh version of WebKit got imported.

Comments? Thoughts?


Thanks!

Reply all
Reply to author
Forward
0 new messages