compilation of squeak vm on OpenBSD

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

compilation of squeak vm on OpenBSD

Jean-baptiste Potonnier
 
Hello, I tried to compile squeak vm on OpenBSD.
I tried to go as far as I could.
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

Here are the information I can give:

[~]$ uname -a
OpenBSD sashimi.my.domain 4.7 GENERIC#112 amd64


*  OpenBSD uses a too old version of cmake. So I modified unix/cmake/configure to use cmake 2.8.2
* configure is ok. But is seems that sound will not work.
* compilation fails

[ 76%] Building C object DBusPlugin/CMakeFiles/DBusPlugin.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c.o
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:30:17: aio.h: No such file or directory
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `createReplyTofrom':
/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
/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' makes pointer from integer without a cast
/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' makes pointer from integer without a cast
/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' makes pointer from integer without a cast
/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
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `getConnectionFromOop':
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:446: warning: passing arg 1 of `msg' discards qualifiers from pointer target type
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginAddWatchwithData':
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1818: warning: `dbus_watch_get_fd' is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginRemoveWatchwithData':
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1840: warning: `dbus_watch_get_fd' is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c: In function `sqDBusPluginToggleWatchwithData':
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/DBusPlugin/DBusPlugin.c:1852: warning: `dbus_watch_get_fd' is deprecated (declared at /usr/local/include/dbus-1.0/dbus/dbus-connection.h:373)
*** Error code 1

Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 54 of DBusPlugin/CMakeFiles/DBusPlugin.dir/build.make).
*** Error code 1

Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 1936 of CMakeFiles/Makefile2).
*** Error code 1

Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 113 of Makefile).


*  So I disabled the plugin
[~/build/Squeak-4.0.3.2202-src/bld]$  ../unix/cmake/configure --without-DBusPlugin   

   Scanning dependencies of target XDisplayControlPlugin
[ 97%] Building C object XDisplayControlPlugin/CMakeFiles/XDisplayControlPlugin.dir/home/jeeb/build/Squeak-4.0.3.2202-src/unix/src/plugins/XDisplayControlPlugin/XDisplayColPlugin.c.o
Linking C shared module so.XDisplayControlPlugin
[ 97%] Built target XDisplayControlPlugin
Scanning dependencies of target vm-display-X11
[ 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
[ 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
Linking C shared module so.vm-display-X11
[ 98%] Built target vm-display-X11
Scanning dependencies of target vm-sound-custom
[ 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
Linking C shared module so.vm-sound-custom
[ 98%] Built target vm-sound-custom
Scanning dependencies of target vm-sound-null
[ 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
Linking C shared module so.vm-sound-null
[ 99%] Built target vm-sound-null
Scanning dependencies of target vm-display-custom
[ 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
/home/jeeb/build/Squeak-4.0.3.2202-src/unix/vm-display-custom/sqUnixCustomWindow.c:20:52: aio.h: No such file or directory
*** Error code 1

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).
*** Error code 1

Stop in /home/jeeb/build/Squeak-4.0.3.2202-src/bld (line 2836 of CMakeFiles/Makefile2).
*** Error code 1


*  I disabled again :S
[~/build/Squeak-4.0.3.2202-src/bld]$  ../unix/cmake/configure --without-DBusPlugin --without-vm-display-custom

compilation is successful \o/

But it does not work.

* [~/build/Squeak-4.0.3.2202-src/bld]$ ./squeak                                                                                                                   
SQUEAK_ENCODING=UTF-8
SQUEAK_PATHENC=UTF-8
SQUEAK_PLUGINS=/home/jeeb/build/Squeak-4.0.3.2202-src/bld/%n
+ exec /home/jeeb/build/Squeak-4.0.3.2202-src/bld/squeakvm
/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 'error'
Cannot load specified object
could not find display driver vm-display-X11; either:
  - check that /usr/local/lib/squeak/4.0.3-2202/vm-display-X11.so exists, or
  - use the '-plugins <path>' option to tell me where it is, or
  - remove DISPLAY from your environment.
Abort trap (core dumped)

Hope it helps!!

Bye
Jean-Baptiste Potonnier