[Vm-dev] [commit][2661] Add yet another libc line to the linux launch script(s), and try and make the

commits at squeakvm.org commits at squeakvm.org
Tue Jan 8 19:57:42 UTC 2013


Revision: 2661
Author:   eliot
Date:     2013-01-08 11:57:41 -0800 (Tue, 08 Jan 2013)
Log Message:
-----------
Add yet another libc line to the linux launch script(s), and try and make the
script suggest users extend it themselves.  you can lead a horse to water...
Rationalize the includes in sqUnixUUID.c.

Modified Paths:
--------------
    branches/Cog/platforms/unix/config/bin.squeak.sh.in
    branches/Cog/platforms/unix/config/squeak.sh.in
    branches/Cog/platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Mon Jan  7 13:52:47 PST 2013
   + Tue Jan  8 11:56:08 PST 2013

Modified: branches/Cog/platforms/unix/config/bin.squeak.sh.in
===================================================================
--- branches/Cog/platforms/unix/config/bin.squeak.sh.in	2013-01-07 21:54:37 UTC (rev 2660)
+++ branches/Cog/platforms/unix/config/bin.squeak.sh.in	2013-01-08 19:57:41 UTC (rev 2661)
@@ -14,15 +14,18 @@
 # libc (e.g. through the FFI) then it must use the same version that the VM uses
 # and so it should take precedence over /lib libc.  This is done by setting
 # LD_LIBRARY_PATH appropriately, based on ldd's idea of the libc use by the VM.
-case `/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'` in
+LIBC_SO="`/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'`"
+case "$LIBC_SO" in
 /lib/libc*)					SVMLLP="/lib:/usr/lib";;
 /lib32/libc*)				SVMLLP="/lib32:/usr/lib32";;
 /lib64/libc*)				SVMLLP="/lib64:/usr/lib64";;
 /lib/tls/libc*)				SVMLLP="/lib/tls:/lib:/usr/lib/tls:/usr/lib";;
 /lib/i386-linux-gnu/libc*)	\
-	SVMLLP="/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu";;
+	SVMLLP="/lib/i386-linux-gnu:/lib:/usr/lib/i386-linux-gnu:/usr/lib";;
 /lib/tls/i686/cmov/libc*)	\
 	SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";;
+/lib/386-linux-gnu/i686/cmov/libc*)	\
+	SVMLLP="/lib/386-linux-gnu/i686/cmov:/lib:/usr/lib/386-linux-gnu/i686/cmov:/usr/lib";;
 /lib/tls/i686/nosegneg/libc*)	\
 	SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";;
 "")	case `/bin/uname -m || /usr/bin/uname -m` in
@@ -30,7 +33,7 @@
 	*)	echo "/usr/bin/ldd didn't produce any output. Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2
 	esac
 	exit 1;;
-*)	echo "Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2
+*)	echo "Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for $LIBC_SO to $0. Please report your edit to squeak vm-dev." 1>&2
 	exit 1
 esac
 # prepending is less flexible but safer because it ensures we find the plugins

Modified: branches/Cog/platforms/unix/config/squeak.sh.in
===================================================================
--- branches/Cog/platforms/unix/config/squeak.sh.in	2013-01-07 21:54:37 UTC (rev 2660)
+++ branches/Cog/platforms/unix/config/squeak.sh.in	2013-01-08 19:57:41 UTC (rev 2661)
@@ -14,15 +14,18 @@
 # libc (e.g. through the FFI) then it must use the same version that the VM uses
 # and so it should take precedence over /lib libc.  This is done by setting
 # LD_LIBRARY_PATH appropriately, based on ldd's idea of the libc use by the VM.
-case `/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'` in
+LIBC_SO="`/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'`"
+case "$LIBC_SO" in
 /lib/libc*)					SVMLLP="/lib:/usr/lib";;
 /lib32/libc*)				SVMLLP="/lib32:/usr/lib32";;
 /lib64/libc*)				SVMLLP="/lib64:/usr/lib64";;
 /lib/tls/libc*)				SVMLLP="/lib/tls:/lib:/usr/lib/tls:/usr/lib";;
 /lib/i386-linux-gnu/libc*)	\
-	SVMLLP="/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu";;
+	SVMLLP="/lib/i386-linux-gnu:/lib:/usr/lib/i386-linux-gnu:/usr/lib";;
 /lib/tls/i686/cmov/libc*)	\
 	SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";;
+/lib/386-linux-gnu/i686/cmov/libc*)	\
+	SVMLLP="/lib/386-linux-gnu/i686/cmov:/lib:/usr/lib/386-linux-gnu/i686/cmov:/usr/lib";;
 /lib/tls/i686/nosegneg/libc*)	\
 	SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";;
 "")	case `/bin/uname -m || /usr/bin/uname -m` in
@@ -30,7 +33,7 @@
 	*)	echo "/usr/bin/ldd didn't produce any output. Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2
 	esac
 	exit 1;;
-*)	echo "Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2
+*)	echo "Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for $LIBC_SO to $0. Please report your edit to squeak vm-dev." 1>&2
 	exit 1
 esac
 # prepending is less flexible but safer because it ensures we find the plugins

Modified: branches/Cog/platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c
===================================================================
--- branches/Cog/platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c	2013-01-07 21:54:37 UTC (rev 2660)
+++ branches/Cog/platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c	2013-01-08 19:57:41 UTC (rev 2661)
@@ -3,12 +3,12 @@
 #if defined(HAVE_SYS_UUID_H)
 # include <sys/types.h>
 # include <sys/uuid.h>
-#endif
-#if defined(HAVE_UUID_UUID_H)
+#elif defined(HAVE_UUID_UUID_H)
 # include <uuid/uuid.h>
-#endif
-#if defined(HAVE_UUID_H)
+#elif defined(HAVE_UUID_H)
 # include <uuid.h>
+#else
+# error cannot find a uuid.h to include
 #endif
 
 #include "sq.h"



More information about the Vm-dev mailing list