This repository has been archived by the owner. It is now read-only.

Static build complication on Linux due to OpenSSL and ICU #12948

Closed
ariya opened this Issue Feb 4, 2015 · 190 comments

Comments

Projects
None yet
@ariya
Owner

ariya commented Feb 4, 2015

Compared to 1.x, PhantomJS 2.0 has exhibits some problem when being built statically to produce the official Linux binaries.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 4, 2015

Owner

When the binary is built on Centos 6.6 and tested on Ubuntu 12.04, there will be this error:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
$ bin/phantomjs 
bin/phantomjs: error while loading shared libraries: libicudata.so.42: cannot open shared object file: No such file or directory
$ ldd bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff31fff000)
    libicudata.so.42 => not found
    libssl.so.10 => not found
    libcrypto.so.10 => not found
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007ff99863e000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007ff9983a2000)
    libjpeg.so.62 => not found
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007ff998179000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff997f62000)
    libicui18n.so.42 => not found
    libicuuc.so.42 => not found
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff997d5d000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff997b54000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff997937000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff997637000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff99733a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff997124000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff996d65000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff99887d000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007ff996b3a000)
Owner

ariya commented Feb 4, 2015

When the binary is built on Centos 6.6 and tested on Ubuntu 12.04, there will be this error:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
$ bin/phantomjs 
bin/phantomjs: error while loading shared libraries: libicudata.so.42: cannot open shared object file: No such file or directory
$ ldd bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff31fff000)
    libicudata.so.42 => not found
    libssl.so.10 => not found
    libcrypto.so.10 => not found
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007ff99863e000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007ff9983a2000)
    libjpeg.so.62 => not found
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007ff998179000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff997f62000)
    libicui18n.so.42 => not found
    libicuuc.so.42 => not found
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff997d5d000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff997b54000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff997937000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff997637000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff99733a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff997124000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff996d65000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff99887d000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007ff996b3a000)
@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 4, 2015

Owner

When the binary is built on Ubuntu 12.04 and tested on CentOS 6, there is this error:

$ cat /etc/redhat-release 
CentOS release 6.6 (Final)
$ bin/phantomjs 
bin/phantomjs: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
$ ldd bin/phantomjs 
bin/phantomjs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/phantomjs)
bin/phantomjs: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by bin/phantomjs)
bin/phantomjs: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/phantomjs)
    linux-vdso.so.1 =>  (0x00007fff9e9ff000)
    libssl.so.1.0.0 => not found
    libcrypto.so.1.0.0 => not found
    libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003970600000)
    libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003970e00000)
    libjpeg.so.8 => not found
    libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003974200000)
    libz.so.1 => /lib64/libz.so.1 (0x000000396fa00000)
    libicui18n.so.48 => not found
    libicuuc.so.48 => not found
    libdl.so.2 => /lib64/libdl.so.2 (0x000000396e600000)
    librt.so.1 => /lib64/librt.so.1 (0x000000396f200000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x000000396ee00000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fbbd8347000)
    libm.so.6 => /lib64/libm.so.6 (0x000000396f600000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbbd8130000)
    libc.so.6 => /lib64/libc.so.6 (0x000000396ea00000)
    /lib64/ld-linux-x86-64.so.2 (0x000000396e200000)
    libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003973600000)
Owner

ariya commented Feb 4, 2015

When the binary is built on Ubuntu 12.04 and tested on CentOS 6, there is this error:

$ cat /etc/redhat-release 
CentOS release 6.6 (Final)
$ bin/phantomjs 
bin/phantomjs: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
$ ldd bin/phantomjs 
bin/phantomjs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/phantomjs)
bin/phantomjs: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by bin/phantomjs)
bin/phantomjs: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/phantomjs)
    linux-vdso.so.1 =>  (0x00007fff9e9ff000)
    libssl.so.1.0.0 => not found
    libcrypto.so.1.0.0 => not found
    libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003970600000)
    libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003970e00000)
    libjpeg.so.8 => not found
    libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003974200000)
    libz.so.1 => /lib64/libz.so.1 (0x000000396fa00000)
    libicui18n.so.48 => not found
    libicuuc.so.48 => not found
    libdl.so.2 => /lib64/libdl.so.2 (0x000000396e600000)
    librt.so.1 => /lib64/librt.so.1 (0x000000396f200000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x000000396ee00000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fbbd8347000)
    libm.so.6 => /lib64/libm.so.6 (0x000000396f600000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbbd8130000)
    libc.so.6 => /lib64/libc.so.6 (0x000000396ea00000)
    /lib64/ld-linux-x86-64.so.2 (0x000000396e200000)
    libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003973600000)
@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 4, 2015

Owner

As a comparison, ldd on PhantomJS 1.9.8 statically built binary on Ubuntu 12.04 gives the following:

ldd bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff987cf000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f88af68e000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f88af458000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f88af253000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f88af04b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f88aee2e000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f88aeb2d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f88ae831000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f88ae61b000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88ae25b000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f88af932000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f88ae044000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f88ade1a000)
Owner

ariya commented Feb 4, 2015

As a comparison, ldd on PhantomJS 1.9.8 statically built binary on Ubuntu 12.04 gives the following:

