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

Reply via email to