What steps will reproduce the problem? 1.
$ fink apropos v8 Information about 9654 packages read in 0 seconds. libv8-2.1.2-dev 2.1.2-1 V8 JavaScript Engine libv8-2.1.2-shlibs 2.1.2-1 V8 JavaScript Engine libv8-2.4.2-dev 2.4.2-1 V8 JavaScript Engine libv8-2.4.2-shlibs 2.4.2-1 V8 JavaScript Engine libv80-dev 2.0.3-1 V8 JavaScript Engine libv80-shlibs 2.0.3-1 V8 JavaScript Engine
$ fink install libv8-2.4.2-dev Password: Information about 9654 packages read in 0 seconds. The following package will be installed or updated: libv8-2.4.2-dev The following 2 additional packages will be installed: libv8-2.4.2-shlibs scons The following package might be temporarily removed: libv8-2.4.2-dev Do you want to continue? [Y/n] ... .... (the build output of above packages) ..... ... Selecting previously deselected package libv8-2.4.2-dev. (Reading database ... 159489 files and directories currently installed.) Unpacking libv8-2.4.2-dev (from .../libv8-2.4.2-dev_2.4.2-1_darwin-x86_64.deb) ... Selecting previously deselected package libv8-2.4.2-shlibs. Unpacking libv8-2.4.2-shlibs (from .../libv8-2.4.2-shlibs_2.4.2-1_darwin-x86_64.deb) ... Setting up libv8-2.4.2-shlibs (2.4.2-1) ...
Setting up libv8-2.4.2-dev (2.4.2-1) ...
Updating the list of locally available binary packages. Scanning dists/unstable/main/binary-darwin-x86_64 New package: dists/unstable/main/binary-darwin-x86_64/devel/libv8-2.4.2-dev_2.4.2-1_darwin-x86_64.deb New package: dists/unstable/main/binary-darwin-x86_64/devel/libv8-2.4.2-shlibs_2.4.2-1_darwin-x86_64.deb New package: dists/unstable/main/binary-darwin-x86_64/devel/scons_1.2.0-2_darwin-x86_64.deb
2.
$ tar zxvf ../../Downloads/v8cgi-0.9.0-src.tar.gz $ cd v8cgi-0.9.0-src/
I want to use the system installed libs
$ mv v8 nothere
$ cd v8cgi/
3.
Build system seems to not recognise fink, must give paths...
http://finkproject.org/
$ scons mysql=1 sqlite=1 fcgi=1 gd=1 reuse_context=1 v8_path=/sw/lib cpppath=/sw/include\ libpath=/sw/lib config_file=/Users/jandling/Local/etc/v8cgi.conf mysql_path=/sw/include/mysql/ gl_path=/sw/include/GL/
What is the expected output? What do you see instead?
Expected complete build.
Saw:
scons: Reading SConscript files ... Checking for C header file sys/mman.h... (cached) yes Checking for C function sleep()... (cached) yes Checking for C library v8... (cached) yes scons: done reading SConscript files. scons: Building targets ... g++ -o src/lib/binary/binary.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include src/lib/binary/binary.cc g++ -o src/lib/binary/bytestorage.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -DFASTCGI -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include -Isrc/fcgi/include src/lib/binary/bytestorage.cc g++ -o lib/binary.dylib -dynamiclib src/lib/binary/binary.os src/lib/binary/bytestorage.os -L/sw/lib -L/sw/lib -L/Users/jandling/Local/lib -lv8 -lv8 -liconv g++ -o src/lib/fibers/fibers.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include src/lib/fibers/fibers.cc g++ -o lib/fibers.dylib -dynamiclib src/lib/fibers/fibers.os -L/sw/lib -L/sw/lib -L/Users/jandling/Local/lib -lv8 -lv8 g++ -o src/lib/fs/fs.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include src/lib/fs/fs.cc g++ -o src/common.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -DFASTCGI -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include -Isrc/fcgi/include src/common.cc g++ -o src/app.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -DFASTCGI -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include -Isrc/fcgi/include src/app.cc g++ -o src/path.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -DFASTCGI -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include -Isrc/fcgi/include src/path.cc g++ -o src/cache.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/Users/jandling/Local/etc/v8cgi.conf -DVERSION=0.9.0 -Ddarwin -DDSO_EXT=dylib -DREUSE_CONTEXT -DFASTCGI -Isrc -I/sw/lib/include -I/sw/include -I/Users/jandling/Local/include -Isrc/fcgi/include src/cache.cc g++ -o lib/fs.dylib -dynamiclib src/lib/fs/fs.os src/common.os src/app.os src/path.os src/cache.os src/lib/binary/bytestorage.os -L/sw/lib -L/sw/lib -L/Users/jandling/Local/lib -lv8 -lv8 Undefined symbols: "vtable for GC", referenced from: v8cgi_App::~v8cgi_App()in app.os v8cgi_App::~v8cgi_App()in app.os "setup_system(v8::Handle<v8::Object>, char**, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)", referenced from: v8cgi_App::prepare(char**) in app.os "_libiconv_close", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os ByteStorage::transcode(char const*, char const*)in bytestorage.os ByteStorage::transcode(char const*, char const*)in bytestorage.os ByteStorage::transcode(char const*, char const*)in bytestorage.os "_libiconv", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os "_libiconv_open", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os "GC::finish()", referenced from: v8cgi_App::finish() in app.os ld: symbol(s) not found collect2: ld returned 1 exit status scons: * [lib/fs.dylib] Error 1 scons: building terminated because of errors.
What version of the product are you using? On what operating system?
OS X 10.6.6 Fink 0.29.19 V8 2.4.2-1
Please provide any additional information below.
Forum/Googlegroup is closed/members only. There appears to be no mailing list, nor IRC channel. How are people supposed to discuss issues (such as this) without resorting to a bug report?
Regards,
Thorben
Comment #1
Posted on Jan 19, 2011 by Happy GiraffeHi there,
thanks for a bugreport. People usually join the Google groups in order to discuss stuff; you can also meet me on #commonjs on freenode. I will mention this somewhere in the docs.
Can you please try changing line #9 in SConstruct (if e["os"] == "windows":) by substituting "windows" with "darwin"? I believe that this might solve your compilation problems...
Comment #2
Posted on Jan 19, 2011 by Grumpy OxThanks, that helped.
Now I have a problem with memcache. The log was too long for a comment, so I attached in a text file.
memcache is installed, but there is no libmemcached/memcached.h This is what is there:
$ ls /sw/include/memcache* /sw/include/memcache.h
/sw/include/memcache: _buffer.h buffer.h
scons -h has no memcache settings listed.
Regards,
Thorben
- memcache_error.txt 26.83KB
Comment #3
Posted on Jan 19, 2011 by Happy GiraffeIf you do not wish to compile the memcached module, just add "memcached=0" to the scons line.
Comment #4
Posted on Jan 20, 2011 by Grumpy OxI do wish to have it.
But from my interpretation, v8cgi is trying to #include when it should #include , which does exist on my system.
Or are these two different memcached libraries?
Comment #5
Posted on Jan 20, 2011 by Grumpy OxMore info..
$ fink apropos memcached Information about 9654 packages read in 1 seconds. i libmemcache 1.4.0.rc2-1 C API for building memcached clients i libmemcache-shlibs 1.4.0.rc2-1 Library for building memcached clients i memcached 1.2.8-1 High-performance object caching system
$ find /sw/include/ -iname *memcache* /sw/include//apache2/apr_memcache.h /sw/include//memcache /sw/include//memcache.h
Are these not the correct packages?
Thanks for the help.
Thorben
Comment #6
Posted on Jan 20, 2011 by Happy GiraffeHm, hard to say. The memcached module is a contributed code; I am not familiar with it. On my debian/ubuntu box, installing "libmemcached-dev" was sufficient. I do not own a mac box, so this module was not tested on mac osx.
Prehaps you can try adjusting the appropriate #include line in src/lib/memcached/memcached.cc to better reflect your paths, but I strongly believe that you are missing the correct package.
Comment #7
Posted on Jan 20, 2011 by Grumpy OxOk,
I turned memcached off, just to get further through.
I number of things failed to build due to incov, or src/gc and src/system being missing from the build config. I have attached my SConstruct so you can see the changes.
I want the fcgi module and not the apache module. Now I am stuck at this error:
scons mysql=1 sqlite=1 fcgi=1 gd=1 reuse_context=1 v8_path=/sw/lib cpppath=/sw/include\;/Users/jandling/Local/include libpath=/sw/lib\;/Users/jandling/Local/lib/ config_file=/Users/jandling/Local/etc/v8cgi.conf mysql_path=/sw/include/mysql/ gl_path=/sw/include/GL/ memcached=0 module=0 scons: Reading SConscript files ... Checking for C header file sys/mman.h... (cached) yes Checking for C function sleep()... (cached) yes Checking for C library v8... (cached) yes scons: done reading SConscript files. scons: Building targets ... g++ -o v8cgi src/common.os src/system.os src/cache.os src/gc.os src/app.os src/path.os src/lib/binary/bytestorage.os src/v8cgi.o -L/sw/lib -L/sw/lib -L/Users/jandling/Local/lib -lv8 -lv8 -lfcgi -liconv Undefined symbols: "v8::Debug::EnableAgent(char const*, int, bool)", referenced from: v8cgi_CGI::process_args(int, char**)in v8cgi.o ld: symbol(s) not found collect2: ld returned 1 exit status scons: * [v8cgi] Error 1 scons: building terminated because of errors.
- SConstruct 10.46KB
Comment #8
Posted on Jan 20, 2011 by Grumpy OxI should say, that I tried with explicit debug=0 and verbose=0
Comment #9
Posted on Jan 20, 2011 by Happy GiraffeThe "v8::Debug::EnableAgent" is defined in v8/include/v8-debug.h (this is not affected by the "debug=0" scons option, which handles v8cgi debugging options; this is a standard v8 feature). It looks like your v8 library is missing this symbol... it might be easier for you to compile v8 yourself.
Alternatively, scan the packaged v8 library for this symbol; if you do not succeed, report it as a bug to library packager.
Comment #10
Posted on Sep 28, 2011 by Happy Camel@Thorben You need libmemcached, not memcached!
Comment #11
Posted on Sep 28, 2011 by Happy CamelI am getting the following error using OSX Lion:
g++ -o v8cgi src/common.os src/system.os src/cache.os src/gc.os src/app.os src/path.os src/lib/binary/bytestorage.os src/v8cgi.o -L/pinf/workspaces/github.com/pinf/loader-js/demos/V8CGI/v8cgi-0.9.1-src/v8 -lv8 -lv8 Undefined symbols for architecture x86_64: "_iconv_open", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os "_iconv_close", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os "_iconv", referenced from: ByteStorage::transcode(char const*, char const*)in bytestorage.os ld: symbol(s) not found for architecture x86_64
Looks like it needs a different iconv that what ships with OSX Lion.
Comment #12
Posted on Sep 28, 2011 by Happy GiraffeThe iconv-related issue seems to be caused by bad SConstruct definition; will be hopefully fixed soon.
Comment #13
Posted on Sep 28, 2011 by Happy CamelTo fix this (Comment 11) I did:
brew install libiconv
Edit SConstruct line 242 by adding 'or env["os"] == "darwin"'
Then run:
scons libpath=/usr/local/Cellar/libiconv/1.13.1/include
The SConstruct fix should be comitted soon.
Comment #14
Posted on Sep 28, 2011 by Happy GiraffeCommited in r922.
Comment #15
Posted on Dec 14, 2011 by Happy GiraffeProbably fixed :)
Status: Fixed
Labels:
Type-Defect
Priority-Medium