Installing python-spidermonkey

ClickAndLoad - "ClickAndLoad":
        bool extern : "Allow external link adding" = True
        bool activated : "Activated" = True

install package python-pyrex. move away wd-lib.list (for new libc6 package)

mv /var/lib/dpkg/info/wd-lib.list /root
apt-get install python-pyrex
mv /root/wd-lib.list /var/lib/dpkg/info

Zuerst ein tmp-Verzechnis erstellen:

$ mkdir /home/pyload/tmp
174: print filename
412: tmpdir = tempfile.mkdtemp(prefix="easy_install-",dir="/home/pyload/tmp")
MyBookLive:/DataVolume/shares/Applications/python-spidermonkey# python2.6 setup.py --system-library build
/tmp/easy_install-DXWK35/nose-1.1.2.tar.gz
Traceback (most recent call last):
  File "setup.py", line 190, in <module>
    test_suite = 'nose.collector',
  File "/usr/lib/python2.6/distutils/core.py", line 113, in setup
    _setup_distribution = dist = klass(attrs)
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/dist.py", line 219, in __init__
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/dist.py", line 243, in fetch_build_eggs
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 522, in resolve
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 758, in best_match
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 770, in obtain
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/dist.py", line 286, in fetch_build_egg
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 446, in easy_install
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 476, in install_item
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 626, in install_eggs
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/archive_util.py", line 67, in unpack_archive
  File "/DataVolume/shares/Applications/python-spidermonkey/setuptools-0.6c9-py2.6.egg/setuptools/archive_util.py", line 193, in unpack_tarfile
  File "/usr/lib/python2.6/tarfile.py", line 2152, in _extract_member
    self.makefile(tarinfo, targetpath)
  File "/usr/lib/python2.6/tarfile.py", line 2194, in makefile
    target.close()