ldd bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff987cf000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f88af68e000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f88af458000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f88af253000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f88af04b000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f88aee2e000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f88aeb2d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f88ae831000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f88ae61b000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88ae25b000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f88af932000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f88ae044000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f88ade1a000)

@ariya ariya referenced this issue Feb 4, 2015

Closed

Release of PhantomJS 2.0 #12897

7 of 7 tasks complete
@Vitallium

This comment has been minimized.

Show comment
Hide comment
Collaborator

Vitallium commented Feb 4, 2015

@Vitallium

This comment has been minimized.

Show comment
Hide comment
@Vitallium

Vitallium Feb 4, 2015

Collaborator

@ariya, found the problem. Starting commit - 8d23afb

Collaborator

Vitallium commented Feb 4, 2015

@ariya, found the problem. Starting commit - 8d23afb

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 6, 2015

Owner

@Vitallium Do you mean that the mentioned commit start to introduce the broken build?

Owner

ariya commented Feb 6, 2015

@Vitallium Do you mean that the mentioned commit start to introduce the broken build?

@Vitallium

This comment has been minimized.

Show comment
Hide comment
@Vitallium

Vitallium Feb 6, 2015

Collaborator

@ariya yes, check the line 162 https://github.com/ariya/phantomjs/blob/2.0/src/qt/preconfig.sh#L162 I assume it should be just openssl.

Collaborator

Vitallium commented Feb 6, 2015

@ariya yes, check the line 162 https://github.com/ariya/phantomjs/blob/2.0/src/qt/preconfig.sh#L162 I assume it should be just openssl.

@Vitallium

This comment has been minimized.

Show comment
Hide comment
@Vitallium

Vitallium Feb 6, 2015

Collaborator

With openssl, I got this on Ubuntu 14.04:

 ldd ../bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff347c0000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f9fe8df8000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f9fe8b50000)
    libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007f9fe8748000)
    libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007f9fe83c8000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9fe81c0000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9fe7fb8000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9fe7d98000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9fe7a90000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9fe7788000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9fe7570000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9fe71a8000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f9fe9050000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9fe6f78000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9fe6d58000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f9fe6b30000)
    libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007f9fe52c0000)
Collaborator

Vitallium commented Feb 6, 2015

With openssl, I got this on Ubuntu 14.04:

 ldd ../bin/phantomjs 
    linux-vdso.so.1 =>  (0x00007fff347c0000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f9fe8df8000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f9fe8b50000)
    libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007f9fe8748000)
    libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007f9fe83c8000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9fe81c0000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9fe7fb8000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9fe7d98000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9fe7a90000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9fe7788000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9fe7570000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9fe71a8000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f9fe9050000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9fe6f78000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9fe6d58000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f9fe6b30000)
    libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007f9fe52c0000)
@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 7, 2015

Owner

@Vitallium Good news! Now we just need to solve the ICU library...

Owner

ariya commented Feb 7, 2015

@Vitallium Good news! Now we just need to solve the ICU library...

@kenips

This comment has been minimized.

Show comment
Hide comment
@kenips

kenips Feb 12, 2015

@ariya isn't ICU bug fixed in 5.3.1? Or we're talking about something else?

kenips commented Feb 12, 2015

@ariya isn't ICU bug fixed in 5.3.1? Or we're talking about something else?

@kenips kenips referenced this issue Feb 12, 2015

Closed

2.0 #288

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Feb 13, 2015

Owner

@kenips Can you elaborate?

Owner

ariya commented Feb 13, 2015

@kenips Can you elaborate?

@kenips

This comment has been minimized.

Show comment
Hide comment
@kenips

kenips Feb 13, 2015

hey @ariya I thought the ICU bug is https://bugreports.qt.io/browse/QTBUG-38445, which is fixed in 5.3.1, isn't it?

kenips commented Feb 13, 2015

hey @ariya I thought the ICU bug is https://bugreports.qt.io/browse/QTBUG-38445, which is fixed in 5.3.1, isn't it?

@ohenak

This comment has been minimized.

Show comment
Hide comment
@ohenak

ohenak Feb 18, 2015

Want to bring this up again as my team is depending on PhantomJS 2.0 for testing.
However, I am not expert in this. How can I help verifying one static build is working, what is the metric of testing we are looking at?

If I simply do ./build.sh and it completed successfully, does it mean I can copy over to other machines to test?

ohenak commented Feb 18, 2015

Want to bring this up again as my team is depending on PhantomJS 2.0 for testing.
However, I am not expert in this. How can I help verifying one static build is working, what is the metric of testing we are looking at?

If I simply do ./build.sh and it completed successfully, does it mean I can copy over to other machines to test?

@AkeemMcLennon

This comment has been minimized.

Show comment
Hide comment
@AkeemMcLennon

AkeemMcLennon Feb 24, 2015

@ohenak From my understanding, that should theoretically work across similar environments. (e.g. all machines running the same version of Ubuntu).

@ohenak From my understanding, that should theoretically work across similar environments. (e.g. all machines running the same version of Ubuntu).

@achiang

This comment has been minimized.

Show comment
Hide comment
@achiang

achiang Feb 25, 2015

