Why does Browser>>openEditString: look almost exactly like
Browser>>buildWith: ?
It seems like buildWith: could be written like this:
buildWidth: builder
^ builder build: (self openEditString: '').
frank
A new version of Graphics was added to project The Inbox:
http://source.squeak.org/inbox/Graphics-bp.130.mcz
==================== Summary ====================
Name: Graphics-bp.130
Author: bp
Time: 2 April 2010, 9:02:06.291 pm
UUID: 11babeb7-a6c4-4b2b-ba6b-1f9408c9e96c
Ancestors: Graphics-nice.129
fix comment in Rectangle>>extent
=============== Diff against Graphics-nice.129 ===============
Item was changed:
----- Method: Rectangle>>extent (in category 'accessing') -----
extent
+ "Answer a point with the receiver's
- "Answer with a rectangle with origin 0@0 and corner the receiver's
width @ the receiver's height."
^corner - origin!
I took the liberty of creating a link called 4.1 at
http://ftp.squeak.org/4.1/ linked to trunk. When we are close to a
release we can convert it to a directory and go from there.
I considered calling it 4.1alpha or 4.1beta but although we have been
using that directory structure for some years now I wonder if that isn't
rather pointless. At best it leaves a broader base directory structure
that has to be cleaned up occasionally.
Ken
Interesting! The libpulse part, I mean, in connection with my dlopen() problems. Running Pharo from a terminal (I still think it should log this stuff on its own) captures messages like
Inconsistency detected by ld.so: dl-open.c: 643: _dl_open:
Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!
and feeding that into Google turns up mention of Skype, library dependcy hassles, and Debian bug 548983. Just grabbing at straws here, but could the problem be caused by the sound library?
Bill
________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Mariano Martinez Peck
Sent: Friday, April 02, 2010 7:17 AM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] Compiling the VM
I had to install the following:
sudo apt-get install linux-libc-dev libecasound2.2-dev libasound2-dev libc6-dev gnulib libc6-dev libpulse-dev libxrender-dev uuid-dev
Cheers
Mariano
On Fri, Apr 2, 2010 at 2:08 PM, Hilaire Fernandes <hilaire.fernandes(a)gmail.com<mailto:hilaire.fernandes@gmail.com>> wrote:
I have some unmet dependency I can't resolve.
I can't find information about the required -dev packages to install.
Hilaire
-- Configuring squeak 3.11.13-2135 for i686-pc-linux-gnu
-- Using source directory ../unix/src
-- Setting CFLAGS to -O2
-- internalplugins: UUIDPlugin
-- externalplugins: ADPCMCodecPlugin AsynchFilePlugin B3DAcceleratorPlugin Squeak3D BMPReadWriterPlugin B2DPlugin BitBltPlugin CroquetPlugin DSAPrims ZipPlugin DropPlugin SqueakFFIPrims FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin StarSqueakPlugin SurfacePlugin AioPlugin UnixOSProcessPlugin XDisplayControlPlugin
-- Using CFLAGS -O2
-- UUIDPlugin: /usr/include/uuid/uuid.h
-- UUIDPlugin: /usr/lib/libuuid.so
!! B3DAcceleratorPlugin disabled
-- Loaded CMakeASMInformation - ASM support is still experimental, please report issues
-- checking for module 'freetype2'
-- package 'freetype2' not found
!! FT2Plugin disabled
!! HostWindowPlugin disabled
-- Mpeg3Plugin: /usr/lib/libpthread.so
-- SocketPlugin: libsocket not found
-- SocketPlugin: /usr/lib/libnsl.so
-- UnixOSProcessPlugin: /usr/lib/libpthread.so
!! XDisplayControlPlugin disabled
-- vm-sound-ALSA: /usr/include/alsa/asoundlib.h
-- vm-sound-ALSA: /usr/lib/libasound.so
!! vm-display-Quartz disabled
!! vm-sound-MacOSX disabled
!! vm-display-X11 disabled
-- vm-display-fbdev: /usr/include/linux/fb.h
-- vm-sound-pulse: libpulse-simple not found
!! vm-sound-pulse disabled
-- vm-sound-NAS: audio/audio.h not found
-- vm-sound-NAS: libaudio not found
!! vm-sound-NAS disabled
-- vm-sound-OSS: /usr/include/alsa/asoundlib.h
-- vm-sound-OSS: /usr/lib/libasound.so
-- vm-sound-Sun: sys/audioio.h not found
-- vm-sound-Sun: sun/audioio.h not found
-- vm-sound-Sun: /usr/include/stropts.h
!! vm-sound-Sun disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hilaire/Travaux/pharo/Squeak-3.11.3.2135-pharo-src/build
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr<mailto:Pharo-project@lists.gforge.inria.fr>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hello all,
Attached is my attempt at calling dlopen() from Pharo, and it is not going well. The C code below works as expected, so the problem has to be either in my code or something in Pharo or the VM itself.
I am fairly certain that loading the attached is safe, but
DynamicLinkingLibrary
getProcAddress:'cos'
from:'libm.so'.
crashes the vm in my experience. Any ideas?
Bill
/*
http://www.unix.com/man-page/All/3/dlopen/
Build as:
gcc -rdynamic -o fubar fubar.c -ldl
*/
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
int
main(int argc, char **argv)
{
void *handle;
double (*cosine)(double);
char *error;
handle = dlopen("libm.so", RTLD_LAZY);
if (!handle) {
fprintf(stderr, "%s\n", dlerror());
exit(EXIT_FAILURE);
}
dlerror(); /* Clear any existing error */
/* Writing: cosine = (double (*)(double)) dlsym(handle, "cos");
would seem more natural, but the C99 standard leaves
casting from "void *" to a function pointer undefined.
The assignment used below is the POSIX.1-2003 (Technical
Corrigendum 1) workaround; see the Rationale for the
POSIX specification of dlsym(). */
*(void **) (&cosine) = dlsym(handle, "cos");
if ((error = dlerror()) != NULL) {
fprintf(stderr, "%s\n", error);
exit(EXIT_FAILURE);
}
printf("%f\n", (*cosine)(2.0));
dlclose(handle);
exit(EXIT_SUCCESS);
}
That was pretty fun.
I posted a link to the LDAP called Tron Legacy and had people join in the
CobaltWorldIntro space. I tried the default CobaltWorld space, but I've
added OpenGL code to it and Aik-Siong couldn't join my world. So I switched
to CobaltWorldIntro.
We tried the audio chat by hitting a button in the lower left of the screen,
and at one point we had four people talking while their avatars were
standing in a group. My voice, as the host world, sounded choppy, which may
be a result of my bandwidth, because other people were connecting to my
computer. I have 4768 Kbps down/ and 787 up. (Thank you testmyspeed.com).
One problem is that almost everybody was an Alice avatar, which is too the
same. There is a menu option to change avatars, but there is only one .mdl
file in that directory - Alice. So, I'll need to get some new .mdl files for
next time.
Also for next time, we probably want to meet at a place that has higher
bandwidth than my DSL Basic package from Bell Canada.
So that's it for this month. One person said they wanted to do it again
sooner, which should be as easy as posting a message on the OpenCobalt
Google Group ( http://groups.google.com/group/opencobalt ).
Thank you to the people who participated. I look forward to doing it again,
and hope to see your avatar again in May.
Chris
Andreas Raab uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-ar.67.mcz
==================== Summary ====================
Name: Tests-ar.67
Author: ar
Time: 2 April 2010, 12:45:17.743 am
UUID: c3b6aa2e-ca57-7d4f-9bc9-2a987d17eedd
Ancestors: Tests-ar.66
Add test for FileStream>>atEnd when file is positioned past end.
=============== Diff against Tests-ar.66 ===============
Item was added:
+ ----- Method: FileStreamTest>>testPositionPastEndIsAtEnd (in category 'as yet unclassified') -----
+ testPositionPastEndIsAtEnd
+ "Tests that a file positioned after its end responds true to #atEnd"
+
+ | filename file |
+ filename := 'filestream.tst'.
+ file := StandardFileStream forceNewFileNamed: filename.
+ [
+ file position: 1000.
+ self assert: file atEnd.
+ ] ensure:[
+ file close.
+ FileDirectory default deleteFileNamed: filename ifAbsent:[].
+ ].!