El dom, 23-08-2009 a las 18:40 -0500, Miguel Enrique Cobá Martinez escribió: > Is someone working on issues: > > http://code.google.com/p/pharo/issues/detail?id=1031 > http://code.google.com/p/pharo/issues/detail?id=961 > http://code.google.com/p/pharo/issues/detail?id=794 > > Without them fixed the in-image network doesn't work. > > CPU: intel > CPU arch: x86 > OS: Debian GNU/Linux i386 > OS arch: 32 bits > works: YES > > CPU: intel > CPU arch: x86_64 > OS: Debian GNU/Linux amd64 > OS arch: 64 bits > works: NO > > CPU: amd > CPU arch: x86_64 > OS: Debian GNU/Linux i386 > OS arch: 32 bits > works: YES > > CPU: amd > CPU arch: x86_64 > OS: Debian GNU/Linux amd64 > OS arch: 64 bits > works: NO > > In short it doesn't work on a 64 bit OS. > > I tried to see the source code for the squeak vm because it is the > primitives that are failing but I got confused and gave up. > > The interesting part that I found was this: > > static char localHostName[MAXHOSTNAMELEN]; > static u_long localHostAddress; /* GROSS IPv4 ASSUMPTION! */ > > assigned in: > > /* start a new network session */ > > sqInt sqNetworkInit(sqInt resolverSemaIndex) > { > if (0 != thisNetSession) > return 0; /* already initialised */ > gethostname(localHostName, MAXHOSTNAMELEN); > localHostAddress= nameToAddr(localHostName); > thisNetSession= clock() + time(0); > if (0 == thisNetSession) > thisNetSession= 1; /* 0 => uninitialised */ > resolverSema= resolverSemaIndex; > return 0; > } > > by means of: > > static int nameToAddr(char *hostName) > { > struct hostent *he; > > lastError= 0; /* ditto */ > if ((he= gethostbyname(hostName))) > return ntohl(*(long *)(he->h_addr_list[0])); > lastError= h_errno; /* and one more ditto */ > return 0; > } > > there it appears to call a system function (gethostbyname) > and to convert the result struct first entry on array h_addr_list. > > Well the point is, this is for someone with more experience with the > socket plugin in squeak. > > So, it is someone trying to fix this? Are there any news here? > It is a structural problem, because before this I could connect to the > network in > my 64 bit OS on my x86_64 architecture without the ia32libs on debian. For > these test > I installed the ia32libs package of debian in order load and start the > closure vm. > > Maybe Jose Luis Redrejo has a hint about how to build the vm in order to > having > a full networking vm/image. > > Or someone more involved with the internals of the vm. >
I forgot to mention, this happens with the pharo recommended vm on: pharo-vm-0.15.2d-linux.zip but also with the squeak closure vm on: Squeak-3.10-6.i686-pc-linux-gnu.tar.gz that gives the following messages (the last one is the important) on trying to open a repository with monticello on my 64 bit OS. mig...@laptop:~/Squeak-3.10-6/i686-pc-linux-gnu/usr/local/lib/squeak/3.10-6$ ./squeak /home/miguel/azteca/magma.image ioLoadModule(./UUIDPlugin): libuuid.so.1: cannot open shared object file: No such file or directory ioLoadModule(UUIDPlugin): UUIDPlugin: cannot open shared object file: No such file or directory getaddrinfo: Name or service not known -- Miguel Cobá http://miguel.leugim.com.mx _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