I do think ICU was fixed in 5.3.1, but Ubuntu 14.04 has an older version:

libqt5core5a:amd64 5.2.1+dfsg-1ubuntu14.2

achiang commented Feb 25, 2015

I do think ICU was fixed in 5.3.1, but Ubuntu 14.04 has an older version:

libqt5core5a:amd64 5.2.1+dfsg-1ubuntu14.2

@achiang

This comment has been minimized.

Show comment
Hide comment
@achiang

achiang Feb 25, 2015

Probably this fix can be backported:

https://codereview.qt-project.org/#/c/84012/

Although it's not clear to me whether the problem is in the bundled Qt or in the system's version of Qt.

achiang commented Feb 25, 2015

Probably this fix can be backported:

https://codereview.qt-project.org/#/c/84012/

Although it's not clear to me whether the problem is in the bundled Qt or in the system's version of Qt.

@ariya ariya added the Regression label Feb 25, 2015

@avindra

This comment has been minimized.

Show comment
Hide comment
@avindra

avindra Mar 5, 2015

Any ETA / roadmap on this issue? We would like to deploy PhantomJS 2.0 without having to compile.

avindra commented Mar 5, 2015

Any ETA / roadmap on this issue? We would like to deploy PhantomJS 2.0 without having to compile.

@ashkulz

This comment has been minimized.

Show comment
Hide comment
@ashkulz

ashkulz Mar 9, 2015

Contributor

The only solution which is sustainable in the long term is to have distro-specific packages, like I have done for wkhtmltopdf. Due to the patched/bundled Qt, it does not get packaged with most distributions anyway so having "official" binaries is important.

I'm willing to take up just the packaging part, as I'll be working on that anyway in the near future for wkhtmltopdf 0.13 based on Qt 5.4.1 😄

Contributor

ashkulz commented Mar 9, 2015

The only solution which is sustainable in the long term is to have distro-specific packages, like I have done for wkhtmltopdf. Due to the patched/bundled Qt, it does not get packaged with most distributions anyway so having "official" binaries is important.

I'm willing to take up just the packaging part, as I'll be working on that anyway in the near future for wkhtmltopdf 0.13 based on Qt 5.4.1 😄

@ashkulz

This comment has been minimized.

Show comment
Hide comment
@ashkulz

ashkulz Mar 9, 2015

Contributor

Note that I won't be supporting CentOS 5, as not all security fixes are being backported and getting it to work would be very tough due to very old software versions.

Contributor

ashkulz commented Mar 9, 2015

Note that I won't be supporting CentOS 5, as not all security fixes are being backported and getting it to work would be very tough due to very old software versions.

@zachgersh

This comment has been minimized.

Show comment
Hide comment
@zachgersh

zachgersh Mar 11, 2015

For people that are actually looking for a built binary of phantom-js 2.0 it seems that the Travis-CI team has one (currently only for Ubuntu-12.04). Thought this would at least help some people on the thread until official binaries are available.

https://s3.amazonaws.com/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2

We've got this working on 14.04 by manually installing (dpkg) this package:

http://mirrors.kernel.org/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.4_amd64.deb

For people that are actually looking for a built binary of phantom-js 2.0 it seems that the Travis-CI team has one (currently only for Ubuntu-12.04). Thought this would at least help some people on the thread until official binaries are available.

https://s3.amazonaws.com/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2

We've got this working on 14.04 by manually installing (dpkg) this package:

http://mirrors.kernel.org/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.4_amd64.deb

@emaphp

This comment has been minimized.

Show comment
Hide comment
@emaphp

emaphp Mar 12, 2015

you can download libicu for ubuntu 14 (amd64) from this link: http://packages.ubuntu.com/en/precise/amd64/libicu48/download

sudo dpkg -i [package-name].deb

emaphp commented Mar 12, 2015

you can download libicu for ubuntu 14 (amd64) from this link: http://packages.ubuntu.com/en/precise/amd64/libicu48/download

sudo dpkg -i [package-name].deb

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Mar 13, 2015

Owner

@ashkulz Good call on CentOS 5. PhantomJS 2 probably should not be bothered with it.

Owner

ariya commented Mar 13, 2015

@ashkulz Good call on CentOS 5. PhantomJS 2 probably should not be bothered with it.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Mar 13, 2015

Owner

@emaphp This issue has nothing to do with libicu availability.

Owner

ariya commented Mar 13, 2015

@emaphp This issue has nothing to do with libicu availability.

@Pyppe

This comment has been minimized.

Show comment
Hide comment
@Pyppe

Pyppe Mar 13, 2015

FYI: I added compiled binary, built on Ubuntu 14.04 x64 (DigitalOcean 8GB virtual machine), if someone else finds it helpful: https://github.com/Pyppe/phantomjs2.0-ubuntu14.04x64

Pyppe commented Mar 13, 2015

FYI: I added compiled binary, built on Ubuntu 14.04 x64 (DigitalOcean 8GB virtual machine), if someone else finds it helpful: https://github.com/Pyppe/phantomjs2.0-ubuntu14.04x64

@SocalNick

This comment has been minimized.

Show comment
Hide comment
@SocalNick

SocalNick Mar 14, 2015

