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

Support Solaris (and also Joyent SmartOS) #10521

Closed
ariya opened this Issue May 2, 2012 · 83 comments

Comments

Projects
None yet
@ariya
Owner

ariya commented May 2, 2012

ariya.hi...@gmail.com commented:

Currently Solaris, and hence also Solaris-based SmartOS from Joyent, is not supported.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #521.
🌟   5 people had starred this issue at the time of migration.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Sep 27, 2012

Owner

j...@spandex.io commented:

Any updates on this? What's required to support Solaris?

Owner

ariya commented Sep 27, 2012

j...@spandex.io commented:

Any updates on this? What's required to support Solaris?

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Sep 27, 2012

Owner

ariya.hi...@gmail.com commented:

There is no update. No Solaris expert has chimed in yet, therefore there is no data as to how hard it would be.

Owner

ariya commented Sep 27, 2012

ariya.hi...@gmail.com commented:

There is no update. No Solaris expert has chimed in yet, therefore there is no data as to how hard it would be.

@arlolra

This comment has been minimized.

Show comment
Hide comment
@arlolra

arlolra Oct 13, 2012

arlo...@gmail.com commented:

Joyent's SmartOS pkgsrc repo as of 2011Q4 contains version 1.4.1
http://pkgsrc.joyent.com/sdc/2011Q4/x86_64/All/phantomjs-1.4.1.tgz

arlolra commented Oct 13, 2012

arlo...@gmail.com commented:

Joyent's SmartOS pkgsrc repo as of 2011Q4 contains version 1.4.1
http://pkgsrc.joyent.com/sdc/2011Q4/x86_64/All/phantomjs-1.4.1.tgz

@tonyarkles

This comment has been minimized.

Show comment
Hide comment
@tonyarkles

tonyarkles Jan 12, 2013

t.ark...@gmail.com commented:

I'm just in the process of trying to figure out what needs to happen to make this work.

t.ark...@gmail.com commented:

I'm just in the process of trying to figure out what needs to happen to make this work.

@ghost ghost assigned ariya Mar 15, 2013

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

I'm trying to build phantomjs on solaris 11.1.
I'm able to create a mkspec file for solaris (freebsd-g++ spec can be used, all of the headers are in place,

#include <sys/filio.h>

must be added in qplatformdefs.h and I didn't figure out how to remove unsupported -Wl,-O1 from linker flags, so I just hacked the

QMAKE_LFLAGS_RELEASE +=

in g++-unix.conf).

amd64 version if failing to build early, in qt/corelib:

g++ -c -include .pch/release-static/QtCore -g -m64 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -pthread -D_THREAD_SAFE -fPIC -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 -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/solaris-cc -I. -I../../include -I../../include/QtCore -I.rcc/release-static -Iglobal -I../../tools/shared -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-static -I/usr/local/include -o .obj/release-static/qabstractanimation.o animation/qabstractanimation.cpp
/var/tmp//ccuQa4Sn.s: Assembler messages:
/var/tmp//ccuQa4Sn.s:622: Error: Incorrect register `%rbx' used with `l' suffix
make[1]: *** [.obj/release-static/qabstractanimation.o] Error 1
make[1]: Leaving direcory `/home/emz/src/phantomjs-1.9.0-amd64/src/qt/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
./build.sh: line 79: src/qt/bin/qmake: No such file or directory
Press any key to continue...

i386 version is able to build qt basic components, but is crashing while building qtwebkit:

In file included from ../../JavaScriptCore/wtf/CrossThreadRefCounted.h:37:0,
                 from ../../JavaScriptCore/wtf/text/StringImpl.h:28,
                 from ../../JavaScriptCore/runtime/UString.h:26,
                 from ../../JavaScriptCore/yarr/YarrPattern.h:30,
                 from ../../JavaScriptCore/yarr/YarrInterpreter.h:29,
                 from ../../JavaScriptCore/yarr/YarrInterpreter.cpp:28:
../../JavaScriptCore/wtf/Threading.h:116:12: error: ‘yield’ is already declared in this scope
make[2]: *** [.obj/release-static/YarrInterpreter.o] Error 1
make[2]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source/WebKit/qt'
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2
make[1]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2
./build.sh: line 79: src/qt/bin/qmake: No such file or directory

I tried to clone their repo (https://gitorious.org/+qtwebkit-developers/webkit/qtwebkit, as stated in README), but I had no luck at all while trying to build it - seems like they use some old configure.ac file - autogen.sh doesn't see my installed libtool and thus produces broken configure.

Any ideas ?

P.S. Can you clarify one thing for me - if I need phantomjs for my web-server (actually, for node.js integration) - and I have no X on my webserver, is there a way may be to build it without X ? I really feel like I don't need Qt at all. I thought 'headless' assumes 'no graphical toolkit'.

drook commented Apr 14, 2013

I'm trying to build phantomjs on solaris 11.1.
I'm able to create a mkspec file for solaris (freebsd-g++ spec can be used, all of the headers are in place,

#include <sys/filio.h>

must be added in qplatformdefs.h and I didn't figure out how to remove unsupported -Wl,-O1 from linker flags, so I just hacked the

QMAKE_LFLAGS_RELEASE +=

in g++-unix.conf).

amd64 version if failing to build early, in qt/corelib:

g++ -c -include .pch/release-static/QtCore -g -m64 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -pthread -D_THREAD_SAFE -fPIC -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 -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SSE4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/solaris-cc -I. -I../../include -I../../include/QtCore -I.rcc/release-static -Iglobal -I../../tools/shared -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-static -I/usr/local/include -o .obj/release-static/qabstractanimation.o animation/qabstractanimation.cpp
/var/tmp//ccuQa4Sn.s: Assembler messages:
/var/tmp//ccuQa4Sn.s:622: Error: Incorrect register `%rbx' used with `l' suffix
make[1]: *** [.obj/release-static/qabstractanimation.o] Error 1
make[1]: Leaving direcory `/home/emz/src/phantomjs-1.9.0-amd64/src/qt/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
./build.sh: line 79: src/qt/bin/qmake: No such file or directory
Press any key to continue...

i386 version is able to build qt basic components, but is crashing while building qtwebkit:

In file included from ../../JavaScriptCore/wtf/CrossThreadRefCounted.h:37:0,
                 from ../../JavaScriptCore/wtf/text/StringImpl.h:28,
                 from ../../JavaScriptCore/runtime/UString.h:26,
                 from ../../JavaScriptCore/yarr/YarrPattern.h:30,
                 from ../../JavaScriptCore/yarr/YarrInterpreter.h:29,
                 from ../../JavaScriptCore/yarr/YarrInterpreter.cpp:28:
../../JavaScriptCore/wtf/Threading.h:116:12: error: ‘yield’ is already declared in this scope
make[2]: *** [.obj/release-static/YarrInterpreter.o] Error 1
make[2]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source/WebKit/qt'
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2
make[1]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2
./build.sh: line 79: src/qt/bin/qmake: No such file or directory

I tried to clone their repo (https://gitorious.org/+qtwebkit-developers/webkit/qtwebkit, as stated in README), but I had no luck at all while trying to build it - seems like they use some old configure.ac file - autogen.sh doesn't see my installed libtool and thus produces broken configure.

Any ideas ?

P.S. Can you clarify one thing for me - if I need phantomjs for my web-server (actually, for node.js integration) - and I have no X on my webserver, is there a way may be to build it without X ? I really feel like I don't need Qt at all. I thought 'headless' assumes 'no graphical toolkit'.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

By the way, this particular error can be fixed commenting out this 'yield' declaration, but then it crashes on:

../../JavaScriptCore/heap/MachineStackMarker.cpp:120:13: warning: unused parameter ‘signo’
../../JavaScriptCore/heap/MachineStackMarker.cpp: In function ‘size_t JSC::getPlatformThreadRegisters(const JSC::PlatformThread&, JSC::PlatformThreadRegisters&)’:
../../JavaScriptCore/heap/MachineStackMarker.cpp:387:45: error: ‘pthread_getattr_np’ was not declared in this scope
make[2]: *** [.obj/release-static/MachineStackMarker.o] Error 1
make[2]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source/WebKit/qt'
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2
make[1]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2

And this seems unfixable regarding my skills.

drook commented Apr 14, 2013

By the way, this particular error can be fixed commenting out this 'yield' declaration, but then it crashes on:

../../JavaScriptCore/heap/MachineStackMarker.cpp:120:13: warning: unused parameter ‘signo’
../../JavaScriptCore/heap/MachineStackMarker.cpp: In function ‘size_t JSC::getPlatformThreadRegisters(const JSC::PlatformThread&, JSC::PlatformThreadRegisters&)’:
../../JavaScriptCore/heap/MachineStackMarker.cpp:387:45: error: ‘pthread_getattr_np’ was not declared in this scope
make[2]: *** [.obj/release-static/MachineStackMarker.o] Error 1
make[2]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source/WebKit/qt'
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2
make[1]: Leaving directory `/home/emz/src/phantomjs-1.9.0/src/qt/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2

And this seems unfixable regarding my skills.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

Seems like it can be easily fixed too, after that there's only one crash point which requires --std=c99.

I have build the phantomjs, the binary is working.

drook commented Apr 14, 2013

Seems like it can be easily fixed too, after that there's only one crash point which requires --std=c99.

I have build the phantomjs, the binary is working.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

Just a note about fixing:

‘pthread_getattr_np’ was not declared in this scope

can be fixed by adding

pthread_attr_init(&regs);

in the last branch, which Solaris compiler seem to be falling into. This branch doesn't contain proper code and is marked as FIXME.

So the whole piece should look like this:

#elif OS(WINDOWS)
    regs.ContextFlags = CONTEXT_INTEGER | CONTEXT_CONTROL | CONTEXT_SEGMENTS;
    GetThreadContext(platformThread, &regs);
    return sizeof(CONTEXT);
#elif USE(PTHREADS)
    pthread_attr_init(&regs);
#if HAVE(PTHREAD_NP_H) || OS(NETBSD)
    // e.g. on FreeBSD 5.4, neundorf@kde.org
    pthread_attr_get_np(platformThread, &regs);
#else
    // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
    //pthread_getattr_np(platformThread, &regs);
    pthread_attr_init(&regs);
