Is phantomjs supported on Sun solaris and AIX?

674 views
Skip to first unread message

Nagesh Salunke

unread,
Sep 11, 2014, 9:11:50 AM9/11/14
to phan...@googlegroups.com

Is phantomjs supprted on Sun solaris and IBM-AIX. ?

I can see some threads on github regarding this feature request and no support for 64 bit Sun solaris.
https://github.com/ariya/phantomjs/issues/10521


Is phantomjs fully supported on Sun solaris and IBM-AIX.
If no ? When can we expect to have phantom js for Sun solaris and IBM-AIX.

In particular I am concerned about the support on folowing Operating systems.

  • Windows Server 2008 R2
  • Solaris Sparc 10
  • Redhat Enterprise Server 4.x
  • SuSE Linux
  • IBM AIX 6.1
  • SuSE Linux

One more concern

I want to avoid installing Phantom JS as utility or web server.

Is PhantomJS available as Java Package (jar)? like, servlet.jar, ojdbc.jar.


Sean McNamara

unread,
Sep 11, 2014, 9:49:00 AM9/11/14
to phan...@googlegroups.com
Hi, 

replies inline:

On Thu, Sep 11, 2014 at 9:11 AM, Nagesh Salunke <salunke...@gmail.com> wrote:

Is phantomjs supprted on Sun solaris and IBM-AIX. ?

I can see some threads on github regarding this feature request and no support for 64 bit Sun solaris.
https://github.com/ariya/phantomjs/issues/10521


"Support" is relative: since this is a community-maintained project, "support" basically means that someone got it to work. If YOU get it to work (by modifying the build system / sources / etc until it's working), then by definition it has some degree of "support". It would be much better supported if your changes were committed to the master repository, of course.

Remember that support for something in a FOSS project is not a one-way street: rather than waiting for someone else to integrate the necessary changes to get it working on Solaris, it would be much more productive to actually try and compile it, see if you can puzzle out any errors, and submit patches.

The results of the efforts in the issue you linked to above are slightly outdated, since that information appears to be based on efforts to compile and run PhantomJS 1.9.x on Solaris/SmartOS. PhantomJS 2.x, which is now in the master repository, depends on Qt 5.3.x, which brings with it its own build problems.

Also, it sounds like just getting it to compile is not the end of the road: it also has runtime problems, judging by the info given by mamash in that issue (one of the Joyent maintainers).
 

Is phantomjs fully supported on Sun solaris and IBM-AIX.
If no ? When can we expect to have phantom js for Sun solaris and IBM-AIX.


I've tried to compile the latest PhantomJS on Joyent SmartOS without success. SmartOS is not equivalent to Solaris, but it's close enough (due to using the same libc and kernel) that compiling it for either OS would encounter similar issues. The biggest issues seem to be that the Qt and WebKit codebases are primarily compiled and build-tested against the toolchains of modern GNU/Linux, Windows, and Mac OS X, with minimal to no attention to *BSD and Solaris. These systems differ in certain low-level aspects, such as their pthreads implementation, location of various low-level APIs, etc.

Also, please specify the *version* of Solaris that you're trying to use it with. Old versions of Solaris have older compilers and older toolchains, which mainly means that the advanced C++ constructs used in WebKit and Qt, and certain C header functions and macros, are not going to be available, so the build will fail. These problems still exist on Solaris 11, but there are *fewer of them* -- certainly a good thing. Solaris 10 is probably on the fringe of how old you can go and still build PhantomJS; Solaris 9 and older are likely "Just Too Old" to ever successfully build PhantomJS without a complete userspace replacement (libc, c++ stdlib, compiler, headers, etc.)
 
As for AIX, I have never heard of anyone even trying to get PhantomJS running on AIX. That's not to say it's impossible or even particularly difficult, but I have no experience in this area.

But hey, PhantomJS is free and open source software. The answer to "when" is "just as soon as you decide to take it upon yourself to do it". If you can't be bothered, or lack the requisite knowledge, then you can wait an indeterminate amount of time (perhaps forever) for someone in the community to fix the compatibility issues and provide a build.

In particular I am concerned about the support on folowing Operating systems.

  • Windows Server 2008 R2
  • Solaris Sparc 10
  • Redhat Enterprise Server 4.x
  • SuSE Linux
  • IBM AIX 6.1
  • SuSE Linux

OK......

 - You specified "SuSE Linux" twice, and you didn't give the version number either time. SuSE, like Solaris, is a very old OS (meaning it has been available for a long time) -- the likelihood of it running on a current version of SuSE is much higher than on one that's several years old. 

 - It should run fine on Windows Server 2008 R2. You can even download the build of PhantomJS 1.9.x from the website and run it directly, no problem.

 - I'm assuming you're talking about RHEL 4.x, not Red Hat Linux 4.x. RHEL 4.x was released in 2005, based on code from 2003-2004. Red Hat Linux 4.x was released in 1996. PhantomJS will probably not build out of the box on either of these extremely old operating systems, but you could probably get it working on RHEL 4.x by manually compiling a newer version of gcc/g++/libstdc++ and possibly by using a new version of glibc in a chroot (if required). It would be a pretty big effort, but I don't think there's any limitation in the kernel preventing it from happening.

 - As I mentioned before, I have no idea about AIX. My guess is it probably won't compile without significant modifications to the source and build system.

 - Already talked about Solaris. Oh, good, you specified a version number! Yeah, Solaris 10 is known to have *more* build issues with Qt and QtWebKit than Solaris 11, so by using an outdated version of the OS, you're just making it harder on yourself.

 

One more concern

I want to avoid installing Phantom JS as utility or web server.

Is PhantomJS available as Java Package (jar)? like, servlet.jar, ojdbc.jar.



PhantomJS is written primarily in C++, which means that it compiles to native machine code. Porting it entirely to pure Java would be a huge effort that would involve basically starting from scratch. You'd have to write PhantomJS itself, plus Qt, plus WebKit (or something equivalent to each). This would be so different as to be a completely separate project and it wouldn't be PhantomJS at all. Good luck.

If you just want to package PhantomJS inside a .jar file while still having it as a native executable (and then presumably unpack it and run it during runtime), here's a tip: the file format of .jar files is identical to .zip files. If you want to make a .jar file of PhantomJS, just zip it, then rename the file extension to .jar. You may need to add a manifest if you want to add it to your classpath, but I suspect you'll be extracting it to a temporary location and running it instead. I have no idea why you would want to impose this artificial requirement when it just makes things more complicated than simply running the binary as a loose file on disk.

 

--
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/d/optout.

Reply all
Reply to author
Forward
0 new messages