sgerrand / alpine-pkg-glibc

A glibc compatibility layer package for Alpine Linux
2.07k stars 280 forks source link

phantomjs not working #13

Closed Vanuan closed 7 years ago

Vanuan commented 8 years ago

ldd /build/node_modules/phantomjs/lib/phantom/bin/phantomjs'

    /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x7fa68b35e000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x7fa68b127000)
    libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
    librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7fa68add7000)
    libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7fa68abc4000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa68b60e000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /build/node_modules/phantomjs/lib/phantom/bin/phantomjs)
    libz.so.1 => /lib/libz.so.1 (0x7fa68a9ae000)
    libpng16.so.16 => /usr/lib/libpng16.so.16 (0x7fa68a781000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x7fa68a561000)
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: isinf: symbol not found
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: __strtod_internal: symbol not found
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: __finitef: symbol not found
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: __isnanf: symbol not found
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: __finite: symbol not found
Error relocating /build/node_modules/phantomjs/lib/phantom/bin/phantomjs: getcontext: symbol not found
Vanuan commented 8 years ago

Downloaded from here: https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2

Vanuan commented 8 years ago

With 2.1.1:

Error relocating phantom/bin/phantomjs: backtrace: symbol not found
Error relocating phantom/bin/phantomjs: backtrace_symbols: symbol not found
Error relocating phantom/bin/phantomjs: __rawmemchr: symbol not found
andyshinn commented 8 years ago

Ah phantomjs... the bane of my existence...

Fabio Rehm got pretty close (working?) on musl at https://github.com/fgrehm/docker-phantomjs2. I'll see if I can figure out where these symbols are supposed to come from. Maybe this weekend.

Vanuan commented 8 years ago

backtace thing is here: https://github.com/ariya/phantomjs/issues/14043 But that's a compile-time fix.

backtrace(), backtrace_symbols(), and backtrace_symbols_fd() are GNU extensions, are provided in glibc since version 2.1.

__rawmemchr seem to be common for all binaries compiled with glibc.

The rawmemchr() function is a GNU extension, available since glibc 2.1.

Vanuan commented 8 years ago

Maybe this gives some clue:

nm -D /usr/glibc-compat/lib/libc-2.23.so|grep backtrace
00000000000f17b0 T __backtrace
00000000000f1880 T __backtrace_symbols
00000000000f1b40 T __backtrace_symbols_fd
00000000000f17b0 W backtrace
00000000000f1880 W backtrace_symbols
00000000000f1b40 W backtrace_symbols_fd
nm -D /usr/glibc-compat/lib/libc-2.23.so|grep rawmemchr
0000000000087680 T __rawmemchr
0000000000087680 W rawmemchr

ldd phantomjs output:

/lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
libz.so.1 => /lib/libz.so.1 (0x7f8a93669000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x7f8a93432000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x7f8a93182000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f8a92e32000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f8a92c1f000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f8a9387f000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /src/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x7f8a929ff000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x7f8a927d2000)

Why does it all point to /lib64/ld-linux-x86-64.so.2? I thought it should be more like /usr/glibc-compat/lib/libc.so.6?

Vanuan commented 8 years ago

I have this on ubuntu:

nm -D /lib/x86_64-linux-gnu/libc-2.19.so | grep rawmemch
00000000000938b0 T rawmemchr
00000000000938b0 T __rawmemchr
nm -D /lib/x86_64-linux-gnu/libc-2.19.so | grep backtrace
000000000010add0 W backtrace
000000000010add0 T __backtrace
000000000010af40 T __backtrace_symbols
000000000010af40 W backtrace_symbols
000000000010b200 T __backtrace_symbols_fd
000000000010b200 W backtrace_symbols_fd

Looks almost the same

Vanuan commented 8 years ago

Is this expected?

cd /usr/glibc-compat/lib
ldd libc-2.23.so
    /usr/glibc-compat/lib/ld-linux-x86-64.so.2 (0x7f7055341000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by libc-2.23.so)
cristobal commented 8 years ago

Seems to me that /usr/glibc-compat/lib is not compiled to find it's dependencies in /usr/glibc-compat/lib.If I go to the directory above and run ldd on libc-2.23.so i get the same output as the comment above.