@Pyppe - tried following your build steps on a vagrant ubuntu/trusty64 (virtualbox, 14.04) but got the following error:

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[2]: *** [.obj/dom/Node.o] Error 4
make[2]: Leaving directory `/home/vagrant/phantomjs/phantomjs-2.0.0/src/qt/qtwebkit/Source/WebCore'
make[1]: *** [sub-Target-pri-make_first-ordered] Error 2
make[1]: Leaving directory `/home/vagrant/phantomjs/phantomjs-2.0.0/src/qt/qtwebkit/Source/WebCore'
make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2

@Pyppe - tried following your build steps on a vagrant ubuntu/trusty64 (virtualbox, 14.04) but got the following error:

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[2]: *** [.obj/dom/Node.o] Error 4
make[2]: Leaving directory `/home/vagrant/phantomjs/phantomjs-2.0.0/src/qt/qtwebkit/Source/WebCore'
make[1]: *** [sub-Target-pri-make_first-ordered] Error 2
make[1]: Leaving directory `/home/vagrant/phantomjs/phantomjs-2.0.0/src/qt/qtwebkit/Source/WebCore'
make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2
@sproffer

This comment has been minimized.

Show comment
Hide comment
@sproffer

sproffer Mar 14, 2015

I have built phantomjs exceutable for CentOS 7, it runs great on my systems. If anybody wants it, you can get it from http://garyzhu.net/notes/phantomjs-centos7.tar.

 ldd bin/phantomjs
        linux-vdso.so.1 =>  (0x00007fff85dfe000)
        libicudata.so.50 => /lib64/libicudata.so.50 (0x00007fef00cb4000)
        libssl.so.10 => /lib64/libssl.so.10 (0x00007fef00a47000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fef00662000)
        libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007fef00426000)
        libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fef00180000)
        libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007feefff2b000)
        libpng15.so.15 => /lib64/libpng15.so.15 (0x00007feeffd00000)
        libz.so.1 => /lib64/libz.so.1 (0x00007feeffae9000)
        libicui18n.so.50 => /lib64/libicui18n.so.50 (0x00007feeff6eb000)
        libicuuc.so.50 => /lib64/libicuuc.so.50 (0x00007feeff372000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007feeff16d000)
        librt.so.1 => /lib64/librt.so.1 (0x00007feefef65000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feefed49000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007feefea41000)
        libm.so.6 => /lib64/libm.so.6 (0x00007feefe73f000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feefe529000)
        libc.so.6 => /lib64/libc.so.6 (0x00007feefe167000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fef022a4000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feefdf1d000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feefdc3d000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feefda38000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feefd803000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007feefd5d9000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feefd3ca000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feefd1c6000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feefcfab000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feefcd86000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007feefcb24000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007feefc8ff000)

I have problem to build on CentOS 6, maybe because of older versions of glibc library, Google chrome stopped supporting CentOS 6 for the same reason.

I have built phantomjs exceutable for CentOS 7, it runs great on my systems. If anybody wants it, you can get it from http://garyzhu.net/notes/phantomjs-centos7.tar.

 ldd bin/phantomjs
        linux-vdso.so.1 =>  (0x00007fff85dfe000)
        libicudata.so.50 => /lib64/libicudata.so.50 (0x00007fef00cb4000)
        libssl.so.10 => /lib64/libssl.so.10 (0x00007fef00a47000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fef00662000)
        libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007fef00426000)
        libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fef00180000)
        libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007feefff2b000)
        libpng15.so.15 => /lib64/libpng15.so.15 (0x00007feeffd00000)
        libz.so.1 => /lib64/libz.so.1 (0x00007feeffae9000)
        libicui18n.so.50 => /lib64/libicui18n.so.50 (0x00007feeff6eb000)
        libicuuc.so.50 => /lib64/libicuuc.so.50 (0x00007feeff372000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007feeff16d000)
        librt.so.1 => /lib64/librt.so.1 (0x00007feefef65000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feefed49000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007feefea41000)
        libm.so.6 => /lib64/libm.so.6 (0x00007feefe73f000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feefe529000)
        libc.so.6 => /lib64/libc.so.6 (0x00007feefe167000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fef022a4000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feefdf1d000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feefdc3d000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feefda38000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feefd803000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007feefd5d9000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feefd3ca000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feefd1c6000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feefcfab000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feefcd86000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007feefcb24000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007feefc8ff000)

I have problem to build on CentOS 6, maybe because of older versions of glibc library, Google chrome stopped supporting CentOS 6 for the same reason.

@Pyppe

This comment has been minimized.

Show comment
Hide comment
@Pyppe

Pyppe Mar 14, 2015

@SocalNick, my first guess would be that you're out of memory. How much did you allocate? The build process is quite heavy. Actually, I first tried it with a 2GB-instance and it too failed. After that I tried with the 8GB-instance which did the job.

You could also try building it with ./build.sh --jobs 1 in order to reduce the resources needed, although I'm not sure how much that would affect the memory usage.

Pyppe commented Mar 14, 2015

@SocalNick, my first guess would be that you're out of memory. How much did you allocate? The build process is quite heavy. Actually, I first tried it with a 2GB-instance and it too failed. After that I tried with the 8GB-instance which did the job.

