Hello, I tried to compile squeak vm on OpenBSD.<br>I tried to go as far as I could.<br>I hope I can give you some useful information, it would be very cool to have the vm working on OpenBSD, and to be able to use Pharo on OpenBSD! :P<br>
<br>Here are the information I can give:<br><br>[~]$ uname -a<br>OpenBSD sashimi.my.domain 4.7 GENERIC#112 amd64<br><br><br>*  OpenBSD uses a too old version of cmake. So I modified unix/cmake/configure to use cmake 2.8.2<br>
* configure is ok. But is seems that sound will not work.<br>* compilation fails<br><br>[ 76%] Building C object DBusPlugin/CMakeFiles/DBusPlugin.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c.o<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:30:17: aio.h: No such file or directory<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `createReplyTofrom&#39;:<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:390: warning: assignment makes integer from pointer without a cast<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:391: warning: passing arg 1 of `dbus_message_set_destination&#39; makes pointer from integer without a cast<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:392: warning: passing arg 1 of `dbus_message_set_no_reply&#39; makes pointer from integer without a cast<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:393: warning: passing arg 1 of `dbus_message_set_reply_serial&#39; makes pointer from integer without a cast<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:394: warning: return makes pointer from integer without a cast<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `getConnectionFromOop&#39;:<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:446: warning: passing arg 1 of `msg&#39; discards qualifiers from pointer target type<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginAddWatchwithData&#39;:<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1818: warning: `dbus_watch_get_fd&#39; is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginRemoveWatchwithData&#39;:<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1840: warning: `dbus_watch_get_fd&#39; is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)<br>/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginToggleWatchwithData&#39;:<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1852: warning: `dbus_watch_get_fd&#39; is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)<br>*** Error code 1<br>
<br>Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 54 of DBusPlugin/CMakeFiles/DBusPlugin.dir/build.make).<br>*** Error code 1<br><br>Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 1936 of CMakeFiles/Makefile2).<br>
*** Error code 1<br><br>Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 113 of Makefile).<br><br><br>*  So I disabled the plugin<br>[~/build/Squeak-4.0.3.2202-src/bld]$  ../unix/cmake/configure --without-DBusPlugin    <br>
<br>   Scanning dependencies of target XDisplayControlPlugin<br>[ 97%] Building C object XDisplayControlPlugin/CMakeFiles/XDisplayControlPlugin.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/XDisplayControlPlugin/XDisplayColPlugin.c.o<br>
Linking C shared module so.XDisplayControlPlugin<br>[ 97%] Built target XDisplayControlPlugin<br>Scanning dependencies of target vm-display-X11<br>[ 97%] Building C object vm-display-X11/CMakeFiles/vm-display-X11.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-display-X11/sqUnixX11.c.o<br>
[ 98%] Building C object vm-display-X11/CMakeFiles/vm-display-X11.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-display-X11/sqUnixMozilla.c.o<br>Linking C shared module so.vm-display-X11<br>[ 98%] Built target vm-display-X11<br>
Scanning dependencies of target vm-sound-custom<br>[ 98%] Building C object vm-sound-custom/CMakeFiles/vm-sound-custom.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-sound-custom/sqUnixCustomSound.c.o<br>Linking C shared module so.vm-sound-custom<br>
[ 98%] Built target vm-sound-custom<br>Scanning dependencies of target vm-sound-null<br>[ 99%] Building C object vm-sound-null/CMakeFiles/vm-sound-null.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-sound-null/sqUnixSoundNull.c.o<br>
Linking C shared module so.vm-sound-null<br>[ 99%] Built target vm-sound-null<br>Scanning dependencies of target vm-display-custom<br>[ 99%] Building C object vm-display-custom/CMakeFiles/vm-display-custom.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-display-custom/sqUnixCustomWindow.c.o<br>
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-display-custom/sqUnixCustomWindow.c:20:52: aio.h: No such file or directory<br>*** Error code 1<br><br>Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 54 of vm-display-custom/CMakeFiles/vm-display-custom.dir/build.make).<br>
*** Error code 1<br><br>Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 2836 of CMakeFiles/Makefile2).<br>*** Error code 1<br><br><br>*  I disabled again :S <br>[~/build/Squeak-4.0.3.2202-src/bld]$  ../unix/cmake/configure --without-DBusPlugin --without-vm-display-custom<br>
<br>compilation is successful \o/<br><br>But it does not work.<br><br>* [~/build/Squeak-4.0.3.2202-src/bld]$ ./squeak                                                                                                                    <br>
SQUEAK_ENCODING=UTF-8<br>SQUEAK_PATHENC=UTF-8<br>SQUEAK_PLUGINS=/home/jeeb/build/Squeak-4.0.3.2202-src/bld/%n<br>+ exec /home/jeeb/build/Squeak-4.0.3.2202-src/bld/squeakvm<br>/home/jeeb/build/Squeak-4.0.3.2202-src/bld/squeakvm:/home/jeeb/build/Squeak-4.0.3.2202-src/bld/vm-display-X11/so.vm-display-X11: undefined symbol &#39;error&#39;<br>
Cannot load specified object<br>could not find display driver vm-display-X11; either:<br>  - check that /usr/local/lib/squeak/4.0.3-2202/vm-display-X11.so exists, or<br>  - use the &#39;-plugins &lt;path&gt;&#39; option to tell me where it is, or<br>
  - remove DISPLAY from your environment.<br>Abort trap (core dumped) <br><br>Hope it helps!!<br><br>Bye<br>Jean-Baptiste Potonnier<br><br>