#endif
    return 0;
#else
#error Need a way to get thread registers on this platform
#endif

drook commented Apr 14, 2013

Just a note about fixing:

‘pthread_getattr_np’ was not declared in this scope

can be fixed by adding

pthread_attr_init(&regs);

in the last branch, which Solaris compiler seem to be falling into. This branch doesn't contain proper code and is marked as FIXME.

So the whole piece should look like this:

#elif OS(WINDOWS)
    regs.ContextFlags = CONTEXT_INTEGER | CONTEXT_CONTROL | CONTEXT_SEGMENTS;
    GetThreadContext(platformThread, &regs);
    return sizeof(CONTEXT);
#elif USE(PTHREADS)
    pthread_attr_init(&regs);
#if HAVE(PTHREAD_NP_H) || OS(NETBSD)
    // e.g. on FreeBSD 5.4, neundorf@kde.org
    pthread_attr_get_np(platformThread, &regs);
#else
    // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
    //pthread_getattr_np(platformThread, &regs);
    pthread_attr_init(&regs);
#endif
    return 0;
#else
#error Need a way to get thread registers on this platform
#endif
@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

"Hello world" script does work, the google rendering also works - http://tech.hq.norma.perm.ru/files/google.png (rendered on Solaris, with cyrillic locale). Fonts are ugly, but I think this can be fixed somehow, right ?

drook commented Apr 14, 2013

"Hello world" script does work, the google rendering also works - http://tech.hq.norma.perm.ru/files/google.png (rendered on Solaris, with cyrillic locale). Fonts are ugly, but I think this can be fixed somehow, right ?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

Got it. Since qtwebkit uses default fontconfig, I made a couple of screenshots with TTF fonts enabled. First uses default rendering settings, second uses some tweaks like AA/hints.

http://tech.hq.norma.perm.ru/files/google-fonts.png
http://tech.hq.norma.perm.ru/files/google-custom-config.png

drook commented Apr 14, 2013

Got it. Since qtwebkit uses default fontconfig, I made a couple of screenshots with TTF fonts enabled. First uses default rendering settings, second uses some tweaks like AA/hints.

http://tech.hq.norma.perm.ru/files/google-fonts.png
http://tech.hq.norma.perm.ru/files/google-custom-config.png

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Apr 14, 2013

Owner

@drook Good news! Looking forward to seeing the patch.

Owner

ariya commented Apr 14, 2013

@drook Good news! Looking forward to seeing the patch.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 14, 2013

I'm not that good at patching; will a "raw solaris patch" be enough ? You know, a patch which will still require some manual intervention when building, and will also probably break other platforms, so someone will need to look at it and make if fit for the general codebase.

I can also provide packaged binaries for Solaris 11.0 and 11.1 (x86). I could provide Solaris 10 x86 binaries also, but I think they will be compiler-dependant (I'm sure this won't build with the default 3.4.3, so it needs some modern gcc), when it concerns libgcc_s.so.1.

drook commented Apr 14, 2013

I'm not that good at patching; will a "raw solaris patch" be enough ? You know, a patch which will still require some manual intervention when building, and will also probably break other platforms, so someone will need to look at it and make if fit for the general codebase.

I can also provide packaged binaries for Solaris 11.0 and 11.1 (x86). I could provide Solaris 10 x86 binaries also, but I think they will be compiler-dependant (I'm sure this won't build with the default 3.4.3, so it needs some modern gcc), when it concerns libgcc_s.so.1.

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Apr 15, 2013

Owner

@drook Well, just a patch which shows the modification you make will be a start. That way, every one else can have a look and ensure that it doesn't cause problems for other platforms.

Owner

ariya commented Apr 15, 2013

@drook Well, just a patch which shows the modification you make will be a start. That way, every one else can have a look and ensure that it doesn't cause problems for other platforms.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 15, 2013

So....

Patch:
http://tech.hq.norma.perm.ru/files/phantomjs.solaris.diff

Test pic (made with a phantomjs binary, compiled after patching, zero manual intervention):
http://tech.hq.norma.perm.ru/files/google-patched.png

Comments:
I refined the "raw" patch, and to my knowledge, right now it should not break building on other platforms (but still can). I'm bothered only by the problem in src/qt/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp - to my knowledge, the issue with

/../JavaScriptCore/wtf/Threading.h:116:12: error: ‘yield’ is already declared in this scope

should also fire on Linux too, since the gcc is the same:

[root@hyperion bin]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/gcc/4.5/lib/gcc/i386-pc-solaris2.11/4.5.2/lto-wrapper
Target: i386-pc-solaris2.11
Configured with: /builds/hudson/workspace/nightly-update/build/i386/components/gcc45/gcc-4.5.2/configure CC=/ws/on11update-tools/SUNWspro/sunstudio12.1/bin/cc CXX=/ws/on11update-tools/SUNWspro/sunstudio12.1/bin/CC --prefix=/usr/gcc/4.5 --mandir=/usr/gcc/4.5/share/man --bindir=/usr/gcc/4.5/bin --libdir=/usr/gcc/4.5/lib --sbindir=/usr/gcc/4.5/sbin --infodir=/usr/gcc/4.5/share/info --libexecdir=/usr/gcc/4.5/lib --enable-languages=c,c++,fortran,objc --enable-shared --with-gmp-include=/usr/include/gmp --with-mpfr-include=/usr/include/mpfr --without-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as --with-as=/usr/gnu/bin/as CFLAGS='-g -O2 '
Thread model: posix
gcc version 4.5.2 (GCC)

So in this file I commented out the troubled line unconditionally. May be it's worth testing on other gcc versions.
In other files I've added platfom-specific tweaks (as I understand them).

drook commented Apr 15, 2013

So....

Patch:
http://tech.hq.norma.perm.ru/files/phantomjs.solaris.diff

Test pic (made with a phantomjs binary, compiled after patching, zero manual intervention):
http://tech.hq.norma.perm.ru/files/google-patched.png

Comments:
I refined the "raw" patch, and to my knowledge, right now it should not break building on other platforms (but still can). I'm bothered only by the problem in src/qt/src/3rdparty/webkit/Source/JavaScriptCore/heap/MachineStackMarker.cpp - to my knowledge, the issue with

/../JavaScriptCore/wtf/Threading.h:116:12: error: ‘yield’ is already declared in this scope

should also fire on Linux too, since the gcc is the same:

[root@hyperion bin]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/gcc/4.5/lib/gcc/i386-pc-solaris2.11/4.5.2/lto-wrapper
Target: i386-pc-solaris2.11
Configured with: /builds/hudson/workspace/nightly-update/build/i386/components/gcc45/gcc-4.5.2/configure CC=/ws/on11update-tools/SUNWspro/sunstudio12.1/bin/cc CXX=/ws/on11update-tools/SUNWspro/sunstudio12.1/bin/CC --prefix=/usr/gcc/4.5 --mandir=/usr/gcc/4.5/share/man --bindir=/usr/gcc/4.5/bin --libdir=/usr/gcc/4.5/lib --sbindir=/usr/gcc/4.5/sbin --infodir=/usr/gcc/4.5/share/info --libexecdir=/usr/gcc/4.5/lib --enable-languages=c,c++,fortran,objc --enable-shared --with-gmp-include=/usr/include/gmp --with-mpfr-include=/usr/include/mpfr --without-gnu-ld --with-ld=/usr/bin/ld --with-gnu-as --with-as=/usr/gnu/bin/as CFLAGS='-g -O2 '
Thread model: posix
gcc version 4.5.2 (GCC)

So in this file I commented out the troubled line unconditionally. May be it's worth testing on other gcc versions.
In other files I've added platfom-specific tweaks (as I understand them).

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Apr 16, 2013

Owner

Looks like the patch is rather minimalistic. I'd give it a try on Linux and see if it still builds there.

Owner

ariya commented Apr 16, 2013

Looks like the patch is rather minimalistic. I'd give it a try on Linux and see if it still builds there.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 22, 2013

Hmm well I have the following - http://pastebin.com/E3jZSkAT.

Build "works" but something is defo not right.

ghost commented Apr 22, 2013

Hmm well I have the following - http://pastebin.com/E3jZSkAT.

Build "works" but something is defo not right.

@ghost

This comment has been minimized.

Show comment
Hide comment
@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 23, 2013

What Solaris is this ? So you just launch the binary and it crashes ?
Wanna try mine - http://files2.enaza.ru/phantomjs-1.9.0-sunos-x64.tar.bz2 ?

drook commented Apr 23, 2013

What Solaris is this ? So you just launch the binary and it crashes ?
Wanna try mine - http://files2.enaza.ru/phantomjs-1.9.0-sunos-x64.tar.bz2 ?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 23, 2013

That works lovely for me - you built for 32bit I see. I'm using SmartOS here (Illumos deriv). @drook if you've got the time I wouldn't mind a quick Skype or IRC with you to clear some things up that I maybe doing wrong in my build?

ghost commented Apr 23, 2013

That works lovely for me - you built for 32bit I see. I'm using SmartOS here (Illumos deriv). @drook if you've got the time I wouldn't mind a quick Skype or IRC with you to clear some things up that I maybe doing wrong in my build?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 23, 2013

Yeah, I didn't manage to set the build architecture properly, and using CFLAGS only the build crashes somewhere in the assembler stuff (obviously because of the wrong arch). Since this is only a static binary I decided that 32-bit binary would be just fine for a start.

Yeah, I will be glad to help - skype://tookie-lookie or irc://drook@RusNet.

drook commented Apr 23, 2013

Yeah, I didn't manage to set the build architecture properly, and using CFLAGS only the build crashes somewhere in the assembler stuff (obviously because of the wrong arch). Since this is only a static binary I decided that 32-bit binary would be just fine for a start.

Yeah, I will be glad to help - skype://tookie-lookie or irc://drook@RusNet.

@kigster

This comment has been minimized.

Show comment
Hide comment
@kigster

kigster Apr 24, 2013

+1 on SmartOS. Watching this thread, would love phantomjs to build on SmartOS. We are running a bunch of Ubuntu instances just for phantomjs. Thanks for all the hard work! :)

kigster commented Apr 24, 2013

