El dom, 28-03-2010 a las 13:10 -0300, Mariano Martinez Peck escribió:
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems.
The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure.
Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command.
have you installed the build-essentials package. It takes care of most build dependencies and libc libraries for compiling. aptitude install build-essentials. Cheers
In addition, is the output of the configure written somewhere like config.log or similar ?
If you notice the file, there are several things not found, for example:
!! XDisplayControlPlugin disabled !! vm-display-Quartz disabled !! vm-sound-MacOSX disabled -- 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 -- Looking for sys/select.h -- Looking for sys/select.h - found !! vm-display-X11 disabled -- vm-sound-NAS: audio/audio.h not found -- vm-sound-NAS: libaudio not found !! vm-sound-NAS disabled -- vm-display-fbdev: /usr/include/linux/fb.h -- vm-sound-pulse: libpulse-simple not found !! vm-sound-pulse disabled -- vm-sound-ALSA: alsa/asoundlib.h not found -- vm-sound-ALSA: libasound not found !! vm-sound-ALSA disabled -- vm-sound-OSS: alsa/asoundlib.h not found -- vm-sound-OSS: libasound not found !! vm-sound-OSS disabled
See that it cannot find the vm-sound-OSS.
Then, I did a make and a make install. But when trying to run squeak, I have this error:
ubuntu@ubuntu-desktop:~/Pharo/vm/Squeak-3.11.3.2135-pharo-src/build$ squeak + exec padsp /usr/local/lib/squeak/3.11.13-2135/squeakvm -pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss could not find module vm-sound-OSS Aborted
Of course it cannto find it..as I already know that from the configure. So..here I have 2 questions:
1) how can I install the things I am missing ?
2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ?
Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do:
../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread
but configure says:
unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread
Do you know how can I do this ? should I send this email to vm mailing list ?
Thanks a lot in advance!
Mariano
On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote: Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Miguel Cobá http://miguel.leugim.com.mx