You could also try building it with ./build.sh --jobs 1 in order to reduce the resources needed, although I'm not sure how much that would affect the memory usage.

@level420

This comment has been minimized.

Show comment
Hide comment
@level420

level420 Mar 16, 2015

Regarding centos 6:

As (I think) I've understood the phantomjs build process, qt5 sources are included in the phantomjs distro and shipped with phantomjs. The build process also builds qt5 and links the libs statically to phantomjs.

Wouldn't it be an option to use the qt5 devel packages (currently at version 5.4.0) from epel (https://fedoraproject.org/wiki/EPEL) to build phantomjs?

Regarding centos 6:

As (I think) I've understood the phantomjs build process, qt5 sources are included in the phantomjs distro and shipped with phantomjs. The build process also builds qt5 and links the libs statically to phantomjs.

Wouldn't it be an option to use the qt5 devel packages (currently at version 5.4.0) from epel (https://fedoraproject.org/wiki/EPEL) to build phantomjs?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Mar 16, 2015

+1 for wanting static Linux binaries of PhantomJS 2.

ghost commented Mar 16, 2015

+1 for wanting static Linux binaries of PhantomJS 2.

@SocalNick

This comment has been minimized.

Show comment
Hide comment
@SocalNick

SocalNick Mar 16, 2015

@Pyppe that did the trick, thanks!

@Pyppe that did the trick, thanks!

@cschwarz-inco

This comment has been minimized.

Show comment
Hide comment
@cschwarz-inco

cschwarz-inco Mar 18, 2015

When the binary is built on Centos 6.6 and tested on Ubuntu 12.04

This is not the right approach to begin with. You will never get all the dependencies right (unless using static linkage which introduces other problems such as how to deal with security updates).

The right approach to do is build and package a dynamic target for each Linux distribution.

CensOS: build on CentOS and create an rpm package.
Ubuntu: build on Ubuntu (or the corresponding Debian release) and create a deb package.

When the binary is built on Centos 6.6 and tested on Ubuntu 12.04

This is not the right approach to begin with. You will never get all the dependencies right (unless using static linkage which introduces other problems such as how to deal with security updates).

The right approach to do is build and package a dynamic target for each Linux distribution.

CensOS: build on CentOS and create an rpm package.
Ubuntu: build on Ubuntu (or the corresponding Debian release) and create a deb package.

@level420

This comment has been minimized.

Show comment
Hide comment
@level420

level420 Mar 20, 2015

I've successfully built the phantomJS 2 binary on CentOS 6.6 (updated to latest patches) via instructions given in http://phantomjs.org/build.html.

uname -rsvo
       Linux 2.6.32-504.12.2.el6.x86_64 #1 SMP Wed Mar 11 22:03:14 UTC 2015 GNU/Linux

cat /etc/centos-release
       CentOS release 6.6 (Final)`
     git clone git://github.com/ariya/phantomjs.git phantomjs
     cd phantomjs
     git checkout 2.0
     ./build.sh --jobs 1
ldd bin/phantomjs
        linux-vdso.so.1 =>  (0x00007fff9f8f7000)
        libicudata.so.42 => /usr/lib64/libicudata.so.42 (0x000000388b600000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x000000388b200000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003888600000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003887e00000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fba25217000)
        libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000003887600000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000388ce00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003884600000)
        libicui18n.so.42 => /usr/lib64/libicui18n.so.42 (0x0000003886600000)
        libicuuc.so.42 => /usr/lib64/libicuuc.so.42 (0x0000003885e00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003884200000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003884a00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003883e00000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003886a00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003884e00000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003885600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003883a00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003883600000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003889a00000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003889200000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003886e00000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003889600000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x000000388aa00000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003888e00000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003887200000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003885a00000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003885200000)
bin/phantomjs --version 
       2.0.1-development

I've tested phantomJS 2 running as an export server for highcharts (http://www.highcharts.com/docs/export-module/render-charts-serverside).
Rendering png works as expected (at a first look identically to phantomJS 1.9.8) but rendering pdf seems changed in size and gives weird results if using page zoom, similar to the issue reported here: #13048

I've successfully built the phantomJS 2 binary on CentOS 6.6 (updated to latest patches) via instructions given in http://phantomjs.org/build.html.

uname -rsvo
       Linux 2.6.32-504.12.2.el6.x86_64 #1 SMP Wed Mar 11 22:03:14 UTC 2015 GNU/Linux

cat /etc/centos-release
       CentOS release 6.6 (Final)`
     git clone git://github.com/ariya/phantomjs.git phantomjs
     cd phantomjs
     git checkout 2.0
     ./build.sh --jobs 1
ldd bin/phantomjs
        linux-vdso.so.1 =>  (0x00007fff9f8f7000)
        libicudata.so.42 => /usr/lib64/libicudata.so.42 (0x000000388b600000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x000000388b200000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003888600000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003887e00000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fba25217000)
        libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000003887600000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000388ce00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003884600000)
        libicui18n.so.42 => /usr/lib64/libicui18n.so.42 (0x0000003886600000)
        libicuuc.so.42 => /usr/lib64/libicuuc.so.42 (0x0000003885e00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003884200000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003884a00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003883e00000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003886a00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003884e00000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003885600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003883a00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003883600000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003889a00000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003889200000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003886e00000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003889600000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x000000388aa00000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003888e00000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003887200000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003885a00000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003885200000)