+1 on SmartOS. Watching this thread, would love phantomjs to build on SmartOS. We are running a bunch of Ubuntu instances just for phantomjs. Thanks for all the hard work! :)

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 24, 2013

Did try to build native SmartOS 32-bit binary using the provided patch ? Without any additional CFLAGS/LDFLAGS in the environment.

drook commented Apr 24, 2013

Did try to build native SmartOS 32-bit binary using the provided patch ? Without any additional CFLAGS/LDFLAGS in the environment.

@kigster

This comment has been minimized.

Show comment
Hide comment
@kigster

kigster Apr 24, 2013

We run on 64bit OS images across the board. Would 32-bit binary work there?

kigster commented Apr 24, 2013

We run on 64bit OS images across the board. Would 32-bit binary work there?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Apr 24, 2013

Well.. it does on native Solaris, don't know about SmartOS.
At least this doesn't require any additional intervention or configuration on native Solaris.
Since SmartOS was initially created from a fork I think same rules apply to it.
It's worth giving a try at least. Khushil (two posts above) reported that my 32-bit binary from Solaris does work for him, so I think it will be working for you too, but it's more interesting being able to create binaries independently, right ?

drook commented Apr 24, 2013

Well.. it does on native Solaris, don't know about SmartOS.
At least this doesn't require any additional intervention or configuration on native Solaris.
Since SmartOS was initially created from a fork I think same rules apply to it.
It's worth giving a try at least. Khushil (two posts above) reported that my 32-bit binary from Solaris does work for him, so I think it will be working for you too, but it's more interesting being able to create binaries independently, right ?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 24, 2013

Absolutely works for me (many thanks drook).

I do want to build a 64 bit binary and put it into PKGSRC though and
hopefully anyone on Joyent will then be able to pkgin install it :-)


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 24 April 2013 08:48, drook notifications@github.com wrote:

Well.. it does on native Solaris, don't know about SmartOS.
At least this doesn't require any additional intervention or configuration
on native Solaris.
Since SmartOS was initially created from a fork I think same rules apply
to it.
It's worth giving a try at least. Khushil (two posts above) reported that
my 32-bit binary from Solaris does work for him, so I think it will be
working for you too, but it's more interesting being able to create
binaries independently, right ?


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-16912425
.

ghost commented Apr 24, 2013

Absolutely works for me (many thanks drook).

I do want to build a 64 bit binary and put it into PKGSRC though and
hopefully anyone on Joyent will then be able to pkgin install it :-)


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 24 April 2013 08:48, drook notifications@github.com wrote:

Well.. it does on native Solaris, don't know about SmartOS.
At least this doesn't require any additional intervention or configuration
on native Solaris.
Since SmartOS was initially created from a fork I think same rules apply
to it.
It's worth giving a try at least. Khushil (two posts above) reported that
my 32-bit binary from Solaris does work for him, so I think it will be
working for you too, but it's more interesting being able to create
binaries independently, right ?


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-16912425
.

@sax

This comment has been minimized.

Show comment
Hide comment
@sax

sax Apr 26, 2013

32bit binary should work on SmartOS, but 64bit would be better (if possible). If you can't get it to compile 64bit I can dig up from environment variable settings that worked for a different 64bit compile, buried somewhere in our chef cookbooks.

sax commented Apr 26, 2013

32bit binary should work on SmartOS, but 64bit would be better (if possible). If you can't get it to compile 64bit I can dig up from environment variable settings that worked for a different 64bit compile, buried somewhere in our chef cookbooks.

@georgesnelling

This comment has been minimized.

Show comment
Hide comment
@georgesnelling

georgesnelling Apr 30, 2013

+1 for 64-bit SmartOS.

+1 for 64-bit SmartOS.

@wkonkel

This comment has been minimized.

Show comment
Hide comment
@wkonkel

wkonkel Apr 30, 2013

I've just created a $25 bounty for this issue: https://www.bountysource.com/#issues/302363-support-solaris-and-also-joyent-smartos

Specifically, I run into a problem when running "npm install" on SmartOS:

npm http GET https://registry.npmjs.org/wordwrap
Unexpected platform or architecture: sunos ia32
npm ERR! phantomjs@1.9.0-3 install: node install.js
npm ERR! sh "-c" "node install.js" failed with 1
npm ERR!
npm ERR! Failed at the phantomjs@1.9.0-3 install script.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls phantomjs
npm ERR! There is likely additional logging output above.

npm ERR! System SunOS 5.11
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /opt/jenkins/jobs/scope.js/workspace
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE

wkonkel commented Apr 30, 2013

I've just created a $25 bounty for this issue: https://www.bountysource.com/#issues/302363-support-solaris-and-also-joyent-smartos

Specifically, I run into a problem when running "npm install" on SmartOS:

npm http GET https://registry.npmjs.org/wordwrap
Unexpected platform or architecture: sunos ia32
npm ERR! phantomjs@1.9.0-3 install: node install.js
npm ERR! sh "-c" "node install.js" failed with 1
npm ERR!
npm ERR! Failed at the phantomjs@1.9.0-3 install script.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls phantomjs
npm ERR! There is likely additional logging output above.

npm ERR! System SunOS 5.11
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /opt/jenkins/jobs/scope.js/workspace
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 1, 2013

This has nothing to do with this project. Although I do need phantomjs for node.js too, this project is an upstream for npm's node module. The problem with node's module is that, from the point of view of the phantomjs node module author, npm "is too tricky" to implement an offline installation, i.e. when you already have a phantomjs binary in $PATH and no precompiled binary download is needed. This is exactly what you're faced with. Regardless of what the author thinks, you can, however, do an install on a SmartOS having my prebuilt binary. You can even use it from the location it is now - all you have to do is to modify the install.js scenario and add this location as a repository for SmartOS. That's how I installed it on Solaris.

drook commented May 1, 2013

This has nothing to do with this project. Although I do need phantomjs for node.js too, this project is an upstream for npm's node module. The problem with node's module is that, from the point of view of the phantomjs node module author, npm "is too tricky" to implement an offline installation, i.e. when you already have a phantomjs binary in $PATH and no precompiled binary download is needed. This is exactly what you're faced with. Regardless of what the author thinks, you can, however, do an install on a SmartOS having my prebuilt binary. You can even use it from the location it is now - all you have to do is to modify the install.js scenario and add this location as a repository for SmartOS. That's how I installed it on Solaris.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 1, 2013