However if I set the LD_LIBRARY_PATH=/usr/glibc-compat/lib/ i get the following output i.e.:

> LD_LIBRARY_PATH=/usr/glibc-compat/lib  ldd /usr/glibc-compat/lib/libc-2.23.so
    /usr/glibc-compat/lib/ld-linux-x86-64.so.2 (0x555ded900000)
    ld-linux-x86-64.so.2 => /usr/glibc-compat/lib/ld-linux-x86-64.so.2 (0x7f243f298000)
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: unsupported relocation type 37
Error relocating libc-2.23.so: _res: symbol not found
Error relocating libc-2.23.so: __ctype32_tolower: symbol not found
Error relocating libc-2.23.so: __ctype_tolower: symbol not found
Error relocating libc-2.23.so: __ctype_toupper: symbol not found
Error relocating libc-2.23.so: __ctype_b: symbol not found
Error relocating libc-2.23.so: __ctype32_b: symbol not found
Error relocating libc-2.23.so: __ctype32_toupper: symbol not found

It still seems that some dependencies are not correctly compiled or not found where they should be...

cristobal commented 8 years ago

I am trying to get another library to work with glibc and it seems these problems may be related or not.

The library i am trying to get the Oracle Instantclient with nodejs on Alpine this works with our previous Dockerfile based on debian.

This is the recipe more or less https://gist.github.com/cristobal/726af571b0c4112ef907f769332184b1 But when i run ldd on /opt/oracle/instantclient/libclntsh.so i get the following output i.e.:

> LD_LIBRARY_PATH=/opt/oracle/instantclient:/usr/glibc-compat/lib/ ldd /opt/oracle/instantclient/libclntsh.so
    ldd (0x55999781d000)
    libmql1.so => /opt/oracle/instantclient/libmql1.so (0x7fc88a6c1000)
    libipc1.so => /opt/oracle/instantclient/libipc1.so (0x7fc88a343000)
    libnnz12.so => /opt/oracle/instantclient/libnnz12.so (0x7fc889c39000)
    libons.so => /opt/oracle/instantclient/libons.so (0x7fc8899f4000)
    libdl.so.2 => ldd (0x55999781d000)
    libm.so.6 => ldd (0x55999781d000)
    libpthread.so.0 => ldd (0x55999781d000)
    libnsl.so.1 => /usr/glibc-compat/lib//libnsl.so.1 (0x7fc8897dc000)
    librt.so.1 => ldd (0x55999781d000)
    libc.so.6 => ldd (0x55999781d000)
    ld-linux-x86-64.so.2 => /usr/glibc-compat/lib//ld-linux-x86-64.so.2 (0x7fc8895b8000)
    libaio.so.1 => /usr/lib/libaio.so.1 (0x7fc8893b6000)
    libclntshcore.so.12.1 => /opt/oracle/instantclient/libclntshcore.so.12.1 (0x7fc888e44000)
Error relocating /opt/oracle/instantclient/libipc1.so: __cmsg_nxthdr: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __asprintf: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_getreq_poll: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __poll: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_pcreateerror: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_decode: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdrmem_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_char: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_pointer: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_opaque: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnttcp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authunix_create_default: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_array: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_enum: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_noproc: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: rawmemchr: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_string: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __strndup: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __dcgettext: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_systemerr: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __libc_clntudp_bufcreate: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_uint32_t: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __libc_rpc_getport: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bytes: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authdes_pk_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdrstdio_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_perror: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clntudp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: get_myaddress: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: host2netname: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svctcp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __rpc_thread_svc_max_pollfd: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_netobj: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_free: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xprt_unregister: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: key_secretkey_is_set: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bool: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __rpc_thread_svc_pollfd: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: key_gendes: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_register: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_sizeof: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authdes_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_sendreply: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcudp_bufcreate: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: errno: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_void: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: _libc_intl_domainname: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_netobj: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bool: symbol not found
Error relocating /opt/oracle/instantclient/libclntsh.so: canonicalize_file_name: symbol not found
Error relocating /opt/oracle/instantclient/libclntsh.so: getcontext: symbol not found
Error relocating /opt/oracle/instantclient/libclntsh.so: bindresvport: symbol not found
Error relocating /opt/oracle/instantclient/libclntsh.so: __finite: symbol not found