bin/phantomjs --version 
       2.0.1-development

I've tested phantomJS 2 running as an export server for highcharts (http://www.highcharts.com/docs/export-module/render-charts-serverside).
Rendering png works as expected (at a first look identically to phantomJS 1.9.8) but rendering pdf seems changed in size and gives weird results if using page zoom, similar to the issue reported here: #13048

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Mar 20, 2015

Owner

This is not the right approach to begin with.

@cschwarz-inco This has been discussed many times before. Official distro packagers are free to package it the right way. We simply want to offer the convenience, just like in the 1.x series. There are other trade-offs and various aspirations we have, but if you feel inclined to discuss that, then start a topic in the mailing-list.

Owner

ariya commented Mar 20, 2015

This is not the right approach to begin with.

@cschwarz-inco This has been discussed many times before. Official distro packagers are free to package it the right way. We simply want to offer the convenience, just like in the 1.x series. There are other trade-offs and various aspirations we have, but if you feel inclined to discuss that, then start a topic in the mailing-list.

@christianhaller

This comment has been minimized.

Show comment
Hide comment
@christianhaller

christianhaller Nov 19, 2015

thx @sproffer
Works on AWS Lambda 🎉

thx @sproffer
Works on AWS Lambda 🎉

@sproffer

This comment has been minimized.

Show comment
Hide comment
@sproffer

sproffer Nov 19, 2015

@dstepanov I gave up on CentOS 6 some time ago, there are too many library differences between 6 and 7. I have been using CentOS 7, which is also the baseline for Amazon Linux. This should only work on CentOS 7, Amazon Linux (current version), RHEL 7.

@christianhaller @Uhsac I am not sure about AWS Lambda, I do not use it, I only use "plain / old" EC instances (Amazon Linux). I did not strip symbol tables from my executable, so you "might" be able to use gdb to debug it; but again, I don't know about AWS Lambda.

On ICU library, I have statically built ICU4C version 50.1.2 from source, and then statically linked them into phantomJS executable.

@dstepanov I gave up on CentOS 6 some time ago, there are too many library differences between 6 and 7. I have been using CentOS 7, which is also the baseline for Amazon Linux. This should only work on CentOS 7, Amazon Linux (current version), RHEL 7.

@christianhaller @Uhsac I am not sure about AWS Lambda, I do not use it, I only use "plain / old" EC instances (Amazon Linux). I did not strip symbol tables from my executable, so you "might" be able to use gdb to debug it; but again, I don't know about AWS Lambda.

On ICU library, I have statically built ICU4C version 50.1.2 from source, and then statically linked them into phantomJS executable.

@avindra

This comment has been minimized.

Show comment
Hide comment
@avindra

avindra Nov 19, 2015

So I've been hearing that electron is the new phantomjs, and is even node
compatible? Anyone try it out ?
On Thu, Nov 19, 2015 at 5:13 PM sproffer notifications@github.com wrote:

@dstepanov https://github.com/dstepanov I gave up on CentOS 6 some time
ago, there are too many library differences between 6 and 7. I have been
using CentOS 7, which is also the baseline for Amazon Linux. This should
only work on CentOS 7, Amazon Linux (current version), RHEL 7.

@christianhaller https://github.com/christianhaller @Uhsac
https://github.com/Uhsac I am not sure about AWS Lambda, I do not use
it, I only use "plain / old" EC instances (Amazon Linux). I did not strip
symbol tables from my executable, so you "might" be able to use gdb to
debug it; but again, I don't know about AWS Lambda.

On ICU library, I have statically built ICU4C version 50.1.2 from source,
and then statically linked them into phantomJS executable.


Reply to this email directly or view it on GitHub
#12948 (comment).

avindra commented Nov 19, 2015

So I've been hearing that electron is the new phantomjs, and is even node
compatible? Anyone try it out ?
On Thu, Nov 19, 2015 at 5:13 PM sproffer notifications@github.com wrote:

@dstepanov https://github.com/dstepanov I gave up on CentOS 6 some time
ago, there are too many library differences between 6 and 7. I have been
using CentOS 7, which is also the baseline for Amazon Linux. This should
only work on CentOS 7, Amazon Linux (current version), RHEL 7.

@christianhaller https://github.com/christianhaller @Uhsac
https://github.com/Uhsac I am not sure about AWS Lambda, I do not use
it, I only use "plain / old" EC instances (Amazon Linux). I did not strip
symbol tables from my executable, so you "might" be able to use gdb to
debug it; but again, I don't know about AWS Lambda.

On ICU library, I have statically built ICU4C version 50.1.2 from source,
and then statically linked them into phantomJS executable.


Reply to this email directly or view it on GitHub
#12948 (comment).

@Vanuan

This comment has been minimized.

Show comment
Hide comment
@Vanuan

Vanuan Dec 7, 2015

@avindra does it have socket api? can it be run headless? does it have capybara driver?

Vanuan commented Dec 7, 2015

@avindra does it have socket api? can it be run headless? does it have capybara driver?

webmonarch added a commit to SimplyCredit/phantomjs2 that referenced this issue Dec 16, 2015

