[Vm-dev] building on Darwin (Mac Unix)

David T. Lewis lewis at mail.msen.com
Tue Jan 7 22:30:39 UTC 2014


I forgot to mention, before you run the script please first edit the line
marked with "EDIT THIS". If you don't change that line, the image will
exit on completion of the VM build, which would be rather annoying. Please
let me know if the VMUnixBuild.st file in works for you, I'm curious to
know if it works on a Mac.

Other thoughts:

I think that the problem you had is related to sources in
/platforms/unix/src that represent a snapshot of the generated sources
that were used for the last official VM build, which by now would be
rather out of sync with the latest platforms sources. Instead, you are
best off to make your own ./build folder to work in, and put in in
parallel with ./platforms and ./src.

You can either generate your own sources into ./src (this is what the
script file is doing), or you can use the pre-generated sources that are
now being kept in Subversion in trunk/src next to trunk/platforms.

Assuming that you are in your empty ./build folder, and that ./platforms
and ./src are at the same level as your ./build, then the incantation is:

$ ../platforms/unix/cmake/configure
$ make

There are some command options available for configure that you may need
to use (e.g. to disable certain parts of the build), so if it does not
work the first time, do ../platforms/unix/cmake/configure --help (or maybe
it is -help rather than --help, I don't recall). The configure script is
just a shell script the drives the cmake process, so you can look at the
script file to figure out what it's doing.

Dave

>
> I don't have a Mac to confirm that this works, but assuming that you can
> use Unix utilities in a console window, try this - start with a fresh
> Squeak trunk image in an otherwise empty folder, and file in the following
> script:
>
> http://build.squeak.org/job/InterpreterVM/ws/VMUnixBuild.st
>
> This is used on build.squeak.org for the "InterpreterVM" job, which tests
> VMMaker code generation to make sure that the generated code and the SVN
> platform sources are sufficiently sane to produce a VM. Think of the
> script as live documentation.
>
> Dave
>
>>
>>
>> Hi--
>>
>>      Having isolated the Spoon VM changes[1], I'm testing them with the
>> latest VM sources (and Mac OS/devtools). As always, when I do this once
>> a year, I get errors... Am I doing something wrong?
>>
>> -    I go to http://squeakvm.org/unix and follow the instructions.
>>
>> -    svn co http://squeakvm.org/svn/squeak/trunk squeak-svn
>>
>> -    cd platforms/unix; make
>>
>> -    I get the following:
>>
>> ***
>>
>> % make
>>
>> [ -d bld ] || mkdir bld
>> [ -f bld/Makefile ] || ( cd bld; ../cmake/configure; )
>> -- Configuring squeak 4.10.2-2840 for i386-apple-darwin13.1.0
>> -- Using source directory
>> /Users/craig/me/behavior/spoon/processor/kernel/mainstream/squeak-svn/platforms/unix/src
>> -- Using CFLAGS -O3 -DNDEBUG -I/usr/local/include -L/usr/local/lib
>> !! Cannot optimise interpreter performance for GCC
>> !! FT2Plugin disabled
>> -- SocketPlugin: libsocket not found
>> -- SocketPlugin: libnsl not found
>> -- CameraPlugin: linux/videodev2.h not found
>> !! CameraPlugin disabled
>> !! DBusPlugin disabled
>> -- SqueakFFIPrims: any-libffi
>> -- SqueakFFIPrims: /usr/lib/libffi.dylib
>> -- Warning: Did not find file Compiler/Clang-ASM
>> -- MIDIPlugin: alsa/asoundlib.h not found
>> -- MIDIPlugin: libasound not found
>> !! MIDIPlugin disabled
>> -- RomePlugin: cairo-ft.h not found
>> !! RomePlugin disabled
>> -- UUIDPlugin: uuid.h not found
>> -- UUIDPlugin: sys/uuid.h not found
>> -- UUIDPlugin:
>> /System/Library/Frameworks/Kernel.framework/Headers/uuid/uuid/uuid.h
>> -- UUIDPlugin: libuuid not found
>> !! UnicodePlugin disabled
>> -- UnixOSProcessPlugin: /usr/lib/libpthread.dylib
>> -- WeDoPlugin: linux/hiddev.h not found
>> !! WeDoPlugin disabled
>> -- vm-display-fbdev: linux/fb.h not found
>> !! vm-display-fbdev disabled
>> -- vm-sound-ALSA: alsa/asoundlib.h not found
>> -- vm-sound-ALSA: libasound not found
>> !! vm-sound-ALSA disabled
>> -- vm-sound-NAS: audio/audio.h not found
>> -- vm-sound-NAS: libaudio not found
>> !! vm-sound-NAS disabled
>> -- vm-sound-OSS: alsa/asoundlib.h not found
>> -- vm-sound-OSS: libasound not found
>> !! vm-sound-OSS disabled
>> -- vm-sound-pulse: libpulse-simple not found
>> !! vm-sound-pulse disabled
>> -- vm-sound-Sun: sys/audioio.h not found
>> -- vm-sound-Sun: sun/audioio.h not found
>> -- vm-sound-Sun: stropts.h not found
>> !! vm-sound-Sun disabled
>> You have called ADD_LIBRARY for library ADPCMCodecPlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library BMPReadWriterPlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library B2DPlugin without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library DSAPrims without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library ZipPlugin without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library FFTPlugin without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library FloatArrayPlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library GeniePlugin without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library JPEGReaderPlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library Klatt without any source files.
>> This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library LargeIntegers without any source
>> files. This typically indicates a problem with your CMakeLists.txt file
>> You have called ADD_LIBRARY for library Matrix2x3Plugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library MiscPrimitivePlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library SlangTestSupportPlugin without
>> any source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> You have called ADD_LIBRARY for library StarSqueakPlugin without any
>> source files. This typically indicates a problem with your
>> CMakeLists.txt file
>> CMake Warning (dev) at CMakeLists.txt:162 (ADD_SUBDIRECTORY):
>>   The source directory
>>
>>
>> /Users/craig/me/behavior/spoon/processor/kernel/mainstream/squeak-svn/platforms/unix/npsqueak
>>
>>   does not contain a CMakeLists.txt file.
>>
>>   CMake does not support this case but it used to work accidentally and
>> is
>>   being allowed for compatibility.
>>
>>   Policy CMP0014 is not set: Input directories must have CMakeLists.txt.
>>  Run
>>   "cmake --help-policy CMP0014" for policy details.  Use the
>> cmake_policy
>>   command to set the policy and suppress this warning.
>> This warning is for project developers.  Use -Wno-dev to suppress it.
>>
>> -- Configuring done
>> CMake Error at bld/BitBltPlugin/CMakeLists.txt:14 (ADD_LIBRARY):
>>   Cannot find source file:
>>
>>
>> /Users/craig/me/behavior/spoon/processor/kernel/mainstream/squeak-svn/platforms/unix/src/plugins/BitBltPlugin/BitBltPlugin.c
>>
>>   Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm
>> .hpp
>>   .hxx .in .txx
>>
>>
>> -- Build files have been written to:
>> /Users/craig/me/behavior/spoon/processor/kernel/mainstream/squeak-svn/platforms/unix/bld
>> make: *** [all] Error 1
>> %
>>
>> ***
>>
>>      Is something wrong with the CMake stuff? Does no one actually use
>> this, and I should be doing something completely different? Mac OS
>> 10.9.2, XCode 5.2.
>>
>>
>>      thanks,
>>
>> -C
>>
>> [1] http://tinyurl.com/p999omz
>>
>> --
>> Craig Latta
>> www.netjam.org/resume
>> +1 510 984 8117
>> (Skype rings this until 31 January 2014)
>>
>
>




More information about the Vm-dev mailing list