From the output above it seems that libnsl.so.1 is missing some dependencies Running an ldd on /usr/glibc-compat/lib//libnsl.so.1 we get the following output i.e.:

> LD_LIBRARY_PATH=usr/glibc-compat/lib/ ldd /usr/glibc-compat/lib//libnsl.so.1
    ldd (0x55e462462000)
    libc.so.6 => ldd (0x55e462462000)
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __asprintf: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_getreq_poll: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __poll: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_pcreateerror: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_decode: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdrmem_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_char: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_pointer: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_opaque: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnttcp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authunix_create_default: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_array: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_enum: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_noproc: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: rawmemchr: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_string: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __strndup: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __dcgettext: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcerr_systemerr: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __libc_clntudp_bufcreate: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_uint32_t: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __libc_rpc_getport: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bytes: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authdes_pk_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdrstdio_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_perror: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clntudp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: get_myaddress: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: host2netname: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svctcp_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __rpc_thread_svc_max_pollfd: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: clnt_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_netobj: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_free: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xprt_unregister: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: key_secretkey_is_set: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bool: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: __rpc_thread_svc_pollfd: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: key_gendes: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_register: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_sizeof: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: authdes_create: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svc_sendreply: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: svcudp_bufcreate: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: errno: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_void: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_u_int: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: _libc_intl_domainname: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_netobj: symbol not found
Error relocating /usr/glibc-compat/lib//libnsl.so.1: xdr_bool: symbol not found

My thoughts either glibc is not compiled correctly with prefix and where it should find it dependencies or it's missing a bunch of dependencies...

ZivRechnitser commented 8 years ago

@cristobal Any news about this issue (oracle Instantclient)? I'm having the same problem here.

cristobal commented 8 years ago

@zivbaz none at all will look more into glibc stuff later this week. Had to put this issue on halt for the time being we use node oracledb at work with an Debian Image which we were hoping to replace.

Was hoping for some feedback from @andyshinn but still no response, i guess this will be solved at some point later. Keep you posted :)

andyshinn commented 8 years ago

I've got limited time to support this package at the moment. I can help with tweaks to the package or in the binary builder if someone can point me in the right direction. But I've already spent a lot of late nights playing with PhantomJS and Alpine a while ago to no avail.

cristobal commented 8 years ago

@andyshinn will give it a try this weekend

Flowman commented 8 years ago

Any update on this as the newrelic agent needs the trace_symbols_fd from glibc.

sgerrand commented 8 years ago

📝 I'll put some time into investigating this issue tomorrow.

abcfy2 commented 8 years ago

Same here. Here is my Dockerfile:

FROM alpine

RUN apk update && apk add fontconfig libstdc++ libc6-compat openssl

Then use wget to download phantomjs from https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2. Finally, I get the same error:

 ldd phantomjs 
    /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    libz.so.1 => /lib/libz.so.1 (0x7f310f8b1000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x7f310f676000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x7f310f3c7000)
    libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f310f077000)
    libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f310ee64000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x562a63717000)
    ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7f310ebd8000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x7f310e9b8000)
    libpng16.so.16 => /usr/lib/libpng16.so.16 (0x7f310e78b000)
Error relocating phantomjs: backtrace: symbol not found
Error relocating phantomjs: backtrace_symbols: symbol not found
Error relocating phantomjs: __rawmemchr: symbol not found
day0ops commented 8 years ago

Any update on this issue ?

Overbryd commented 8 years ago

I got a working alpine phantomjs binary release. Maybe that helps. The repository comes with the Docker image that builds the release.

RUN apk update && apk add --no-cache fontconfig && \
  mkdir -p /usr/share && \
  cd /usr/share \
  && curl -L https://github.com/Overbryd/docker-phantomjs-alpine/releases/download/2.11/phantomjs-alpine-x86_64.tar.bz2 | tar xj \
  && ln -s /usr/share/phantomjs/phantomjs /usr/bin/phantomjs

See here https://github.com/Overbryd/docker-phantomjs-alpine/releases/tag/2.11

berliner commented 8 years ago