webmonarch added a commit to SimplyCredit/phantomjs2 that referenced this issue Dec 16, 2015

@zackw zackw modified the milestones: Release 2.0.1, Release 2.1 Dec 23, 2015

@jeanlucaslima

This comment has been minimized.

Show comment
Hide comment
@jeanlucaslima

jeanlucaslima Dec 26, 2015

Is it solved? Any help needed?

Is it solved? Any help needed?

@Vanuan

This comment has been minimized.

Show comment
Hide comment
@Vanuan

Vanuan Dec 26, 2015

@jeanleonino I don't think it's solved. An official phantomjs 2.x binary for Linux is still missing.

Vanuan commented Dec 26, 2015

@jeanleonino I don't think it's solved. An official phantomjs 2.x binary for Linux is still missing.

@Vanuan

This comment has been minimized.

Show comment
Hide comment
@Vanuan

Vanuan Dec 26, 2015

On the other hand, it looks like being fixed in #13822

Vanuan commented Dec 26, 2015

On the other hand, it looks like being fixed in #13822

@bprodoehl

This comment has been minimized.

Show comment
Hide comment
@bprodoehl

bprodoehl Dec 26, 2015

Work is ongoing in #13822, and it sounds really close.

On Saturday, December 26, 2015, John Yani notifications@github.com wrote:

@jeanleonino https://github.com/jeanleonino I don't think so. An
official phantomjs 2.x binary for Linux is still missing.


Reply to this email directly or view it on GitHub
#12948 (comment).

http://www.connectify.me/

This email message is for the sole use of the intended recipient(s) and may
contain Connectify confidential or privileged information. Any unauthorized
review, use, disclosure or distribution is prohibited. If you are not an
intended recipient, please contact the sender by reply email and destroy
all copies of the original message.

Work is ongoing in #13822, and it sounds really close.

On Saturday, December 26, 2015, John Yani notifications@github.com wrote:

@jeanleonino https://github.com/jeanleonino I don't think so. An
official phantomjs 2.x binary for Linux is still missing.


Reply to this email directly or view it on GitHub
#12948 (comment).

http://www.connectify.me/

This email message is for the sole use of the intended recipient(s) and may
contain Connectify confidential or privileged information. Any unauthorized
review, use, disclosure or distribution is prohibited. If you are not an
intended recipient, please contact the sender by reply email and destroy
all copies of the original message.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Dec 27, 2015

Owner