So far I'm able to successfully build solaris 64-bit binary (I'm pretty sure it will fit for SmartOS) but the thing is - it crashes immidiately after start. Crash is reproduceable. Since we don't have a working 64-bit binary I guess using the 32-bit binary would be fine - phantomjs doesn't need more than 4Gigs of RAM anyway, and I cannot find another reason to stick to the 64-bit binary (I prefer 64-bit binaries myself, but right now it's not working). I have a patch for this too, but I don't see a point in posting it since it cannot produce working 64-bit binary.

Here's the backtrace:

# /usr/local/solarisstudio12.3/bin/dbx phantomjs core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading phantomjs
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE17applyInitialValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE17applyInitialValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_Z11handleSpansI15BlendSrcGenericIL10SpanMethod0EEEviPK11QT_FT_Span_PK9QSpanDataRT_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE0ELb0ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE3EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE17applyInheritValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE17applyInheritValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZN7WebCore12getImageDataILNS_8MultiplyE0EEEN3WTF10PassRefPtrINS2_9ByteArrayEEERKNS_7IntRectERKNS_15ImageBufferDataERKNS_7IntSizeE'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore12getImageDataILNS_8MultiplyE1EEEN3WTF10PassRefPtrINS2_9ByteArrayEEERKNS_7IntRectERKNS_15ImageBufferDataERKNS_7IntSizeE'
dbx: internal warning: cannot demangle '_ZN7WebCore18createCallbackTaskINS_29AllowCrossThreadAccessWrapperINS_20WorkerMessagingProxyEEEPS2_NS_13MessageSourceES5_NS_11MessageTypeES6_NS_12MessageLevelES7_N3WTF6StringERKS9_ijS9_SB_EENS8_10PassOwnPtrINS_22ScriptExecutionContext4TaskEEEPFvPSD_T0_T2_T4_T6_T8_T10_T12_ERKT_RKT1_RKT3_RKT5_RKT7_RKT9_RKT11_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb1ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE0ELb0ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb0ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE4EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZN7WebCore18createCallbackTaskINS_13MessageSourceES1_NS_11MessageTypeES2_NS_12MessageLevelES3_N3WTF6StringERKS5_ijS5_S7_EENS4_10PassOwnPtrINS_22ScriptExecutionContext4TaskEEEPFvPS9_T0_T2_T4_T6_T8_T10_ERKT_RKT1_RKT3_RKT5_RKT7_RKT9_'
dbx: internal warning: cannot demangle '_ZN7WebCore12putImageDataILNS_8MultiplyE0EEEvRPN3WTF9ByteArrayERKNS_7IntSizeERKNS_7IntRectERKNS_8IntPointERNS_15ImageBufferDataES8_'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED0Ev'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE0ENS_10ASTBuilderEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE1ENS_10ASTBuilderEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN7WebCore12putImageDataILNS_8MultiplyE1EEEvRPN3WTF9ByteArrayERKNS_7IntSizeERKNS_7IntRectERKNS_8IntPointERNS_15ImageBufferDataES8_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb1ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb0ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE2EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZN3JSC13LiteralParser5Lexer9lexStringILNS0_10ParserModeE0EEENS0_9TokenTypeERNS1_18LiteralParserTokenE'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE1EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE0ENS_13SyntaxCheckerEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE1ENS_13SyntaxCheckerEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE0EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE2EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE1EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE3EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE0EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE2EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE1EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE3EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE6EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE7EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE8EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE9EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE10EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE11EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE12EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE13EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE14EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE15EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE7EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE8EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE9EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE10EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE11EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE12EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE13EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE14EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE15EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z16fetchTransformedIL16TextureBlendType2EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z16fetchTransformedIL16TextureBlendType3EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z19blend_tiled_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z27blend_untransformed_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z16blend_tiled_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z24blend_untransformed_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE5EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE3EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE3EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE2EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE2EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE1EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE1EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE0EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE0EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z17blend_src_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z28blend_transformed_tiled_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z22blend_transformed_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
core file header read successfully
Reading ld.so.1
Reading libnsl.so.1
Reading libfreetype.so.6
Reading libfontconfig.so.1
Reading libsocket.so.1
Reading librt.so.1
Reading libstdc++.so.6.0.14
dbx: internal warning: cannot demangle '_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EE5resetEv'
Reading libm.so.2
Reading libgcc_s.so.1
Reading libpthread.so.1
Reading libc.so.1
Reading ru_RU.UTF-8.so.3
Reading methods_unicode.so.3
Reading libexpat.so.1.6.0
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
0x00000000010f4940: GrowHeap+0x00e0:    movq     (%rax,%r12,8),%rax
(dbx) where
current thread: t@1
=>[1] WTF::TCMalloc_PageHeap::GrowHeap(0x0, 0x100000, 0x100000, 0xffff80ffbf48a4ea, 0xffffffff, 0x0), at 0x10f4940
  [2] 0xffff80ffbfffef50(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffff80ffbfffef50
  [3] WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f60ca
  [4] 0x730075002f003a(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x730075002f003a
  [5] WTF::TCMalloc_Central_FreeList::RemoveRange(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f618e
  [6] WTF::fastMalloc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f75a8
(dbx)

drook commented May 1, 2013

So far I'm able to successfully build solaris 64-bit binary (I'm pretty sure it will fit for SmartOS) but the thing is - it crashes immidiately after start. Crash is reproduceable. Since we don't have a working 64-bit binary I guess using the 32-bit binary would be fine - phantomjs doesn't need more than 4Gigs of RAM anyway, and I cannot find another reason to stick to the 64-bit binary (I prefer 64-bit binaries myself, but right now it's not working). I have a patch for this too, but I don't see a point in posting it since it cannot produce working 64-bit binary.

Here's the backtrace:

# /usr/local/solarisstudio12.3/bin/dbx phantomjs core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading phantomjs
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE17applyInitialValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE17applyInitialValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_Z11handleSpansI15BlendSrcGenericIL10SpanMethod0EEEviPK11QT_FT_Span_PK9QSpanDataRT_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE0ELb0ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE3EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE17applyInheritValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE17applyInheritValueEPNS_16CSSStyleSelectorE'
dbx: internal warning: cannot demangle '_ZN7WebCore12getImageDataILNS_8MultiplyE0EEEN3WTF10PassRefPtrINS2_9ByteArrayEEERKNS_7IntRectERKNS_15ImageBufferDataERKNS_7IntSizeE'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore12getImageDataILNS_8MultiplyE1EEEN3WTF10PassRefPtrINS2_9ByteArrayEEERKNS_7IntRectERKNS_15ImageBufferDataERKNS_7IntSizeE'
dbx: internal warning: cannot demangle '_ZN7WebCore18createCallbackTaskINS_29AllowCrossThreadAccessWrapperINS_20WorkerMessagingProxyEEEPS2_NS_13MessageSourceES5_NS_11MessageTypeES6_NS_12MessageLevelES7_N3WTF6StringERKS9_ijS9_SB_EENS8_10PassOwnPtrINS_22ScriptExecutionContext4TaskEEEPFvPSD_T0_T2_T4_T6_T8_T10_T12_ERKT_RKT1_RKT3_RKT5_RKT7_RKT9_RKT11_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb1ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE0ELb0ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb0ENS_13SyntaxCheckerEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE4EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZN7WebCore18createCallbackTaskINS_13MessageSourceES1_NS_11MessageTypeES2_NS_12MessageLevelES3_N3WTF6StringERKS5_ijS5_S7_EENS4_10PassOwnPtrINS_22ScriptExecutionContext4TaskEEEPFvPS9_T0_T2_T4_T6_T8_T10_ERKT_RKT1_RKT3_RKT5_RKT7_RKT9_'
dbx: internal warning: cannot demangle '_ZN7WebCore12putImageDataILNS_8MultiplyE0EEEvRPN3WTF9ByteArrayERKNS_7IntSizeERKNS_7IntRectERKNS_8IntPointERNS_15ImageBufferDataES8_'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE1ELNS_18LengthMinIntrinsicE1ELNS_10LengthNoneE1ELNS_15LengthUndefinedE1EED0Ev'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE0ENS_10ASTBuilderEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE1ENS_10ASTBuilderEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN7WebCore12putImageDataILNS_8MultiplyE1EEEvRPN3WTF9ByteArrayERKNS_7IntSizeERKNS_7IntRectERKNS_8IntPointERNS_15ImageBufferDataES8_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb1ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser17parseFunctionInfoILNS0_20FunctionRequirementsE1ELb0ENS_10ASTBuilderEEEbRT1_RPKNS_10IdentifierERNS4_19FormalParameterListERNS4_12FunctionBodyERiSE_SE_'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE0EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZNK7WebCore18ApplyPropertyColorILNS_12ColorInheritE1EE10applyValueEPNS_16CSSStyleSelectorEPNS_8CSSValueE'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE2EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZN3JSC13LiteralParser5Lexer9lexStringILNS0_10ParserModeE0EEENS0_9TokenTypeERNS1_18LiteralParserTokenE'
dbx: internal warning: cannot demangle '_ZN7WebCore10effectTypeILNS_15ColorMatrixTypeE1EEEvPN3WTF9ByteArrayERKNS2_6VectorIfLm0EEE'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE0ENS_13SyntaxCheckerEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN3JSC8JSParser19parseSourceElementsILNS0_18SourceElementsModeE1ENS_13SyntaxCheckerEEENT0_14SourceElementsERS4_'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE1ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED2Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED1Ev'
dbx: internal warning: cannot demangle '_ZN7WebCore19ApplyPropertyLengthILNS_10LengthAutoE0ELNS_15LengthIntrinsicE0ELNS_18LengthMinIntrinsicE0ELNS_10LengthNoneE0ELNS_15LengthUndefinedE0EED0Ev'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE0EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE2EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE1EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_18clipLineILNS_4EdgeE3EEEvRK7QPointFS4_dR12QPainterPath'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE0EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE2EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE1EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_ZN12_GLOBAL__N_14clipILNS_4EdgeE3EEE12QPainterPathRKS2_d'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE6EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE7EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE8EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE9EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE10EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE11EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE12EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE13EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE14EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE15EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE7EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE8EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE9EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE10EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE11EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE12EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE13EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE14EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE15EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z16fetchTransformedIL16TextureBlendType2EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z16fetchTransformedIL16TextureBlendType3EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z19blend_tiled_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z27blend_untransformed_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z16blend_tiled_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z24blend_untransformed_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE5EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE3EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE3EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE2EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE2EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z13qt_fetchPixelILN6QImage6FormatE1EEjPKhiPK7QVectorIjE'
dbx: internal warning: cannot demangle '_Z21qt_fetchUntransformedILN6QImage6FormatE1EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType5ELN6QImage6FormatE0EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE5EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE0EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z24fetchTransformedBilinearIL16TextureBlendType4ELN6QImage6FormatE6EEPKjPjPK8OperatorPK9QSpanDataiii'
dbx: internal warning: cannot demangle '_Z17blend_src_genericIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z28blend_transformed_tiled_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
dbx: internal warning: cannot demangle '_Z22blend_transformed_argbIL10SpanMethod0EEviPK11QT_FT_Span_Pv'
core file header read successfully
Reading ld.so.1
Reading libnsl.so.1
Reading libfreetype.so.6
Reading libfontconfig.so.1
Reading libsocket.so.1
Reading librt.so.1
Reading libstdc++.so.6.0.14
dbx: internal warning: cannot demangle '_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EE5resetEv'
Reading libm.so.2
Reading libgcc_s.so.1
Reading libpthread.so.1
Reading libc.so.1
Reading ru_RU.UTF-8.so.3
Reading methods_unicode.so.3
Reading libexpat.so.1.6.0
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
0x00000000010f4940: GrowHeap+0x00e0:    movq     (%rax,%r12,8),%rax
(dbx) where
current thread: t@1
=>[1] WTF::TCMalloc_PageHeap::GrowHeap(0x0, 0x100000, 0x100000, 0xffff80ffbf48a4ea, 0xffffffff, 0x0), at 0x10f4940
  [2] 0xffff80ffbfffef50(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffff80ffbfffef50
  [3] WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f60ca
  [4] 0x730075002f003a(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x730075002f003a
  [5] WTF::TCMalloc_Central_FreeList::RemoveRange(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f618e
  [6] WTF::fastMalloc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10f75a8
(dbx)
@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 1, 2013

I've fixed this error by using system malloc() routine instead if provided with the WebKit.

So far I have 64-bit binary which doesn't crash, it's capable of showing 'phantomjs> ' prompt, but it also doesn't process statements, seems like it's waiting for something.

I really could use some help. :)

drook commented May 1, 2013

I've fixed this error by using system malloc() routine instead if provided with the WebKit.

So far I have 64-bit binary which doesn't crash, it's capable of showing 'phantomjs> ' prompt, but it also doesn't process statements, seems like it's waiting for something.

I really could use some help. :)

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost May 1, 2013

What's the build flag/setup for your 64bit build? I'm working overnight
when I get home so I'll have a look.


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 1 May 2013 18:18, drook notifications@github.com wrote:

I've fixed this error by using system malloc() routine instead if provided
with the WebKit.

So far I have 64-bit binary which doesn't crash, it's capable of showing
'phantomjs> ' prompt, but it also doesn't process statements, seems like
it's waiting for something.

I really could use some help. :)


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-17293011
.

ghost commented May 1, 2013

What's the build flag/setup for your 64bit build? I'm working overnight
when I get home so I'll have a look.


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 1 May 2013 18:18, drook notifications@github.com wrote:

I've fixed this error by using system malloc() routine instead if provided
with the WebKit.

So far I have 64-bit binary which doesn't crash, it's capable of showing
'phantomjs> ' prompt, but it also doesn't process statements, seems like
it's waiting for something.

I really could use some help. :)


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-17293011
.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 1, 2013

You have to use a patch, http://tech.hq.norma.perm.ru/files/phantomjs.solaris-x64.diff , but since you are on SmartOS there's a certain probability phantomjs won't be able to build properly (although on Solaris with this patch it does), because I'm sure SmartOS won't be detected by autotools/qmake as SunOS/Solaris, so this particular patch misses qtspecs and some other platform build-dependent stuff. I could make a patch for SmartOS (and I'm sure 32-bit binary would build just fine) and for 64-bit binary (I'm sure the result will be the same - no crash but no handling of statements either), but right now I don't have SmartOS.

drook commented May 1, 2013

You have to use a patch, http://tech.hq.norma.perm.ru/files/phantomjs.solaris-x64.diff , but since you are on SmartOS there's a certain probability phantomjs won't be able to build properly (although on Solaris with this patch it does), because I'm sure SmartOS won't be detected by autotools/qmake as SunOS/Solaris, so this particular patch misses qtspecs and some other platform build-dependent stuff. I could make a patch for SmartOS (and I'm sure 32-bit binary would build just fine) and for 64-bit binary (I'm sure the result will be the same - no crash but no handling of statements either), but right now I don't have SmartOS.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 1, 2013

So far I got this thing: 64-bit binary doesn't load javascript modules for some reason, thus (?) does nothing with user unput.

That's how "phantomjs --debug=yes" looks like for 64-bit binary:

[emz@hyperion bin]$ ./phantomjs --debug=yes
2013-05-02T01:57:21 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persisten cookie storage)
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Configuration
2013-05-02T01:57:22 [DEBUG]      0 objectName : ""
2013-05-02T01:57:22 [DEBUG]      1 cookiesFile : ""
2013-05-02T01:57:22 [DEBUG]      2 diskCacheEnabled : "false"
2013-05-02T01:57:22 [DEBUG]      3 maxDiskCacheSize : "-1"
2013-05-02T01:57:22 [DEBUG]      4 ignoreSslErrors : "false"
2013-05-02T01:57:22 [DEBUG]      5 localToRemoteUrlAccessEnabled : "false"
2013-05-02T01:57:22 [DEBUG]      6 outputEncoding : "UTF-8"
2013-05-02T01:57:22 [DEBUG]      7 proxyType : "http"
2013-05-02T01:57:22 [DEBUG]      8 proxy : ":8"
2013-05-02T01:57:22 [DEBUG]      9 proxyAuth : ":"
2013-05-02T01:57:22 [DEBUG]      10 scriptEncoding : "UTF-8"
2013-05-02T01:57:22 [DEBUG]      11 webSecurityEnabled : "true"
2013-05-02T01:57:22 [DEBUG]      12 offlineStoragePath : ""
2013-05-02T01:57:22 [DEBUG]      13 offlineStorageDefaultQuota : "-1"
2013-05-02T01:57:22 [DEBUG]      14 printDebugMessages : "true"
2013-05-02T01:57:22 [DEBUG]      15 javascriptCanOpenWindows : "true"
2013-05-02T01:57:22 [DEBUG]      16 javascriptCanCloseWindows : "true"
2013-05-02T01:57:22 [DEBUG]      17 sslProtocol : "sslv3"
2013-05-02T01:57:22 [DEBUG]      18 sslCertificatesPath : ""
2013-05-02T01:57:22 [DEBUG]      19 webdriver : ":"
2013-05-02T01:57:22 [DEBUG]      20 webdriverLogFile : ""
2013-05-02T01:57:22 [DEBUG]      21 webdriverLogLevel : "INFO"
2013-05-02T01:57:22 [DEBUG]      22 webdriverSeleniumGridHub : ""
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Script & Arguments
2013-05-02T01:57:22 [DEBUG]      script: ""
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Starting REPL mode
2013-05-02T01:57:22 [DEBUG] WebPage - setupFrame ""
phantomjs>

And that's how it should look like:

[emz@hyperion bin]$ /usr/local/phantomjs/bin/phantomjs --debug=yes
2013-05-02T01:57:43 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persisten cookie storage)
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Configuration
2013-05-02T01:57:43 [DEBUG]      0 objectName : ""
2013-05-02T01:57:43 [DEBUG]      1 cookiesFile : ""
2013-05-02T01:57:43 [DEBUG]      2 diskCacheEnabled : "false"
2013-05-02T01:57:43 [DEBUG]      3 maxDiskCacheSize : "-1"
2013-05-02T01:57:43 [DEBUG]      4 ignoreSslErrors : "false"
2013-05-02T01:57:43 [DEBUG]      5 localToRemoteUrlAccessEnabled : "false"
2013-05-02T01:57:43 [DEBUG]      6 outputEncoding : "UTF-8"
2013-05-02T01:57:43 [DEBUG]      7 proxyType : "http"
2013-05-02T01:57:43 [DEBUG]      8 proxy : ":8"
2013-05-02T01:57:43 [DEBUG]      9 proxyAuth : ":"
2013-05-02T01:57:43 [DEBUG]      10 scriptEncoding : "UTF-8"
2013-05-02T01:57:43 [DEBUG]      11 webSecurityEnabled : "true"
2013-05-02T01:57:43 [DEBUG]      12 offlineStoragePath : ""
2013-05-02T01:57:43 [DEBUG]      13 offlineStorageDefaultQuota : "-1"
2013-05-02T01:57:43 [DEBUG]      14 printDebugMessages : "true"
2013-05-02T01:57:43 [DEBUG]      15 javascriptCanOpenWindows : "true"
2013-05-02T01:57:43 [DEBUG]      16 javascriptCanCloseWindows : "true"
2013-05-02T01:57:43 [DEBUG]      17 sslProtocol : "sslv3"
2013-05-02T01:57:43 [DEBUG]      18 sslCertificatesPath : ""
2013-05-02T01:57:43 [DEBUG]      19 webdriver : ":"
2013-05-02T01:57:43 [DEBUG]      20 webdriverLogFile : ""
2013-05-02T01:57:43 [DEBUG]      21 webdriverLogLevel : "INFO"
2013-05-02T01:57:43 [DEBUG]      22 webdriverSeleniumGridHub : ""
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Script & Arguments
2013-05-02T01:57:43 [DEBUG]      script: ""
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Starting REPL mode
2013-05-02T01:57:43 [DEBUG] WebPage - setupFrame ""
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/_coffee-script.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/package.json" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/coffee-script.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./lexer.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././rewriter.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./parser.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./nodes.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././scope.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./././helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././lexer.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./././rewriter.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r") ) )
phantomjs>