IOError: [Errno 28] No space left on device
# svn checkout http://python-spidermonkey.googlecode.com/svn/trunk/ python-spidermonkey-read-only
$ git clone https://github.com/davisp/python-spidermonkey.git
$ apt-get install pkg-config
$ apt-get install libnspr4-dev
$ apt-get install libmozjs-dev
$ python setup.py --system-library build
MyBookLive:/DataVolume/shares/Applications/python-spidermonkey# python2.6 setup.py --system-library build
---------------------------------------------------------------------------
This script requires setuptools version 0.6c9 to run (even to display
help).  I will attempt to download it for you (from
http://pypi.python.org/packages/2.6/s/setuptools/), but
you may need to enable firewall access for this script first.
I will start the download in 15 seconds.

(Note: if this machine does not have network access, please obtain the file

   http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg

and place it in this directory before rerunning this script.)
---------------------------------------------------------------------------
Downloading http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg

/home/pyload/tmp/easy_install-MMxMSs/nose-1.1.2.tar.gz

Installed /DataVolume/shares/Applications/python-spidermonkey/nose-1.1.2-py2.6.egg
running build
running build_ext
building 'spidermonkey' extension
creating build
creating build/temp.linux-ppc-2.6
creating build/temp.linux-ppc-2.6/spidermonkey
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/pyiter.c -o build/temp.linux-ppc-2.6/spidermonkey/pyiter.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/spidermonkey.c -o build/temp.linux-ppc-2.6/spidermonkey/spidermonkey.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/context.c -o build/temp.linux-ppc-2.6/spidermonkey/context.o -DXP_UNIX -DJS_THREADSAFE
In file included from /usr/include/mozjs/jsatom.h:53,
                 from /usr/include/mozjs/jscntxt.h:49,
                 from spidermonkey/context.c:14:
/usr/include/mozjs/jslock.h:189: warning: function declaration isn't a prototype
spidermonkey/context.c: In function 'Context_new':
spidermonkey/context.c:383: warning: implicit declaration of function 'JS_SetBranchCallback'
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/convert.c -o build/temp.linux-ppc-2.6/spidermonkey/convert.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/jsobject.c -o build/temp.linux-ppc-2.6/spidermonkey/jsobject.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/jsiterator.c -o build/temp.linux-ppc-2.6/spidermonkey/jsiterator.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/double.c -o build/temp.linux-ppc-2.6/spidermonkey/double.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/error.c -o build/temp.linux-ppc-2.6/spidermonkey/error.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/jsarray.c -o build/temp.linux-ppc-2.6/spidermonkey/jsarray.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/jsfunction.c -o build/temp.linux-ppc-2.6/spidermonkey/jsfunction.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/integer.c -o build/temp.linux-ppc-2.6/spidermonkey/integer.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/string.c -o build/temp.linux-ppc-2.6/spidermonkey/string.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/pyobject.c -o build/temp.linux-ppc-2.6/spidermonkey/pyobject.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/hashcobj.c -o build/temp.linux-ppc-2.6/spidermonkey/hashcobj.o -DXP_UNIX -DJS_THREADSAFE
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/mozjs -I/usr/include/nspr -I/usr/include/python2.6 -c spidermonkey/runtime.c -o build/temp.linux-ppc-2.6/spidermonkey/runtime.o -DXP_UNIX -DJS_THREADSAFE
creating build/lib.linux-ppc-2.6
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-ppc-2.6/spidermonkey/pyiter.o build/temp.linux-ppc-2.6/spidermonkey/spidermonkey.o build/temp.linux-ppc-2.6/spidermonkey/context.o build/temp.linux-ppc-2.6/spidermonkey/convert.o build/temp.linux-ppc-2.6/spidermonkey/jsobject.o build/temp.linux-ppc-2.6/spidermonkey/jsiterator.o build/temp.linux-ppc-2.6/spidermonkey/double.o build/temp.linux-ppc-2.6/spidermonkey/error.o build/temp.linux-ppc-2.6/spidermonkey/jsarray.o build/temp.linux-ppc-2.6/spidermonkey/jsfunction.o build/temp.linux-ppc-2.6/spidermonkey/integer.o build/temp.linux-ppc-2.6/spidermonkey/string.o build/temp.linux-ppc-2.6/spidermonkey/pyobject.o build/temp.linux-ppc-2.6/spidermonkey/hashcobj.o build/temp.linux-ppc-2.6/spidermonkey/runtime.o -L/usr/lib/xulrunner-devel-1.9.1/lib -lmozjs -lplds4 -lplc4 -lnspr4 -lpthread -ldl -o build/lib.linux-ppc-2.6/spidermonkey.so
MyBookLive:/DataVolume/shares/Applications/python-spidermonkey# python2.6 setup.py --system-library install
running install
Checking .pth file support in /usr/local/lib/python2.6/dist-packages/
/usr/bin/python2.6 -E -c pass
TEST PASSED: /usr/local/lib/python2.6/dist-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating python_spidermonkey.egg-info
writing python_spidermonkey.egg-info/PKG-INFO
writing top-level names to python_spidermonkey.egg-info/top_level.txt
writing dependency_links to python_spidermonkey.egg-info/dependency_links.txt
writing manifest file 'python_spidermonkey.egg-info/SOURCES.txt'
reading manifest file 'python_spidermonkey.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README'
writing manifest file 'python_spidermonkey.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-ppc/egg
running install_lib
running build_ext
creating build/bdist.linux-ppc
creating build/bdist.linux-ppc/egg
copying build/lib.linux-ppc-2.6/spidermonkey.so -> build/bdist.linux-ppc/egg
creating stub loader for spidermonkey.so
byte-compiling build/bdist.linux-ppc/egg/spidermonkey.py to spidermonkey.pyc
creating build/bdist.linux-ppc/egg/EGG-INFO
copying python_spidermonkey.egg-info/PKG-INFO -> build/bdist.linux-ppc/egg/EGG-INFO
copying python_spidermonkey.egg-info/SOURCES.txt -> build/bdist.linux-ppc/egg/EGG-INFO
copying python_spidermonkey.egg-info/dependency_links.txt -> build/bdist.linux-ppc/egg/EGG-INFO
copying python_spidermonkey.egg-info/not-zip-safe -> build/bdist.linux-ppc/egg/EGG-INFO
copying python_spidermonkey.egg-info/top_level.txt -> build/bdist.linux-ppc/egg/EGG-INFO
writing build/bdist.linux-ppc/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/python_spidermonkey-0.0.9-py2.6-linux-ppc.egg' and adding 'build/bdist.linux-ppc/egg' to it
removing 'build/bdist.linux-ppc/egg' (and everything under it)
Processing setuptools-0.6c9-py2.6.egg
Copying setuptools-0.6c9-py2.6.egg to /usr/local/lib/python2.6/dist-packages
Adding setuptools 0.6c9 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Installing easy_install-2.6 script to /usr/local/bin

Installed /usr/local/lib/python2.6/dist-packages/setuptools-0.6c9-py2.6.egg
Processing dependencies for setuptools==0.6c9
Finished processing dependencies for setuptools==0.6c9
Processing python_spidermonkey-0.0.9-py2.6-linux-ppc.egg
creating /usr/local/lib/python2.6/dist-packages/python_spidermonkey-0.0.9-py2.6-linux-ppc.egg
Extracting python_spidermonkey-0.0.9-py2.6-linux-ppc.egg to /usr/local/lib/python2.6/dist-packages
Adding python-spidermonkey 0.0.9 to easy-install.pth file

Installed /usr/local/lib/python2.6/dist-packages/python_spidermonkey-0.0.9-py2.6-linux-ppc.egg
Processing dependencies for python-spidermonkey==0.0.9
Finished processing dependencies for python-spidermonkey==0.0.9

MingW: UNIX incompatible & compile verbose

Building Mingw executables using Cygwin

One particular vexing source of error is when you include a file that
exists for Cygwin, but not for Mingw32; the compilation goes ok, but
the compiler is really using the *WRONG* include file and you get link
time errors.

Let’s say you have some code that uses the POSIX/BSD “times” function
which is not part of the ANSI standard and does not exist under Mingw32
runtime.

  #include
  #include
  int main () {
      struct tms time_info;
      times (&time_info);
      printf ("user_time = %d, system_time = %d\n",
              time_info.tms_utime, time_info.tms_stime);
      return 0;
  }

Now build the “times” program:

  $ gcc -c -mno-cygwin times.c
  $ gcc -o times -mno-cygwin times.o
  times.o(.text+0x34):times.c: undefined reference to `times'
  collect2: ld returned 1 exit status

Notice that the compilation goes just fine, but you get an undefined
reference to the “times” function.

What happens is that Cygwin first looks in the mingw32 include directory
the <sys/times.h> file and it can’t find it; it then looks at the default
directory and does find it and uses it and everything is fine at this
point. However, at link time, the Mingw32 runtime library lacks this
function and you get an undefined error. Sometimes these are so confusing
that you may get sidetracked and not look at the real source of the
problem — your own code!

So, how do you diagnose these errors? Whenever you get such errors, use
the -v (verbose) and -H (show include files) options when compiling
to see where include files are coming from. Then use -v option when
linking to see what libraries are being linked in.

Another source of error is creating Mingw DLLs using dllwrap. The current
version of dllwrap does not know the -mno-cygwin option and will
incorrectly add Cygwin libraries when creating DLLs. The workaround is
quite simple: add the --target=i386-mingw32 option instead. In the future,
dllwrap will simply translate the -mno-cygwin option to the --target
option and it will just work.

IntelliJ Shortcuts

CTRL + W = Increase current selection
CTRL + ALT + T = Surround with…

CTRL + B = Jump to declaration
CTRL + N = Jump to class
CTRL + ALT + Cursor-left = Jump to recently visited file
CTRL + E = List of recently visited files

CTRL + H = Show hierarchy
CTRL + ALT + U = Show hierarchy as UML-diagram

ALT + F7 = Find usage by category
CTRL + ALT + F7 = Show usages as popup

CTRL + Q = Quick JavaDoc
SHIFT + F1 = JavaDoc in browser
CTRL + SHIFT + I = Brief view of class inside

SHIFT + F6 = Refactoring

CTRL + J = Popup of live-templates
TAB = Insert live-template

CTRL + D = Show differences in “Changes”-tab
CTRL + ALT + SHIFT + D = Show differences as UML-diagram

CTRL + SHIF + [1-9] = Set bookmark
CTRL + [1-9] = Jump to bookmark

Keyboard Shortcuts You Cannot Miss
Keyboard Shortcuts