Is that actually working for you? Using the code you have pasted, I can successfully include phantomjs in my container, have the binary accessible and even run phantomjs -v which correctly reports 2.1.1, but running the most minimal hello world snippet fails:

console.log('Hello, world!');
phantom.exit();

When run with the debug flag set, I can see that it hangs at

...
2016-08-23T11:59:27 [DEBUG] Phantom - execute: Script & Arguments
2016-08-23T11:59:27 [DEBUG]      script: "/tmp/hello.js" 
2016-08-23T11:59:27 [DEBUG] Phantom - execute: Starting normal mode
2016-08-23T11:59:27 [DEBUG] WebPage - setupFrame "" 

Looks like the problem described here: https://github.com/ariya/phantomjs/issues/14186

matti commented 8 years ago

same here.

On 26 Aug 2016, at 11:49, berliner notifications@github.com wrote:

Is that actually working for you? Using the code you have pasted, I can successfully include phantomjs in my container, have the binary accessible and even run phantomjs -v which correctly reports 2.1.1, but running the most minimal hello world snippet fails:

console.log('Hello, world!'); phantom.exit(); When run with the debug flag set, I can see that it hangs at

... 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Script & Arguments 2016-08-23T11:59:27 [DEBUG] script: "/tmp/hello.js" 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Starting normal mode 2016-08-23T11:59:27 [DEBUG] WebPage - setupFrame "" Looks like the problem described here: ariya/phantomjs#14186

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

Overbryd commented 8 years ago

Hi, I encountered the same issues. Sorry, I think we are close but not there yet. I was announcing that way too early.

Lukas

Am Freitag, 26. August 2016 schrieb Matti Paksula :

same here.

On 26 Aug 2016, at 11:49, berliner <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

Is that actually working for you? Using the code you have pasted, I can successfully include phantomjs in my container, have the binary accessible and even run phantomjs -v which correctly reports 2.1.1, but running the most minimal hello world snippet fails:

console.log('Hello, world!'); phantom.exit(); When run with the debug flag set, I can see that it hangs at

... 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Script & Arguments 2016-08-23T11:59:27 [DEBUG] script: "/tmp/hello.js" 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Starting normal mode 2016-08-23T11:59:27 [DEBUG] WebPage - setupFrame "" Looks like the problem described here: ariya/phantomjs#14186

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sgerrand/alpine-pkg-glibc/issues/13#issuecomment-242698705, or mute the thread https://github.com/notifications/unsubscribe-auth/AABSd49iLU1ptskaHQr0iiFnGM2iEtvXks5qjsQtgaJpZM4HrdA- .

matti commented 8 years ago

Much simpler test is just to go in to the container and start phantomjs repl.

it doesnt evaluate anything.

On 26 Aug 2016, at 13:54, Lukas Rieder notifications@github.com wrote:

Hi, I encountered the same issues. Sorry, I think we are close but not there yet. I was announcing that way too early.

Lukas

Am Freitag, 26. August 2016 schrieb Matti Paksula :

same here.

On 26 Aug 2016, at 11:49, berliner <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

Is that actually working for you? Using the code you have pasted, I can successfully include phantomjs in my container, have the binary accessible and even run phantomjs -v which correctly reports 2.1.1, but running the most minimal hello world snippet fails:

console.log('Hello, world!'); phantom.exit(); When run with the debug flag set, I can see that it hangs at

... 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Script & Arguments 2016-08-23T11:59:27 [DEBUG] script: "/tmp/hello.js" 2016-08-23T11:59:27 [DEBUG] Phantom - execute: Starting normal mode 2016-08-23T11:59:27 [DEBUG] WebPage - setupFrame "" Looks like the problem described here: ariya/phantomjs#14186

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sgerrand/alpine-pkg-glibc/issues/13#issuecomment-242698705, or mute the thread https://github.com/notifications/unsubscribe-auth/AABSd49iLU1ptskaHQr0iiFnGM2iEtvXks5qjsQtgaJpZM4HrdA- .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

bmulcahy commented 7 years ago

@cristobal Did you ever get node oracledb to work with the glibc? I am running into the same problems.

sgerrand commented 7 years ago

I don't think this will ever work unless somebody can patch phantomjs to compile successfully against musl-libc. I'd recommend using chromium-chromedriver for testing web applications instead.