[Vm-dev] platforms/unix/plugins/UUIDPlugin/acinclude.m4 proposed change

gettimothy gettimothy at zoho.com
Sun Jun 15 20:56:36 UTC 2014


Hi Eliot.



I know just enough about this stuff to be dangerous. However....


Changing the platforms/unix/plugins/UUIDPlugin/acinclude.m4  from 



 # -*- sh -*-

AC_MSG_CHECKING([for UUID support])
AC_TRY_COMPILE([#include <uuid/uuid.h>],[uuid_generate;],[
 AC_MSG_RESULT(yes)
 AC_CHECK_LIB(uuid, uuid_generate,
 LIB_UUID="-luuid"
 )
],[
 AC_MSG_RESULT(no)
 AC_PLUGIN_DISABLE
])

AC_SUBST(LIB_UUID)


to:


 # -*- sh -*-

AC_MSG_CHECKING([for UUID support uuid/uuid.h] and uuid_generate)
      AC_TRY_COMPILE([#include <uuid/uuid.h>],[uuid_generate;],[
       AC_MSG_RESULT(yes)
             AC_CHECK_LIB(uuid, uuid_generate, LIB_UUID="-luuid")],[
        AC_MSG_RESULT(no)
              AC_MSG_CHECKING([for UUID support uuid and uuidgen] )
              AC_TRY_COMPILE([#include <uuid.h>],[uuidgen;],[
               AC_MSG_RESULT(yes)
                    AC_CHECK_LIB(uuid, uuidgen, LIB_UUID="-luuid" )],[
               AC_MSG_RESULT(no)
                AC_PLUGIN_DISABLE
 ])
])

AC_SUBST(LIB_UUID)



allowed me to compile the UUID plugin on my system.
The logic is..


      check for uuid/uuid.h
      if everything works, use this
      if not
            check for uuid.h
             if everything works, us this
             if not
                 disable the plugin

 
If you think its ok, you may want to use it.


Although this enabled me to compile the plugin and generate the  libUUIDPlugin.so, when I tested the primitive call from Squeak


myMethodThatUsesUUID
  <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
  self primitiveFailed.
 

 
I got a library complaining...




ioLoadModule(.../oscogvm/cmake.products/squeak.cog.v3.noGL/libUUIDPlugin.so):
       /.../oscogvm/cmake.products/squeak.cog.v3.noGL/libUUIDPlugin.so: undefined symbol: uuidgen
ioLoadModule(./libUUIDPlugin.so):
       /home/.../libUUIDPlugin.so: undefined symbol: uuidgen
ioLoadModule(libUUIDPlugin.so):
         libUUIDPlugin.so: cannot open shared object file: No such file or directory


 



Which I hypothesize is related to my 32 bit libs trying to invoke a 64 bit native 


 

file /usr/bin/uuidgen 
    /usr/bin/uuidgen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), stripped


 
I am not going to sweat this for now, as I will be changing my focus to Plugins once I get this CMake done.



I just thought you might find the acinclude.mc4 useful.




cheers.


tty











-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140615/7be3077b/attachment.htm


More information about the Vm-dev mailing list