drook commented May 1, 2013

So far I got this thing: 64-bit binary doesn't load javascript modules for some reason, thus (?) does nothing with user unput.

That's how "phantomjs --debug=yes" looks like for 64-bit binary:

[emz@hyperion bin]$ ./phantomjs --debug=yes
2013-05-02T01:57:21 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persisten cookie storage)
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Configuration
2013-05-02T01:57:22 [DEBUG]      0 objectName : ""
2013-05-02T01:57:22 [DEBUG]      1 cookiesFile : ""
2013-05-02T01:57:22 [DEBUG]      2 diskCacheEnabled : "false"
2013-05-02T01:57:22 [DEBUG]      3 maxDiskCacheSize : "-1"
2013-05-02T01:57:22 [DEBUG]      4 ignoreSslErrors : "false"
2013-05-02T01:57:22 [DEBUG]      5 localToRemoteUrlAccessEnabled : "false"
2013-05-02T01:57:22 [DEBUG]      6 outputEncoding : "UTF-8"
2013-05-02T01:57:22 [DEBUG]      7 proxyType : "http"
2013-05-02T01:57:22 [DEBUG]      8 proxy : ":8"
2013-05-02T01:57:22 [DEBUG]      9 proxyAuth : ":"
2013-05-02T01:57:22 [DEBUG]      10 scriptEncoding : "UTF-8"
2013-05-02T01:57:22 [DEBUG]      11 webSecurityEnabled : "true"
2013-05-02T01:57:22 [DEBUG]      12 offlineStoragePath : ""
2013-05-02T01:57:22 [DEBUG]      13 offlineStorageDefaultQuota : "-1"
2013-05-02T01:57:22 [DEBUG]      14 printDebugMessages : "true"
2013-05-02T01:57:22 [DEBUG]      15 javascriptCanOpenWindows : "true"
2013-05-02T01:57:22 [DEBUG]      16 javascriptCanCloseWindows : "true"
2013-05-02T01:57:22 [DEBUG]      17 sslProtocol : "sslv3"
2013-05-02T01:57:22 [DEBUG]      18 sslCertificatesPath : ""
2013-05-02T01:57:22 [DEBUG]      19 webdriver : ":"
2013-05-02T01:57:22 [DEBUG]      20 webdriverLogFile : ""
2013-05-02T01:57:22 [DEBUG]      21 webdriverLogLevel : "INFO"
2013-05-02T01:57:22 [DEBUG]      22 webdriverSeleniumGridHub : ""
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Script & Arguments
2013-05-02T01:57:22 [DEBUG]      script: ""
2013-05-02T01:57:22 [DEBUG] Phantom - execute: Starting REPL mode
2013-05-02T01:57:22 [DEBUG] WebPage - setupFrame ""
phantomjs>

And that's how it should look like:

[emz@hyperion bin]$ /usr/local/phantomjs/bin/phantomjs --debug=yes
2013-05-02T01:57:43 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persisten cookie storage)
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Configuration
2013-05-02T01:57:43 [DEBUG]      0 objectName : ""
2013-05-02T01:57:43 [DEBUG]      1 cookiesFile : ""
2013-05-02T01:57:43 [DEBUG]      2 diskCacheEnabled : "false"
2013-05-02T01:57:43 [DEBUG]      3 maxDiskCacheSize : "-1"
2013-05-02T01:57:43 [DEBUG]      4 ignoreSslErrors : "false"
2013-05-02T01:57:43 [DEBUG]      5 localToRemoteUrlAccessEnabled : "false"
2013-05-02T01:57:43 [DEBUG]      6 outputEncoding : "UTF-8"
2013-05-02T01:57:43 [DEBUG]      7 proxyType : "http"
2013-05-02T01:57:43 [DEBUG]      8 proxy : ":8"
2013-05-02T01:57:43 [DEBUG]      9 proxyAuth : ":"
2013-05-02T01:57:43 [DEBUG]      10 scriptEncoding : "UTF-8"
2013-05-02T01:57:43 [DEBUG]      11 webSecurityEnabled : "true"
2013-05-02T01:57:43 [DEBUG]      12 offlineStoragePath : ""
2013-05-02T01:57:43 [DEBUG]      13 offlineStorageDefaultQuota : "-1"
2013-05-02T01:57:43 [DEBUG]      14 printDebugMessages : "true"
2013-05-02T01:57:43 [DEBUG]      15 javascriptCanOpenWindows : "true"
2013-05-02T01:57:43 [DEBUG]      16 javascriptCanCloseWindows : "true"
2013-05-02T01:57:43 [DEBUG]      17 sslProtocol : "sslv3"
2013-05-02T01:57:43 [DEBUG]      18 sslCertificatesPath : ""
2013-05-02T01:57:43 [DEBUG]      19 webdriver : ":"
2013-05-02T01:57:43 [DEBUG]      20 webdriverLogFile : ""
2013-05-02T01:57:43 [DEBUG]      21 webdriverLogLevel : "INFO"
2013-05-02T01:57:43 [DEBUG]      22 webdriverSeleniumGridHub : ""
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Script & Arguments
2013-05-02T01:57:43 [DEBUG]      script: ""
2013-05-02T01:57:43 [DEBUG] Phantom - execute: Starting REPL mode
2013-05-02T01:57:43 [DEBUG] WebPage - setupFrame ""
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/_coffee-script.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/package.json" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/coffee-script.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./lexer.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././rewriter.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./parser.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./nodes.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././scope.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./././helpers.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/././lexer.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/../coffee-script/./lib/coffee-script/./././rewriter.js" QMap(("mode", QVariant(QString, "r") ) )
2013-05-02T01:57:43 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r") ) )
phantomjs>
@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 8, 2013

I have also a patch for Solaris 10 and Solaris 11.0 phantomjs.
Both seem to work fine, both i386.

Pic from Solaris 10:

http://zabava.ru/google.png?backend=atlas

drook commented May 8, 2013

I have also a patch for Solaris 10 and Solaris 11.0 phantomjs.
Both seem to work fine, both i386.

Pic from Solaris 10:

http://zabava.ru/google.png?backend=atlas

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost May 8, 2013

The 64bit problem feels like something not being pulled in on the build?
Seems QT related?


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 8 May 2013 09:09, drook notifications@github.com wrote:

I have also a patch for Solaris 10 and Solaris 11.0 phantomjs.
Both seem to work fine, both i386.

Pic from Solaris 10:

http://zabava.ru/google.png?backend=atlas


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-17591959
.

ghost commented May 8, 2013

The 64bit problem feels like something not being pulled in on the build?
Seems QT related?


W. A. Khushil Dep - khushil.dep@gmail.com - 07905 374 843
High Performance Web Platforms Architect & Engineer
@ http://www.facebook.com/GlobalOverlordkhushil

On 8 May 2013 09:09, drook notifications@github.com wrote:

I have also a patch for Solaris 10 and Solaris 11.0 phantomjs.
Both seem to work fine, both i386.

Pic from Solaris 10:

http://zabava.ru/google.png?backend=atlas


Reply to this email directly or view it on GitHubhttps://github.com/ariya/phantomjs/issues/10521#issuecomment-17591959
.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook May 8, 2013

Nope, seems like QT is just fine, I think this is related to the phantomjs code itself, and this needs some attention from developers, or at least some direction for further debugging.

drook commented May 8, 2013

Nope, seems like QT is just fine, I think this is related to the phantomjs code itself, and this needs some attention from developers, or at least some direction for further debugging.

@Vitallium

This comment has been minimized.

Show comment
Hide comment
@Vitallium

Vitallium May 8, 2013

Collaborator

Do you building 64-bit version of Qt and QtWebkit?

drook wrote:

Nope, seems like QT is just fine, I think this is related to the
phantomjs code itself, and this needs some attention from developers,
or at least some direction for further debugging.


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

Collaborator

Vitallium commented May 8, 2013

Do you building 64-bit version of Qt and QtWebkit?

drook wrote:

Nope, seems like QT is just fine, I think this is related to the
phantomjs code itself, and this needs some attention from developers,
or at least some direction for further debugging.


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

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Oct 3, 2013

Well... looks like "send" and "recv" are those from sys/socket.h, so you probably need to add "-lsocket" to LIBS (or QMAKE_LIBS). About last four - I can say that it looks like some of the ojject files are not referenced when linking the binary it's complaining about.

Where exactly did this happen ? Show me the last piece of output. Btw, are you using my patch for building ?

drook commented Oct 3, 2013

Well... looks like "send" and "recv" are those from sys/socket.h, so you probably need to add "-lsocket" to LIBS (or QMAKE_LIBS). About last four - I can say that it looks like some of the ojject files are not referenced when linking the binary it's complaining about.

Where exactly did this happen ? Show me the last piece of output. Btw, are you using my patch for building ?

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 3, 2013

Adding -lsocket to the QMAKE_LIBS variable fixed the issue with send and recv, but I'm still running into problems with the other libraries. I'm on SPARC 64 bit. You said your patch is for 32 bit. Will it work?

Here's the last command and the error message:

g++ -m64 -g -Wl,-R,/space/spark/phantomjs/src/qt/lib -o ../bin/phantomjs phantom.o callback.o webpage.o webserver.o main.o csconverter.o utils.o networkaccessmanager.o cookiejar.o filesystem.o system.o env.o terminal.o encoding.o config.o childprocess.o repl.o gif_err.o gifalloc.o egif_lib.o gif_hash.o quantize.o gifwriter.o mongoose.o linenoise.o utf8.o qcommandline.o qrc_phantomjs.o qrc_ghostdriver.o qrc_WebKit.o qrc_InspectorBackendStub.o -L/lib/sparcv9 -L/usr/lib/sparcv9 -L/usr/local/gcc4/lib/sparcv9 -L/space/spark/phantomjs/src/qt/lib -L/usr/sfw/lib/sparcv9 -lsocket

ld: fatal: symbol referencing errors. No output written to ../bin/phantomjs
collect2: error: ld returned 1 exit status
make[1]: *** [../bin/phantomjs] Error 1
make[1]: Leaving directory `/space/spark/phantomjs/src'
make: *** [sub-src-phantomjs-pro-make_default-ordered] Error 2

It looks like all of the symbols it can't find should be in the Q* shared libraries in /space/spark/phantomjs/src/qt/lib
Do I need to add this folder to LD_LIBRARY_PATH?

Adding -lsocket to the QMAKE_LIBS variable fixed the issue with send and recv, but I'm still running into problems with the other libraries. I'm on SPARC 64 bit. You said your patch is for 32 bit. Will it work?

Here's the last command and the error message:

g++ -m64 -g -Wl,-R,/space/spark/phantomjs/src/qt/lib -o ../bin/phantomjs phantom.o callback.o webpage.o webserver.o main.o csconverter.o utils.o networkaccessmanager.o cookiejar.o filesystem.o system.o env.o terminal.o encoding.o config.o childprocess.o repl.o gif_err.o gifalloc.o egif_lib.o gif_hash.o quantize.o gifwriter.o mongoose.o linenoise.o utf8.o qcommandline.o qrc_phantomjs.o qrc_ghostdriver.o qrc_WebKit.o qrc_InspectorBackendStub.o -L/lib/sparcv9 -L/usr/lib/sparcv9 -L/usr/local/gcc4/lib/sparcv9 -L/space/spark/phantomjs/src/qt/lib -L/usr/sfw/lib/sparcv9 -lsocket

ld: fatal: symbol referencing errors. No output written to ../bin/phantomjs
collect2: error: ld returned 1 exit status
make[1]: *** [../bin/phantomjs] Error 1
make[1]: Leaving directory `/space/spark/phantomjs/src'
make: *** [sub-src-phantomjs-pro-make_default-ordered] Error 2

It looks like all of the symbols it can't find should be in the Q* shared libraries in /space/spark/phantomjs/src/qt/lib
Do I need to add this folder to LD_LIBRARY_PATH?

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 4, 2013

I applied your patch, and now it's failing earlier on. It's giving me this error:

usr/local/gcc4/include/c++/4.7.2/bits/stl_relops.:68: Parse error at "std"

I saw there was an open bug for this when running on Ubuntu, but in my case I'm pretty sure I have the correct include path set to find my c++config.h file. My c++config.h file is in /usr/local/gcc4/include/c++/4.7.2/sparc-sun-solaris2.10/bits, and this path is included in the QMAKE_INCDIR path in my qmake.conf file.

I applied your patch, and now it's failing earlier on. It's giving me this error:

usr/local/gcc4/include/c++/4.7.2/bits/stl_relops.:68: Parse error at "std"

I saw there was an open bug for this when running on Ubuntu, but in my case I'm pretty sure I have the correct include path set to find my c++config.h file. My c++config.h file is in /usr/local/gcc4/include/c++/4.7.2/sparc-sun-solaris2.10/bits, and this path is included in the QMAKE_INCDIR path in my qmake.conf file.

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Oct 4, 2013

About your initial question.
Looks like the linker is missing some object files. Adding them to LD_LIBRARY_PATH won't help, try to find them by finding the symbols that are required and that are contained within these object files, then just add them to the compilation line - by editing the Makefile or by compiling manually.

About my patch. It's for 32-bit version, yes, but x86 Solaris is able to run 32-bit binaries along with 64-bit; not sure whether Solaris on Sparc can (but I guess it can, you can determine this by running the 'isainfo' command). Anyway, although I was able to build 64-bit binary on x86 Solaris and it was able to run, it was completely unable to execute commands (nothing was happening). So it was unusable for me. So far I didn't had the time to inversigate, but I hope I will have the time about now.

About my patch and the error you're getting - it's hard to tell by just one line about what's happening, but I remember that for 4.x gcc branch I was using 4.5.x version, and it was related to the errors I was getting with 4.7.x.

drook commented Oct 4, 2013

About your initial question.
Looks like the linker is missing some object files. Adding them to LD_LIBRARY_PATH won't help, try to find them by finding the symbols that are required and that are contained within these object files, then just add them to the compilation line - by editing the Makefile or by compiling manually.