The solution is to use Docker. The binaries will be provided in the next release 2.1 (when? whenever it's ready!). For further details, refer to #13822 and/or consult the mailing-list.

Owner

ariya commented Dec 27, 2015

The solution is to use Docker. The binaries will be provided in the next release 2.1 (when? whenever it's ready!). For further details, refer to #13822 and/or consult the mailing-list.

@ariya ariya closed this Dec 27, 2015

@jeanlucaslima

This comment has been minimized.

Show comment
Hide comment
@jeanlucaslima

jeanlucaslima Dec 27, 2015

@ariya Thanks, and thanks for closing. 👍

@ariya Thanks, and thanks for closing. 👍

@iSuslov

This comment has been minimized.

Show comment
Hide comment
@iSuslov

iSuslov Jan 6, 2016

Guys please make it finally for Ubuntu! It's almost a year since we don't have it. I tried building from binaries, and after 15 hours I still don't have it working!

iSuslov commented Jan 6, 2016

Guys please make it finally for Ubuntu! It's almost a year since we don't have it. I tried building from binaries, and after 15 hours I still don't have it working!

@sproffer

This comment has been minimized.

Show comment
Hide comment
@sproffer

sproffer Jan 6, 2016

For ubuntu, take a look at below page :
https://github.com/bprodoehl/phantomjs/releases
On Jan 5, 2016 10:31 PM, "Ivan Suslov" notifications@github.com wrote:

Guys please make it finally for Ubuntu! It's almost a year since we don't
have it. I tried building from binaries, and after 15 hours I still don't
have it working!


Reply to this email directly or view it on GitHub
#12948 (comment).

sproffer commented Jan 6, 2016

For ubuntu, take a look at below page :
https://github.com/bprodoehl/phantomjs/releases
On Jan 5, 2016 10:31 PM, "Ivan Suslov" notifications@github.com wrote:

Guys please make it finally for Ubuntu! It's almost a year since we don't
have it. I tried building from binaries, and after 15 hours I still don't
have it working!


Reply to this email directly or view it on GitHub
#12948 (comment).

@iSuslov

This comment has been minimized.

Show comment
Hide comment
@iSuslov

iSuslov Jan 6, 2016

Thank you very much! It works!

iSuslov commented Jan 6, 2016

Thank you very much! It works!

@Vanuan

This comment has been minimized.

Show comment
Hide comment
@Vanuan

Vanuan Jan 6, 2016

Ubuntu is trivial. The problem is with CentOS 6.

Vanuan commented Jan 6, 2016

Ubuntu is trivial. The problem is with CentOS 6.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Jan 7, 2016

Owner

Here is a summarized list of several alternatives for everyone.

If you can wait for an official Linux binary, watch for the next release of version 2.1. Follow #12970 for further detailed updates.

If you can't wait and you want to run PhantomJS on your own Linux system:

  • compile it yourself per the instruction given in http://phantomjs.org/build.html
  • unable to compile it yourself due to various reasons? Find a person you can trust to compile it for you

Note on trust: While you may have a certain level of trust on your Linux distribution, its packagers, or the folks behind PhantomJS, you need to be cautious in extending that trust to anyone (especially on the Intertubes). Downloading and running an executable from a random person is not necessary the best security practice.

If you want to find a way to build PhantomJS Linux binary statically:

  • learn the Docker workflow described in #13822, or
  • follow the instruction in the README

I believe that everyone's needs can be fulfilled with one of the above paths.

Let's stop this thread for everyone's benefit.

Owner

ariya commented Jan 7, 2016

Here is a summarized list of several alternatives for everyone.

If you can wait for an official Linux binary, watch for the next release of version 2.1. Follow #12970 for further detailed updates.

If you can't wait and you want to run PhantomJS on your own Linux system:

  • compile it yourself per the instruction given in http://phantomjs.org/build.html
  • unable to compile it yourself due to various reasons? Find a person you can trust to compile it for you

Note on trust: While you may have a certain level of trust on your Linux distribution, its packagers, or the folks behind PhantomJS, you need to be cautious in extending that trust to anyone (especially on the Intertubes). Downloading and running an executable from a random person is not necessary the best security practice.

If you want to find a way to build PhantomJS Linux binary statically:

  • learn the Docker workflow described in #13822, or
  • follow the instruction in the README

I believe that everyone's needs can be fulfilled with one of the above paths.

Let's stop this thread for everyone's benefit.

@EFF

This comment has been minimized.

Show comment
Hide comment
@EFF

EFF Jan 21, 2016

@sproffer got it working pretty easily on aws lambda with your centos7 build, thanks for the good work !

EFF commented Jan 21, 2016

@sproffer got it working pretty easily on aws lambda with your centos7 build, thanks for the good work !

MatousJobanek added a commit to qa/arquillian-phantom-binary that referenced this issue Jan 22, 2016

Update to PhantomJS 2.0.0 (Linux binaries are excluded)
Linux binaries exclusion - for more information see:
ariya/phantomjs#12948
@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Aug 6, 2016

I am wanting to build PhantomJS for an ARMv7 Debian-based distro and output a static binary, I don't need a .deb file. There's a lot of noise on the thread you tell us to read.. can you point me at a Dockerfile or a clear set of instructions please? @ariya

I am wanting to build PhantomJS for an ARMv7 Debian-based distro and output a static binary, I don't need a .deb file. There's a lot of noise on the thread you tell us to read.. can you point me at a Dockerfile or a clear set of instructions please? @ariya

@zowers

This comment has been minimized.

Show comment
Hide comment
@zowers

zowers Aug 6, 2016

@alexellis as described in https://github.com/ariya/phantomjs/tree/master/deploy

Once you have Docker installed, run these commands from the top level of the PhantomJS source repository:

 $ git clean -xfd .
 $ docker run -v $PWD:/src debian:wheezy /src/deploy/docker-build.sh

zowers commented Aug 6, 2016

@alexellis as described in https://github.com/ariya/phantomjs/tree/master/deploy

Once you have Docker installed, run these commands from the top level of the PhantomJS source repository:

 $ git clean -xfd .
 $ docker run -v $PWD:/src debian:wheezy /src/deploy/docker-build.sh
@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Aug 6, 2016

So there are no instructions for ARM processors? Is there any reason why you don't have a Dockerfile, too?

So there are no instructions for ARM processors? Is there any reason why you don't have a Dockerfile, too?

@wizardyhnr

This comment has been minimized.

Show comment
Hide comment
@wizardyhnr

wizardyhnr Aug 6, 2016

I have written a blog regarding cross compile armv7 binary in docker. You
can have a look at that:
http://wizardyhnr.blogspot.com/2016/04/how-to-build-cross-compliatio.html?m=1

On Sat, Aug 6, 2016 at 10:03 AM Alex Ellis notifications@github.com wrote:

So there are no instructions for ARM processors? Is there any reason why
you don't have a Dockerfile, too?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#12948 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHBcny-qnv5J44UEif5IFlVyZ7bM-elcks5qdJRLgaJpZM4DbY7J
.

I have written a blog regarding cross compile armv7 binary in docker. You
can have a look at that:
http://wizardyhnr.blogspot.com/2016/04/how-to-build-cross-compliatio.html?m=1

On Sat, Aug 6, 2016 at 10:03 AM Alex Ellis notifications@github.com wrote:

So there are no instructions for ARM processors? Is there any reason why
you don't have a Dockerfile, too?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#12948 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHBcny-qnv5J44UEif5IFlVyZ7bM-elcks5qdJRLgaJpZM4DbY7J
.

@markusschlebusch

This comment has been minimized.

Show comment
Hide comment
@markusschlebusch

markusschlebusch Nov 17, 2016

Is there any description how to build a PhantomJS version on Ubuntu with static dependencies (especially libicu) based on the latest sources?

markusschlebusch commented Nov 17, 2016

Is there any description how to build a PhantomJS version on Ubuntu with static dependencies (especially libicu) based on the latest sources?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.