From: mmalmi@cc.hut.fi Date: Thu, 04 Feb 2010 19:47:36 +0200 To: Satoshi Nakamoto Subject: Re: Bitcoin API > Is there any way to find out what the missing shared libraries are? It > would help to know. This is what "ldd bitcoin" says: linux-gate.so.1 => (0xf778c000) libcrypto.so.0.9.8 => /usr/lib32/i686/cmov/libcrypto.so.0.9.8 (0xf762a000) libgtk-x11-2.0.so.0 => not found libgthread-2.0.so.0 => not found libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7621000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7533000) libm.so.6 => /lib32/libm.so.6 (0xf750f000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7502000) libc.so.6 => /lib32/libc.so.6 (0xf73b0000) libdl.so.2 => /lib32/libdl.so.2 (0xf73ac000) libgdk-x11-2.0.so.0 => not found libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf73a8000) libgdk_pixbuf-2.0.so.0 => not found libX11.so.6 => /usr/lib32/libX11.so.6 (0xf72b9000) libpango-1.0.so.0 => not found libgobject-2.0.so.0 => not found libglib-2.0.so.0 => not found libpthread.so.0 => /lib32/libpthread.so.0 (0xf72a1000) libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf727e000) libz.so.1 => /usr/lib32/libz.so.1 (0xf7269000) libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7251000) /lib/ld-linux.so.2 (0xf778d000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7243000) libxcb-xlib.so.0 => /usr/lib32/libxcb-xlib.so.0 (0xf7241000) libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7229000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7226000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7220000) Notfounds seem to be gtk-libraries indeed. I have those files in my /usr/lib folder, but maybe they're ignored because they're 64bit, or maybe only /usr/lib32 is searched. I haven't tested on other 64bit machines. > My 64-bit (debug stripped) executable is attached. It includes > untested changes that are not in SVN yet: UI changes and the wallet > fSpent flag resync stuff. The package doesn't open, it says "not in gzip format". > Is it possible to open a socket that can only be accessed locally? Yes, you can use IPC sockets ("Unix domain sockets") which are local only. That's done in the wx-api by using a filename in place of a port number. I committed an example of how the wxServer-Client communication is used, you can revert if you want to. Now there's the -blockamount command line option which asks the running instance for the block chain length. I think this command line method could already be used from PHP, but it might be lighter if php itself could call the socket server directly. The wx's IPC overview mentions wxSocketEvent, wxSocketBase, wxSocketClient and wxSocketServer as being "Classes for the low-level TCP/IP API", which might be easier to use from php than what I used now (wxServer, wxClient, wxConnection). I'll look more into it.