About my patch. It's for 32-bit version, yes, but x86 Solaris is able to run 32-bit binaries along with 64-bit; not sure whether Solaris on Sparc can (but I guess it can, you can determine this by running the 'isainfo' command). Anyway, although I was able to build 64-bit binary on x86 Solaris and it was able to run, it was completely unable to execute commands (nothing was happening). So it was unusable for me. So far I didn't had the time to inversigate, but I hope I will have the time about now.

About my patch and the error you're getting - it's hard to tell by just one line about what's happening, but I remember that for 4.x gcc branch I was using 4.5.x version, and it was related to the errors I was getting with 4.7.x.

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 5, 2013

I was able to work around the parse error at "std" error by editing the makefiles and removing the gcc bits headers from the include path. I ran into another problem where it claimed isnan was undefined for the scope, so I went in and manually edited the cpp files and added "std::" everywhere I saw the isnan function invoked. After 6 hours of rigamarole, I managed to build the webkit library and all of the other QT libraries. Now I'm getting the following error when attempting to build the phantomjs source:

ld: fatal: symbol 'WebPage::javaScriptErrorSent(QString const&, QString const&)' is multiply-defined:
(file webpage.o type=FUNC; file moc_webpage.o type=FUNC);

I'm getting several of these, and it looks like every function in webpage.o is also in moc_webpage.o. Do I need to exclude one of these, or do I need to manually edit one of them and add a bunch of IFNDEFINED macros?

I was able to work around the parse error at "std" error by editing the makefiles and removing the gcc bits headers from the include path. I ran into another problem where it claimed isnan was undefined for the scope, so I went in and manually edited the cpp files and added "std::" everywhere I saw the isnan function invoked. After 6 hours of rigamarole, I managed to build the webkit library and all of the other QT libraries. Now I'm getting the following error when attempting to build the phantomjs source:

ld: fatal: symbol 'WebPage::javaScriptErrorSent(QString const&, QString const&)' is multiply-defined:
(file webpage.o type=FUNC; file moc_webpage.o type=FUNC);

I'm getting several of these, and it looks like every function in webpage.o is also in moc_webpage.o. Do I need to exclude one of these, or do I need to manually edit one of them and add a bunch of IFNDEFINED macros?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Oct 7, 2013

Since it's not an upstream error, I think you can expect the answer from phantomjs developers.

drook commented Oct 7, 2013

Since it's not an upstream error, I think you can expect the answer from phantomjs developers.

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 7, 2013

I tried blowing what I had away, unzipping the source code and trying again with 32 bit libraries, and lo and behold, I have a phantomjs executable. Now I just have one question. When I try running the phantomjs binary from the command line, I get an error message that it can't connect to the X server. This is a headless rack server. Do I need to have X running in order to use phantomjs?

I tried blowing what I had away, unzipping the source code and trying again with 32 bit libraries, and lo and behold, I have a phantomjs executable. Now I just have one question. When I try running the phantomjs binary from the command line, I get an error message that it can't connect to the X server. This is a headless rack server. Do I need to have X running in order to use phantomjs?

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 7, 2013

I just checked the FAQ and it's claiming that from 1.5 onward, phantomjs is headless and no X server is required. So why would it be trying to connect to an X server? Is there some option I need to pass on the command line?

I just checked the FAQ and it's claiming that from 1.5 onward, phantomjs is headless and no X server is required. So why would it be trying to connect to an X server? Is there some option I need to pass on the command line?

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 7, 2013

I noticed I got the following output after the linking step of the compilation completed:

ld: warning: global symbol 'END' has non-global binding:
(file /usr/local/gcc4/lib/libiconv.so value=LOCL);
ld: warning: global symbol 'START' has non-global binding:
(file /usr/local/gcc4/lib/libiconv.so value=LOCL);
{ test -n "../bin/" && DESTDIR="../bin/" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9]+([0-9]).([0-9]).,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit '../bin/phantomjs' && test -f ../bin/phantomjs.gdb-index && objcopy --add-section '.gdb_index=../bin/phantomjs.gdb-index' --set-section-flags '.gdb_index=readonly' '../bin/phantomjs' '../bin/phantomjs' && rm -f ../bin/phantomjs.gdb-index || true
/bin/sh: syntax error at line 1: `(' unexpected
make: *
* [../bin/phantomjs] Error 2

Does this mean my binary is corrupt? If so, how would I go about fixing this?

I noticed I got the following output after the linking step of the compilation completed:

ld: warning: global symbol 'END' has non-global binding:
(file /usr/local/gcc4/lib/libiconv.so value=LOCL);
ld: warning: global symbol 'START' has non-global binding:
(file /usr/local/gcc4/lib/libiconv.so value=LOCL);
{ test -n "../bin/" && DESTDIR="../bin/" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9]+([0-9]).([0-9]).,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit '../bin/phantomjs' && test -f ../bin/phantomjs.gdb-index && objcopy --add-section '.gdb_index=../bin/phantomjs.gdb-index' --set-section-flags '.gdb_index=readonly' '../bin/phantomjs' '../bin/phantomjs' && rm -f ../bin/phantomjs.gdb-index || true
/bin/sh: syntax error at line 1: `(' unexpected
make: *
* [../bin/phantomjs] Error 2

Does this mean my binary is corrupt? If so, how would I go about fixing this?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Oct 8, 2013

Yup, I'm also using phantomjs on servers without X; I don;t have X running; I don't have $DISPLAY set,and I'm using a test where phantomjs is retrieving and rendering pages like a browser to test it's functionality.

I don't remember getting any errors at the end of building. What you are getting is probably an error from bash syntax used under sh. You should change the shebang to sh and try to execute this statement. Not sure if your binary is corrupt without it (I guess not).

drook commented Oct 8, 2013

Yup, I'm also using phantomjs on servers without X; I don;t have X running; I don't have $DISPLAY set,and I'm using a test where phantomjs is retrieving and rendering pages like a browser to test it's functionality.

I don't remember getting any errors at the end of building. What you are getting is probably an error from bash syntax used under sh. You should change the shebang to sh and try to execute this statement. Not sure if your binary is corrupt without it (I guess not).

@spark-jaspersoft

This comment has been minimized.

Show comment
Hide comment
@spark-jaspersoft

spark-jaspersoft Oct 16, 2013

It turned out I commented out the -grc option while I was waiting for my sysadmin to install it and forgot to uncomment it afterward. Now I can run phantomjs, but I'm getting System Bus errors on all but the most trivial of JavaScript files. I got a whole bunch of cast and widening warnings during both the QT and PhantomJS build. It seems the developers are assuming folks will be using Intel architecture, which is a lot more forgiving of this sort of thing than SPARC is. I'm abandoning my effort for now, but I hope this will serve as a warning in case others attempt this.

It turned out I commented out the -grc option while I was waiting for my sysadmin to install it and forgot to uncomment it afterward. Now I can run phantomjs, but I'm getting System Bus errors on all but the most trivial of JavaScript files. I got a whole bunch of cast and widening warnings during both the QT and PhantomJS build. It seems the developers are assuming folks will be using Intel architecture, which is a lot more forgiving of this sort of thing than SPARC is. I'm abandoning my effort for now, but I hope this will serve as a warning in case others attempt this.

@santeriv

This comment has been minimized.

Show comment
Hide comment
@santeriv

santeriv Dec 26, 2013

I tried bundling the app with http://pkgsrc.joyent.com/packages/SmartOS/2013Q3/multiarch/All/ phantomjs-1.9.1.tgz , location mentioned before by @arlolra , in a SmartOS environment. And it ended on

/opt/local/lib/libfreetype.so.6: wrong ELF class: ELFCLASS64

Was I missing something? libfreetype.so.6 points 'different' architecture(x86) than used for building phantomjs (x64)?

I tried bundling the app with http://pkgsrc.joyent.com/packages/SmartOS/2013Q3/multiarch/All/ phantomjs-1.9.1.tgz , location mentioned before by @arlolra , in a SmartOS environment. And it ended on

/opt/local/lib/libfreetype.so.6: wrong ELF class: ELFCLASS64

Was I missing something? libfreetype.so.6 points 'different' architecture(x86) than used for building phantomjs (x64)?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Dec 26, 2013

Looks so. You need to get somewhere or build yourself a 32-bit freetype library and put it in the linker path with crle (or whatever SmartOS uses to). However, "multiarch" may also mean it's supposed to build fine on x64 and you have problem somewhere else.

drook commented Dec 26, 2013

Looks so. You need to get somewhere or build yourself a 32-bit freetype library and put it in the linker path with crle (or whatever SmartOS uses to). However, "multiarch" may also mean it's supposed to build fine on x64 and you have problem somewhere else.

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Dec 26, 2013

The multiarch packages contain both 32-bit and 64-bit binaries, or just 32-bit ones (where 64-bit doesn't make sense, or doesn't work at all - as in the case here). If we managed to make phantomjs build 64-bit on SunOS, we would've obviously posted it here for upstream merge.

The multiarch packages will only work within the multiarch VMs, or theoretically in a 32-bit one (if you don't care about the added 64-bit binaries).

F.

    1. 2013 v 4:28, Santeri Vesalainen notifications@github.com:

I tried bundling the app with http://pkgsrc.joyent.com/packages/SmartOS/2013Q3/multiarch/All/ phantomjs-1.9.1.tgz , location mentioned before by @arlolra , in a SmartOS environment. And it ended on

/opt/local/lib/libfreetype.so.6: wrong ELF class: ELFCLASS64
Was I missing something? libfreetype.so.6 points 'different' architecture(x86) than used for building phantomjs (x64)?


Reply to this email directly or view it on GitHub.

mamash commented Dec 26, 2013

The multiarch packages contain both 32-bit and 64-bit binaries, or just 32-bit ones (where 64-bit doesn't make sense, or doesn't work at all - as in the case here). If we managed to make phantomjs build 64-bit on SunOS, we would've obviously posted it here for upstream merge.

The multiarch packages will only work within the multiarch VMs, or theoretically in a 32-bit one (if you don't care about the added 64-bit binaries).

F.

    1. 2013 v 4:28, Santeri Vesalainen notifications@github.com:

I tried bundling the app with http://pkgsrc.joyent.com/packages/SmartOS/2013Q3/multiarch/All/ phantomjs-1.9.1.tgz , location mentioned before by @arlolra , in a SmartOS environment. And it ended on

/opt/local/lib/libfreetype.so.6: wrong ELF class: ELFCLASS64
Was I missing something? libfreetype.so.6 points 'different' architecture(x86) than used for building phantomjs (x64)?


Reply to this email directly or view it on GitHub.

@davefinster

This comment has been minimized.

Show comment
Hide comment
@davefinster

davefinster Jun 22, 2014

@drook I'm currently working on a static build ok wkhtmltopdf on SmartOS 64-bit and I've got everything going except I'm seeing the exact same font issue that your seeing. You mentioned that you enabled TTF support for QtWebKit - what changes were involved in that?

@drook I'm currently working on a static build ok wkhtmltopdf on SmartOS 64-bit and I've got everything going except I'm seeing the exact same font issue that your seeing. You mentioned that you enabled TTF support for QtWebKit - what changes were involved in that?

@drook

This comment has been minimized.

Show comment
Hide comment
@drook

drook Jun 22, 2014

@davefinster Well, the fontconfig support is already enabled, you just need to configure the fontconfig itself - this means that you need to take a decent fontconfig config file (with all of the ugliness disabled) and add some common TTF fonts. Fonts can be taken from any Windows machine, for example; and the fontconfig can be taken from any Linux/Unix machine that has X enabled and running and which output you dislike the less. The whole process is covered widely in the Internet, take any howto you like. Something like google://ttf and antialised fonts on linux. For example you can take this how-to: http://www.freebsd.org/doc/handbook/x-fonts.html . Without this, you are probably seeing the picture rendered with defaults, and defaults are always ugly.

drook commented Jun 22, 2014

@davefinster Well, the fontconfig support is already enabled, you just need to configure the fontconfig itself - this means that you need to take a decent fontconfig config file (with all of the ugliness disabled) and add some common TTF fonts. Fonts can be taken from any Windows machine, for example; and the fontconfig can be taken from any Linux/Unix machine that has X enabled and running and which output you dislike the less. The whole process is covered widely in the Internet, take any howto you like. Something like google://ttf and antialised fonts on linux. For example you can take this how-to: http://www.freebsd.org/doc/handbook/x-fonts.html . Without this, you are probably seeing the picture rendered with defaults, and defaults are always ugly.

@davefinster

This comment has been minimized.

Show comment
Hide comment
@davefinster

davefinster Jun 22, 2014

@drook Thanks for the reply - ended up being the complete absence of fonts :)

Managed to get past it and I've got a working wkhtmltopdf on 64-bit SmartOS without seg faults in part thanks to your patches, particularly the system malloc one.

@drook Thanks for the reply - ended up being the complete absence of fonts :)

Managed to get past it and I've got a working wkhtmltopdf on 64-bit SmartOS without seg faults in part thanks to your patches, particularly the system malloc one.

@kigster

This comment has been minimized.

Show comment
Hide comment
@kigster

kigster Jun 23, 2014

@davefinster Is there a version available somewhere that can be downloaded and compiled on SmartOS base64? I would appreciate if you could point me to the sources.

kigster commented Jun 23, 2014

@davefinster Is there a version available somewhere that can be downloaded and compiled on SmartOS base64? I would appreciate if you could point me to the sources.

@davefinster

This comment has been minimized.

Show comment
Hide comment
@davefinster

davefinster Jun 23, 2014

@kigster For wkhtmltopdf, I put the static binary link here: https://groups.google.com/forum/#!topic/wkhtmltopdf-general/AIagbMp-FJw

There is a link to the Github issue about SmartOs support, which has a link to a gist that shows my steps to compile Qt.

@kigster For wkhtmltopdf, I put the static binary link here: https://groups.google.com/forum/#!topic/wkhtmltopdf-general/AIagbMp-FJw

There is a link to the Github issue about SmartOs support, which has a link to a gist that shows my steps to compile Qt.

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Jun 23, 2014

Thanks, guys. I'm out for vacation this week, but will revisit next week and see if I can integrate your effort into the pkgsrc packages for both phantomjs and wkhtmltopdf, so that we can generate official 64bit SmartOS packages via pkgsrc.

mamash commented Jun 23, 2014

Thanks, guys. I'm out for vacation this week, but will revisit next week and see if I can integrate your effort into the pkgsrc packages for both phantomjs and wkhtmltopdf, so that we can generate official 64bit SmartOS packages via pkgsrc.

@jeffchan

This comment has been minimized.

Show comment
Hide comment
@jeffchan

jeffchan Jul 11, 2014

@mamash any updates on the 64bit SmartOS package?

@mamash any updates on the 64bit SmartOS package?

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Jul 13, 2014

No, as soon as I saw the progress over at wkhtmltopdf, I knew they have no relevance in the case here, so 64bit SunOS package remains as broken as before - the JS engine fails to load up at all. Unfortunately I lack time to dig deep into this.

It's obvious though that it's something phantomjs specific; I was able to make wkhtmltopdf packages available in the recent Joyent repositories (2014Q1, 2014Q2), both as 32- and 64-bit. So at least there's that.

mamash commented Jul 13, 2014

No, as soon as I saw the progress over at wkhtmltopdf, I knew they have no relevance in the case here, so 64bit SunOS package remains as broken as before - the JS engine fails to load up at all. Unfortunately I lack time to dig deep into this.

It's obvious though that it's something phantomjs specific; I was able to make wkhtmltopdf packages available in the recent Joyent repositories (2014Q1, 2014Q2), both as 32- and 64-bit. So at least there's that.

@missing1984

This comment has been minimized.

Show comment
Hide comment
@missing1984

missing1984 Dec 11, 2014

Is there any update for this case? Will phantomjs 2.0 support Solaris?

Is there any update for this case? Will phantomjs 2.0 support Solaris?

@fardog fardog referenced this issue in knsv/mermaid Dec 16, 2014

Closed

Client utility for mermaid #6

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Dec 17, 2014

I have been trying to build 64bitPhantomjs from trunk on SmartOS recently, and right now it just doesn't work. Qt5 needs some patching to build at all and the resulting phantomjs binary just segfaults when I invoke it.

mamash commented Dec 17, 2014

I have been trying to build 64bitPhantomjs from trunk on SmartOS recently, and right now it just doesn't work. Qt5 needs some patching to build at all and the resulting phantomjs binary just segfaults when I invoke it.

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Jan 15, 2015

Here's a purely static 32bit binary built on SmartOS. I can keep maintaining this for coming 1.9.x releases too. Wonder if we can have this included as a download option on the official site.

https://us-east.manta.joyent.com/pkgsrc/public/packages/SmartOS/phantomjs/phantomjs-1.9.8-smartos-i386.tgz

mamash commented Jan 15, 2015

Here's a purely static 32bit binary built on SmartOS. I can keep maintaining this for coming 1.9.x releases too. Wonder if we can have this included as a download option on the official site.

https://us-east.manta.joyent.com/pkgsrc/public/packages/SmartOS/phantomjs/phantomjs-1.9.8-smartos-i386.tgz

@JDougherty

This comment has been minimized.

Show comment
Hide comment
@JDougherty

JDougherty Feb 18, 2015

mamash- do you have up to date build instructions for 1.9.x? What dependencies must be installed, and does the PhantomJS source need to be patched as discussed above?

I appreciate the help!

mamash- do you have up to date build instructions for 1.9.x? What dependencies must be installed, and does the PhantomJS source need to be patched as discussed above?

I appreciate the help!

@mamash

This comment has been minimized.

Show comment
Hide comment
@mamash

mamash Feb 19, 2015

Joseph, please have a look at the pkgsrc recipe here:

https://github.com/joyent/pkgsrc-wip/tree/master/phantomjs

as that's how we build the package. The static version is slightly different (not by much):

https://github.com/joyent/pkgsrc-joyent/tree/master/phantomjs-static

It's full of pkgsrc mark-up, the dependencies and patches can be inspected clearly though.

mamash commented Feb 19, 2015

Joseph, please have a look at the pkgsrc recipe here:

https://github.com/joyent/pkgsrc-wip/tree/master/phantomjs

as that's how we build the package. The static version is slightly different (not by much):

https://github.com/joyent/pkgsrc-joyent/tree/master/phantomjs-static

It's full of pkgsrc mark-up, the dependencies and patches can be inspected clearly though.

@joelclipperton

This comment has been minimized.

Show comment
Hide comment
@joelclipperton

joelclipperton May 24, 2015

Has anyone figured out the issue with compiling on 64bit SmartOS images?

Has anyone figured out the issue with compiling on 64bit SmartOS images?

@arunnalla16

This comment has been minimized.

Show comment
Hide comment
@arunnalla16

arunnalla16 Aug 11, 2016

I am trying to compile phantomjs 1.9.2 from source. When I start building it, I encounter missing header files errors. eg: wayland-client.h etc., Can any one point me to complete bundle of phantomjs 1.9.2 source code where all the header files are in place.
Link to the source code I downloaded:https://github.com/ariya/phantomjs/archive/1.9.2.tar.gz

I am trying to compile phantomjs 1.9.2 from source. When I start building it, I encounter missing header files errors. eg: wayland-client.h etc., Can any one point me to complete bundle of phantomjs 1.9.2 source code where all the header files are in place.
Link to the source code I downloaded:https://github.com/ariya/phantomjs/archive/1.9.2.tar.gz

@ghost ghost removed this from the FutureRelease milestone Jan 10, 2018

@ariya

This comment has been minimized.

Show comment
Hide comment
@ariya

ariya Mar 4, 2018

Owner

Due to limited resources, I think realistically we will never support other operating systems beyond the usual consumer ones (Windows, macOS, Linux) unless there is a significant help coming our way.

We will close this for now. If there is a new update on the subject, let's have it reopened again.
Thank you!

Owner

ariya commented Mar 4, 2018

Due to limited resources, I think realistically we will never support other operating systems beyond the usual consumer ones (Windows, macOS, Linux) unless there is a significant help coming our way.

We will close this for now. If there is a new update on the subject, let's have it reopened again.
Thank you!

@ariya ariya closed this Mar 4, 2018

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