2010/3/28 Mariano Martinez Peck <marianop...@gmail.com> > 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. >
In debian-based distro headers are in separate packages, the ones that ends with -dev. (flamewar inside:) that's why I've switched to ArchLinux, far more simple). So when a header is not found, like asoundlib.h, the easy way is to go to http://packages.ubuntu.com/ , go down the page to "Search the contents of packages" and fill the search field with the name of file. You will see that it's libasound2-dev package. In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure when it detects a missing header, it will search the corresponding package and prompt you to install it. > > In addition, is the output of the configure written somewhere like > config.log or similar ? > It seems no. You can do ../unix/cmake/configure > config.log > > 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. > libasound-dev package http://packages.ubuntu.com/search?searchon=contents&keywords=libasound.a&mode=exactfilename&suite=karmic&arch=any > > Then, I did a make and a make install. But when trying to run squeak, I > have this error: > > ubu...@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 ? > Now you know :) > > 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 ? > > May be you can remove sound related plugin... take a look at ../unix/cmake/configure --help ... --without-<plugin> do not build the named plugin .... You can also generate your own src using the Pharo-Core with VMMaker image I've made http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz VMMaker is already configured. Just remove the sound plugin from external plugins, adapt paths to your system and click "Entire". > > 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 > you forgot the -- ../unix/cmake/configure --CFLAGS="-g3-pthread" Laurent Laffont > > 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 <le...@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 <marianop...@gmail.com> >>> >>> >>>> >>>> 2010/3/27 laurent laffont <laurent.laff...@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 <le...@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.laff...@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 >
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project