Open raneri opened 11 years ago
@raneri, can you post the contents of /home/pi/node-openvg-canvas/npm-debug.log ?
Hi @luismreis, here it is:
pi@raspberrypi ~/node-openvg-canvas $ cat /home/pi/node-openvg-canvas/npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install' ]
2 info using npm@1.1.62
3 info using node@v0.8.11
4 verbose read json /home/pi/node-openvg-canvas/package.json
5 verbose readDependencies using package.json deps
6 verbose install where, deps [ '/home/pi/node-openvg-canvas',
6 verbose install [ 'openvg', 'node-image', 'tap' ] ]
7 verbose from cache /home/pi/node-openvg-canvas/package.json
8 info preinstall openvg-canvas@1.1.3
9 verbose read json /home/pi/node-openvg-canvas/node_modules/node-image/package.json
10 verbose read json /home/pi/node-openvg-canvas/node_modules/tap/package.json
11 verbose from cache /home/pi/node-openvg-canvas/package.json
12 verbose readDependencies using package.json deps
13 verbose read json /home/pi/node-openvg-canvas/node_modules/.bin/package.json
14 verbose read json /home/pi/node-openvg-canvas/node_modules/___tap.npm/package.json
15 verbose from cache /home/pi/node-openvg-canvas/node_modules/node-image/package.json
16 verbose from cache /home/pi/node-openvg-canvas/node_modules/tap/package.json
17 verbose cache add [ 'openvg@0.4.0', null ]
18 silly cache add name=undefined spec="openvg@0.4.0" args=["openvg@0.4.0",null]
19 verbose parsed url { pathname: 'openvg@0.4.0',
19 verbose parsed url path: 'openvg@0.4.0',
19 verbose parsed url href: 'openvg@0.4.0' }
20 silly cache add name="openvg" spec="0.4.0" args=["openvg","0.4.0"]
21 verbose parsed url { pathname: '0.4.0', path: '0.4.0', href: '0.4.0' }
22 verbose addNamed [ 'openvg', '0.4.0' ]
23 verbose addNamed [ '0.4.0', '0.4.0' ]
24 verbose cache add [ 'node-image@https://github.com/luismreis/node-image/tarball/master',
24 verbose cache add null ]
25 silly cache add name=undefined spec="node-image@https://github.com/luismreis/node-image/tarball/master" args=["node-image@https://github.com/luismreis/node-image/tarball/master",null]
26 verbose parsed url { pathname: 'node-image@https://github.com/luismreis/node-image/tarball/master',
26 verbose parsed url path: 'node-image@https://github.com/luismreis/node-image/tarball/master',
26 verbose parsed url href: 'node-image@https://github.com/luismreis/node-image/tarball/master' }
27 silly cache add name="node-image" spec="https://github.com/luismreis/node-image/tarball/master" args=["node-image","https://github.com/luismreis/node-image/tarball/master"]
28 verbose parsed url { protocol: 'https:',
28 verbose parsed url slashes: true,
28 verbose parsed url host: 'github.com',
28 verbose parsed url hostname: 'github.com',
28 verbose parsed url href: 'https://github.com/luismreis/node-image/tarball/master',
28 verbose parsed url pathname: '/luismreis/node-image/tarball/master',
28 verbose parsed url path: '/luismreis/node-image/tarball/master' }
29 verbose already installed skipping tap@* /home/pi/node-openvg-canvas
30 silly lockFile 139aa0ec-openvg-0-4-0 openvg@0.4.0
31 verbose lock openvg@0.4.0 /home/pi/.npm/139aa0ec-openvg-0-4-0.lock
32 silly lockFile 90f730a7-smreis-node-image-tarball-master https://github.com/luismreis/node-image/tarball/master
33 verbose lock https://github.com/luismreis/node-image/tarball/master /home/pi/.npm/90f730a7-smreis-node-image-tarball-master.lock
34 verbose addRemoteTarball [ 'https://github.com/luismreis/node-image/tarball/master',
34 verbose addRemoteTarball null ]
35 info retry fetch attempt 1 at 02:25:23
36 verbose fetch to= /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/tmp.tgz
37 verbose url raw openvg/0.4.0
38 verbose url resolving [ 'https://registry.npmjs.org/', './openvg/0.4.0' ]
39 verbose url resolved https://registry.npmjs.org/openvg/0.4.0
40 info trying registry request attempt 1 at 02:25:23
41 verbose etag "B7QEM8ZX8XML9ZPMTUNAWPPL9"
42 http GET https://registry.npmjs.org/openvg/0.4.0
43 http GET https://github.com/luismreis/node-image/tarball/master
44 http 304 https://registry.npmjs.org/openvg/0.4.0
45 silly registry.get cb [ 304,
45 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B03)',
45 silly registry.get etag: '"B7QEM8ZX8XML9ZPMTUNAWPPL9"',
45 silly registry.get date: 'Sat, 23 Feb 2013 01:25:26 GMT',
45 silly registry.get 'content-length': '0' } ]
46 verbose etag openvg/0.4.0 from cache
47 verbose read json /home/pi/.npm/openvg/0.4.0/package/package.json
48 http 200 https://github.com/luismreis/node-image/tarball/master
49 silly lockFile 139aa0ec-openvg-0-4-0 openvg@0.4.0
50 verbose tar unpack /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/tmp.tgz
51 silly lockFile ea5f83d9-3540-0-14417572785168886-package /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package
52 verbose lock /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package /home/pi/.npm/ea5f83d9-3540-0-14417572785168886-package.lock
53 silly gunzTarPerm modes [ '755', '644' ]
54 silly gunzTarPerm extractEntry
55 silly gunzTarPerm modified mode [ '', 509, 493 ]
56 silly gunzTarPerm extractEntry LICENSES
57 silly gunzTarPerm modified mode [ 'LICENSES', 436, 420 ]
58 silly gunzTarPerm extractEntry README.md
59 silly gunzTarPerm modified mode [ 'README.md', 436, 420 ]
60 silly gunzTarPerm extractEntry binding.gyp
61 silly gunzTarPerm modified mode [ 'binding.gyp', 436, 420 ]
62 silly gunzTarPerm extractEntry lib/
63 silly gunzTarPerm modified mode [ 'lib/', 509, 493 ]
64 silly gunzTarPerm extractEntry lib/image.js
65 silly gunzTarPerm modified mode [ 'lib/image.js', 436, 420 ]
66 silly gunzTarPerm extractEntry package.json
67 silly gunzTarPerm modified mode [ 'package.json', 436, 420 ]
68 silly gunzTarPerm extractEntry src/
69 silly gunzTarPerm modified mode [ 'src/', 509, 493 ]
70 silly gunzTarPerm extractEntry src/FreeImage.cpp
71 silly gunzTarPerm modified mode [ 'src/FreeImage.cpp', 436, 420 ]
72 silly gunzTarPerm extractEntry src/FreeImage.h
73 silly gunzTarPerm modified mode [ 'src/FreeImage.h', 436, 420 ]
74 silly gunzTarPerm extractEntry src/Image.cpp
75 silly gunzTarPerm modified mode [ 'src/Image.cpp', 436, 420 ]
76 silly gunzTarPerm extractEntry src/Image.h
77 silly gunzTarPerm modified mode [ 'src/Image.h', 436, 420 ]
78 silly gunzTarPerm extractEntry src/bindings.cpp
79 silly gunzTarPerm modified mode [ 'src/bindings.cpp', 436, 420 ]
80 silly gunzTarPerm extractEntry src/common.h
81 silly gunzTarPerm modified mode [ 'src/common.h', 436, 420 ]
82 silly gunzTarPerm extractEntry test/
83 silly gunzTarPerm modified mode [ 'test/', 509, 493 ]
84 silly gunzTarPerm extractEntry test/mike_scooter.jpg
85 silly gunzTarPerm modified mode [ 'test/mike_scooter.jpg', 509, 493 ]
86 silly gunzTarPerm extractEntry test/test-memory.js
87 silly gunzTarPerm modified mode [ 'test/test-memory.js', 436, 420 ]
88 silly gunzTarPerm extractEntry test/test.js
89 silly gunzTarPerm modified mode [ 'test/test.js', 436, 420 ]
90 verbose read json /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package/package.json
91 silly lockFile ea5f83d9-3540-0-14417572785168886-package /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package
92 verbose from cache /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package/package.json
93 verbose tar pack [ '/home/pi/.npm/node-image/0.5.0/package.tgz',
93 verbose tar pack '/home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package' ]
94 verbose tarball /home/pi/.npm/node-image/0.5.0/package.tgz
95 verbose folder /home/pi/tmp/npm-2156/1361582723540-0.14417572785168886/package
96 silly lockFile 31d3f67a-npm-node-image-0-5-0-package-tgz /home/pi/.npm/node-image/0.5.0/package.tgz
97 verbose lock /home/pi/.npm/node-image/0.5.0/package.tgz /home/pi/.npm/31d3f67a-npm-node-image-0-5-0-package-tgz.lock
98 silly lockFile 31d3f67a-npm-node-image-0-5-0-package-tgz /home/pi/.npm/node-image/0.5.0/package.tgz
99 silly lockFile e0d7a673--pi-npm-node-image-0-5-0-package /home/pi/.npm/node-image/0.5.0/package
100 verbose lock /home/pi/.npm/node-image/0.5.0/package /home/pi/.npm/e0d7a673--pi-npm-node-image-0-5-0-package.lock
101 silly lockFile e0d7a673--pi-npm-node-image-0-5-0-package /home/pi/.npm/node-image/0.5.0/package
102 verbose tar unpack /home/pi/.npm/node-image/0.5.0/package.tgz
103 silly lockFile e0d7a673--pi-npm-node-image-0-5-0-package /home/pi/.npm/node-image/0.5.0/package
104 verbose lock /home/pi/.npm/node-image/0.5.0/package /home/pi/.npm/e0d7a673--pi-npm-node-image-0-5-0-package.lock
105 silly gunzTarPerm modes [ '755', '644' ]
106 silly gunzTarPerm extractEntry package.json
107 silly gunzTarPerm extractEntry README.md
108 silly gunzTarPerm extractEntry LICENSES
109 silly gunzTarPerm extractEntry lib/image.js
110 silly gunzTarPerm extractEntry binding.gyp
111 silly gunzTarPerm extractEntry src/Image.cpp
112 silly gunzTarPerm extractEntry src/common.h
113 silly gunzTarPerm extractEntry src/bindings.cpp
114 silly gunzTarPerm extractEntry src/FreeImage.cpp
115 silly gunzTarPerm extractEntry src/Image.h
116 silly gunzTarPerm extractEntry src/FreeImage.h
117 silly gunzTarPerm extractEntry test/test-memory.js
118 silly gunzTarPerm extractEntry test/test.js
119 silly gunzTarPerm extractEntry test/mike_scooter.jpg
120 verbose read json /home/pi/.npm/node-image/0.5.0/package/package.json
121 silly lockFile e0d7a673--pi-npm-node-image-0-5-0-package /home/pi/.npm/node-image/0.5.0/package
122 silly shasum updated bytes 40960
123 silly shasum updated bytes 40960
124 silly shasum updated bytes 29746
125 info shasum 729ae65c37cd0107b137025d606b7ea8f2f65f57
125 info shasum /home/pi/.npm/node-image/0.5.0/package.tgz
126 verbose from cache /home/pi/.npm/node-image/0.5.0/package/package.json
127 verbose chmod /home/pi/.npm/node-image/0.5.0/package.tgz 644
128 verbose chown /home/pi/.npm/node-image/0.5.0/package.tgz [ 1000, 1000 ]
129 silly lockFile 90f730a7-smreis-node-image-tarball-master https://github.com/luismreis/node-image/tarball/master
130 info already installed node-image@0.5.0
131 silly resolved [ { name: 'openvg',
131 silly resolved preferGlobal: 'true',
131 silly resolved version: '0.4.0',
131 silly resolved author:
131 silly resolved { name: 'Luis Reis',
131 silly resolved email: 'luis@luismreis.com',
131 silly resolved url: 'http://luismreis.com/' },
131 silly resolved description: 'OpenVG bindings for node',
131 silly resolved bin: { 'node-openvg': './bin/node-openvg' },
131 silly resolved main: 'openvg.js',
131 silly resolved repository:
131 silly resolved { type: 'git',
131 silly resolved url: 'git://github.com/luismreis/node-openvg.git' },
131 silly resolved keyword: [ 'raspberry-pi', 'openvg' ],
131 silly resolved dependencies: {},
131 silly resolved devDependencies: {},
131 silly resolved license: 'MIT',
131 silly resolved engines: { node: '>=0.8' },
131 silly resolved scripts: { install: 'node-gyp rebuild' },
131 silly resolved gypfile: true,
131 silly resolved readme: '# node-openvg (OpenVG bindings for node.js)\n\nThis module implemements bindings for OpenVG. It is targeted to the raspberry-pi.\n\nIt is heavily inspired in node-sdl and openvg.\n\n## 0. Installation\n\nThe same instructions for node-sdl apply here, namely: get the package and build\nit through node-waf.\n\nTo install node on the raspberry follow the instructions on the gist Node.js for Raspberry Pi. Node 0.8.8 is known to work.\n\nFor now there are no extra dependencies other than node itself.\n\nFetch the source:\n\n git clone https://github.com/luismreis/node-openvg.git\n\nBuild the package:\n\n cd node-openvg\n node-waf configure build\n\nTo test:\n\n bin/node-openvg sample/hello.js\n\n### NPM\n\nThis module is currently available through npm, so, to install it do:\n\n npm install openvg\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 Luis Reis\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n',
131 silly resolved _id: 'openvg@0.4.0',
131 silly resolved _from: 'openvg@0.4.0' } ]
132 info install openvg@0.4.0 into /home/pi/node-openvg-canvas
133 info installOne openvg@0.4.0
134 verbose from cache /home/pi/.npm/openvg/0.4.0/package/package.json
135 info /home/pi/node-openvg-canvas/node_modules/openvg unbuild
136 verbose read json /home/pi/node-openvg-canvas/node_modules/openvg/package.json
137 verbose tar unpack /home/pi/.npm/openvg/0.4.0/package.tgz
138 silly lockFile d7cc44ed-penvg-canvas-node-modules-openvg /home/pi/node-openvg-canvas/node_modules/openvg
139 verbose lock /home/pi/node-openvg-canvas/node_modules/openvg /home/pi/.npm/d7cc44ed-penvg-canvas-node-modules-openvg.lock
140 silly gunzTarPerm modes [ '755', '644' ]
141 silly gunzTarPerm extractEntry README.md
142 silly gunzTarPerm extractEntry wscript
143 silly gunzTarPerm extractEntry .npmignore
144 silly gunzTarPerm extractEntry bin/
145 silly gunzTarPerm extractEntry bin/node-openvg
146 silly gunzTarPerm extractEntry package.json
147 silly gunzTarPerm extractEntry examples/
148 silly gunzTarPerm extractEntry examples/hello.js
149 silly gunzTarPerm extractEntry examples/panic.js
150 silly gunzTarPerm extractEntry examples/hwinfo.js
151 silly gunzTarPerm extractEntry examples/fonts/
152 silly gunzTarPerm extractEntry examples/fonts/sans.json
153 silly gunzTarPerm extractEntry examples/fonts/serif.json
154 silly gunzTarPerm extractEntry examples/fonts/sans-mono.json
155 silly gunzTarPerm extractEntry examples/modules/
156 silly gunzTarPerm extractEntry examples/modules/text.js
157 silly gunzTarPerm extractEntry examples/modules/util.js
158 silly gunzTarPerm extractEntry binding.gyp
159 silly gunzTarPerm extractEntry src/
160 silly gunzTarPerm extractEntry src/openvg.h
161 silly gunzTarPerm extractEntry src/openvg.cc
162 silly gunzTarPerm extractEntry src/init-egl.cc
163 silly gunzTarPerm extractEntry src/egl.h
164 silly gunzTarPerm extractEntry src/egl.cc
165 silly gunzTarPerm extractEntry src/argchecks.h
166 silly gunzTarPerm extractEntry openvg.js
167 verbose read json /home/pi/node-openvg-canvas/node_modules/openvg/package.json
168 silly lockFile d7cc44ed-penvg-canvas-node-modules-openvg /home/pi/node-openvg-canvas/node_modules/openvg
169 info preinstall openvg@0.4.0
170 verbose from cache /home/pi/node-openvg-canvas/node_modules/openvg/package.json
171 verbose readDependencies using package.json deps
172 verbose from cache /home/pi/node-openvg-canvas/node_modules/openvg/package.json
173 verbose readDependencies using package.json deps
174 silly resolved []
175 verbose about to build /home/pi/node-openvg-canvas/node_modules/openvg
176 info build /home/pi/node-openvg-canvas/node_modules/openvg
177 verbose from cache /home/pi/node-openvg-canvas/node_modules/openvg/package.json
178 verbose linkStuff [ false,
178 verbose linkStuff false,
178 verbose linkStuff false,
178 verbose linkStuff '/home/pi/node-openvg-canvas/node_modules' ]
179 info linkStuff openvg@0.4.0
180 warn prefer global openvg@0.4.0 should be installed with -g
181 verbose linkBins openvg@0.4.0
182 verbose link bins [ { 'node-openvg': './bin/node-openvg' },
182 verbose link bins '/home/pi/node-openvg-canvas/node_modules/.bin',
182 verbose link bins false ]
183 verbose linkMans openvg@0.4.0
184 verbose rebuildBundles openvg@0.4.0
185 info install openvg@0.4.0
186 verbose unsafe-perm in lifecycle true
187 silly exec sh "-c" "node-gyp rebuild"
188 silly sh,-c,node-gyp rebuild,/home/pi/node-openvg-canvas/node_modules/openvg spawning
189 info openvg@0.4.0 Failed to exec install script
190 info /home/pi/node-openvg-canvas/node_modules/openvg unbuild
191 verbose from cache /home/pi/node-openvg-canvas/node_modules/openvg/package.json
192 info preuninstall openvg@0.4.0
193 info uninstall openvg@0.4.0
194 verbose true,/home/pi/node-openvg-canvas/node_modules,/home/pi/node-openvg-canvas/node_modules unbuild openvg@0.4.0
195 verbose /home/pi/node-openvg-canvas/node_modules/.bin,[object Object] binRoot
196 info postuninstall openvg@0.4.0
197 error openvg@0.4.0 install: node-gyp rebuild
197 error sh "-c" "node-gyp rebuild"
failed with 1
198 error Failed at the openvg@0.4.0 install script.
198 error This is most likely a problem with the openvg package,
198 error not with npm itself.
198 error Tell the author that this fails on your system:
198 error node-gyp rebuild
198 error You can get their info via:
198 error npm owner ls openvg
198 error There is likely additional logging output above.
199 error System Linux 3.6.11+
200 error command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
201 error cwd /home/pi/node-openvg-canvas
202 error node -v v0.8.11
203 error npm -v 1.1.62
204 error code ELIFECYCLE
205 verbose exit [ 1, true ]
Hi @raneri, I've just published 0.4.1. There was some shuffling on the raspberry pi's videocore headers.
Can you check if it works for you ?
Hi Luis, thank you very much! I check it and then I will tell you the results.
Hi @luismreis, where is it? GitHub still says that the last commit is: Jan 21, 2013
Sorry @raneri, I wasn't clear: The module that was broken was node-openvg. That's the one that has been updated. node-openvg-canvas should work just fine.
Hi @luismreis -- sorry for the late answer, here in Italy we are catched by the election day :)
pi@raspberrypi ~ $ git clone https://github.com/luismreis/node-openvg.git
Cloning into 'node-openvg'... remote: Counting objects: 451, done. remote: Compressing objects: 100% (241/241), done. remote: Total 451 (delta 297), reused 349 (delta 195) Receiving objects: 100% (451/451), 152.64 KiB | 68 KiB/s, done. Resolving deltas: 100% (297/297), done.
pi@raspberrypi ~ $ cd node-openvg
pi@raspberrypi ~/node-openvg $ node-waf configure build arg[0] directory does not contain a wscript file
You shouldn't be using waf, please use node-gyp.
Also, node currently has an official raspberry pi build. Check node-v0.8.20-linux-arm-pi.tar.gz at http://nodejs.org/dist/v0.8.20/.
Sorry, but the packages are marked node 0.8.x, so, updating waf doesn't make much sense currently.
To build with node-gyp use:
npm install -g node-gyp
node-gyp configure build
(the npm command may need a sudo)
The first time you run node-gyp configure it will be very slow, but you shouldn't need to run it again.
Now it works, THANK YOU SO MUCH. I had to replace node-openvg 0.4.0 bin folder with the compiled 0.4.1. I think that the instructions on github have to be fixed to help people that will have the same problems like me. Thank you again and congrats for your excellent work!
PS: The image has been uploaded mirrored, but it is ok in the real world :)
Cool!!
Are you talking about the node 0.6 version ? Or am I missing something ?
The issue with the node-openvg module is fixed, so it shouldn't happen again. I'm having some trouble running npm update
(on another project) but that should be a problem on npm and not on node-openvg.
package.json for openvg-canvas
currently specifies a dependency of openvg
version of exactly 0.4.0 (which is the one with the bug in it which fails to compile) instead of 0.4.x.
I did try changing the "0.4.0" to "0.4.x" for the openvg dependency in package.json, which then allows npm to grab openvg 0.4.1 and compile, but I can't actually run any of the examples as they crash with a segfault so I'm not sure if they compiled correctly or it is something else causing the segfault.
Hello @luismreis (sorry I have been offline during the weekend). Unfortunately, I didn't understand exactly where the problem was, exactly. If node-openvg is now ok, maybe it will be fixed for everyone.
Thanks @adammw and @raneri ! I'll check that ASAP.
I'll make it clearer that this only works on node 0.8, specially now that the node-waf build has been removed.
@adammw, I've just bumped the version requirement to "~0.4.1" which should solve the openvg dependency. My bad.
What node are you using ? I'm building it on my rpi (and you know that from your gist) and @raneri seems to be using an oficial build. Also, is your user pi part of the video group ? (you may need to run a adduser pi video
).
Can you please test again ? If you need more demos, Hypnos works really well on a non over-clocked pi. I'm porting and optimizing other demos.
@adammw Can you check if the demos work with the supplied node-canvas script ?
Thanks!
My installation also failed while doing npm install
. And here's how the log file looks like:
/home/pi/node-openvg-canvas/npm-debug.log
Hey, @reefat, it seems that you are using a very recent version of node (0.11.8). The 0.11 versions have been very unstable in what regards to native code integration (mainly due to V8 changes). Can you try 0.11.4 - which I think was the last version I tested - or 0.10.x - which is stable ?
I will have to do it over, meaning install Raspbian from raw image again. I will try with 0.10.22. Are you sure that's going to work?
Awesome! it worked. Thanks a lot.
Hey Luis,
How are you? Just a quick thought crossed across my mind. Why don't you create a simple (should be quick) script that will help developer to simulate your openvg-canvas on webkit browsers (on a developer's PC/Mac). Do you see what I'm saying? What do you think?
Hi @reefat, take a look at lxjs-tweetwall that already does something like that. Works on both browser and OpenVG.
I'm stuck at: npm install