Re: [squeak-dev] Re: Cog on linux

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
57 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 
Eliot, note that I can provide you access to this box if you have the time to take a look. 
 
I get the sqLowLevelMFence()...
 
[hidden email] [~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm   -E -dM /home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c | egrep "86|GLIBC|Fence"
#define M_SQRT1_2 0.70710678118654752440
#define VM_HOST_CPU "x86_64"
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define __GLIBC__ 2
#define __GLIBC_HAVE_LONG_LONG 1
#define __DBL_MAX__ 1.7976931348623157e+308
#define M_SQRT1_2l 0.7071067811865475244008443621048490L
#define __i386 1
#define VM_HOST "x86_64-linux-gnu"
#define i386 1
#define __i386__ 1
#define M_1_PIl 0.3183098861837906715377675267450287L
#define __GLIBC_MINOR__ 5
#define M_1_PI 0.31830988618379067154
#define sqLowLevelMFence() asm volatile ("mfence")
 
and
 
 
 
[hidden email] [~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm   -E -dM /home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c | egrep "86|GLIBC|Fence"
#define M_SQRT1_2 0.70710678118654752440
#define VM_HOST_CPU "x86_64"
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define __GLIBC__ 2
#define __GLIBC_HAVE_LONG_LONG 1
#define __DBL_MAX__ 1.7976931348623157e+308
#define M_SQRT1_2l 0.7071067811865475244008443621048490L
#define __i386 1
#define VM_HOST "x86_64-linux-gnu"
#define i386 1
#define __i386__ 1
#define M_1_PIl 0.3183098861837906715377675267450287L
#define __GLIBC_MINOR__ 5
#define M_1_PI 0.31830988618379067154
#define sqLowLevelMFence() asm volatile ("mfence")
 
Now I am getting a different error and this error like the last one is when building squeak itself, the last step.
 
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic  vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a CroquetPlugin/CroquetPlugin.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a DSAPrims/DSAPrims.a FFTPlugin/FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a IA32ABI/IA32ABI.a JoystickTabletPlugin/JoystickTabletPlugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a Matrix2x3Plugin/Matrix2x3Plugin.a MIDIPlugin/MIDIPlugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a Mpeg3Plugin/Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a -lutil -ldl -lpthread -lm -lnsl -lpthread vm/vm.a -Wl,--rpath -Wl,/usr/local/lib
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(gcc3x-cointerp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(cogit.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqNamedPrims.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqVirtualMachine.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqHeapMap.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(aio.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(debug.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(osExports.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixMemory.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixCharConv.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixVMProfile.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(FloatMathPlugin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(acos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(acosh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(asin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(asinh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atan.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atan2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atanh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(cos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(cosh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(exp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(expm1.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(fmod.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(hypot.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_cos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_sin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(ldexp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log10.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log1p.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(modf.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(pow.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(rem_pio2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(scalbn.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sinh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sqrt.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(tan.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(tanh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(finite.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_rem_pio2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_tan.o)' is incompatible with i386 output
 
   text    data     bss     dec     hex filename
 952169   44560  297284 1294013  13bebd squeak
 
make: *** [squeak] Segmentation fault
make: *** Deleting file `squeak'
 
Rob

Sent: Thursday, July 15, 2010 9:04 PM
Subject: Re: [Vm-dev] Cog on linux




On Thu, Jul 15, 2010 at 4:49 PM, Rob Withers <[hidden email]> wrote:

I get the following:
 
[hidden email] [~/public_html/squeakelib/Cog]# gcc -m32 -E -dM platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"
#define __GNUC_PATCHLEVEL__ 2
#define __GNUC__ 4
#define __DBL_MAX__ 1.7976931348623157e+308
#define __i386 1
#define i386 1
#define __i386__ 1
#define __GNUC_RH_RELEASE__ 48
#define __GNUC_MINOR__ 1
#define __GNUC_GNU_INLINE__ 1
 
[hidden email] [~/public_html/squeakelib/Cog]# gcc -m64 -E -dM platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"
#define __GNUC__ 4
#define __DBL_MAX__ 1.7976931348623157e+308
#define __x86_64 1
#define __GNUC_RH_RELEASE__ 48
#define __x86_64__ 1
#define __GNUC_PATCHLEVEL__ 2
#define __GNUC_MINOR__ 1
#define __GNUC_GNU_INLINE__ 1
It looks like I match the incantation, as both 32 and 64.  Not sure what to change.

You need to figure out why, when sqMemoryFence.h is included by sqExternalSemaphores.c and sqTicker.c, the following macro in sqMemoryFence.h is not being defined or not being expanded:

#if defined(__GNUC__) && (defined(i386) || defined(__i386) || defined(__i386__) || defined(_X86_))
# if defined(__MINGW32__) && !__SSE2__
    /* Andreas is fond of the gcc 2.95 MINGW but it lacks sse2 support */
#   define sqLowLevelMFence() asm volatile (".byte 0x0f;.byte 0xae;.byte 0xf0")
# else
#   define sqLowLevelMFence() asm volatile ("mfence")
# endif
#else
# if !defined(sqLowLevelMFence)
extern void sqLowLevelMFence(void);
# endif
#endif

i.e. from the above 
#   define sqLowLevelMFence() asm volatile ("mfence")
should be live and hence in sqExternalSemaphores.c and sqTicker.c sqLowLevelMFence() should expand to asm volatile ("mfence").

gcc -E or gcc -P will run the preprocessor, so run the make capturing the compile commands for these two and retry the command deleting -c thefile and adding -E.  Then look at the output and see what files are included (is sqMemoryFence.h being included?) and then if it is find out why, if as the -dM output above indicates, the macro isn't being defined given the above tests for both __GNUC__ and __i386__.

HTH
Eliot

 
Rob

Sent: Thursday, July 15, 2010 6:27 PM
Subject: Re: [Vm-dev] Cog on linux




On Thu, Jul 15, 2010 at 2:54 PM, Rob Withers <[hidden email]> wrote:

(I am having trouble quoting Eliot's email as well.  Plain text is best)

OK.

 

I finally figured out how to specify to configure to use -m32 on the CFLAGS entries.  It is a part of the invocation of configure.

../../platforms/unix/config/configure CFLAGS="-m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0" LIBS=-lpthread

I seem to have gotten past the problem with sqUnixHeartbeat.c and now I have a new problem:

vm/vm.a(sqExternalSemaphores.o): In function `doSignalExternalSemaphores':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:198: undefined reference to `sqLowLevelMFence'

gcc -E -dM should print predefined macros.  e.g.

McStalker.oscogvm$ gcc -m32 -E -dM platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"
#define __GNUC__ 4
#define __DBL_MAX__ 1.7976931348623157e+308
#define __i386 1
#define i386 1
#define __i386__ 1
#define __GNUC_PATCHLEVEL__ 1
#define __GNUC_MINOR__ 2
#define __GNUC_GNU_INLINE__ 1
McStalker.oscogvm$ gcc -m64 -E -dM platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"
#define __GNUC__ 4
#define __DBL_MAX__ 1.7976931348623157e+308
#define __x86_64 1
#define __x86_64__ 1
#define __GNUC_PATCHLEVEL__ 1
#define __GNUC_MINOR__ 2
#define __GNUC_GNU_INLINE__ 1

You'll then see what names are given to define x86/IA32 on your system.  You can then edit the following incantation to include your configuration (and let me know what it is).

 #if defined(__GNUC__) && (defined(i386) || defined(__i386) || defined(__i386__) || defined(_X86_))

HTH
Eliot

/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:213: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:184: undefined reference to `sqLowLevelMFence'
vm/vm.a(sqExternalSemaphores.o): In function `signalSemaphoreWithIndex':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:130: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:131: undefined reference to `sqAtomicAddConst'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:147: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:148: undefined reference to `sqCompareAndSwap'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:152: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:153: undefined reference to `sqCompareAndSwap'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:135: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:136: undefined reference to `sqCompareAndSwap'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:140: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:141: undefined reference to `sqCompareAndSwap'
vm/vm.a(sqTicker.o): In function `checkHighPriorityTickees':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:211: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:217: undefined reference to `sqCompareAndSwapRes'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:227: undefined reference to `sqLowLevelMFence'
vm/vm.a(sqTicker.o): In function `addHighPriorityTickee':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:185: undefined reference to `sqLowLevelMFence'
vm/vm.a(sqTicker.o): In function `ioSynchronousCheckForEvents':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:128: undefined reference to `sqLowLevelMFence'
vm/vm.a(sqTicker.o): In function `addHighPriorityTickee':
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:193: undefined reference to `sqLowLevelMFence'
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:193: undefined reference to `sqLowLevelMFence'
collect2: ld returned 1 exit status
make: *** [squeak] Error 1


--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>
Sent: Thursday, July 15, 2010 3:38 PM
To: "Squeak Virtual Machine Development Discussion" <[hidden email]>

Subject: Re: [Vm-dev] Cog on linux


On Thu, 15 Jul 2010, Rob Withers wrote:

(Pine is unable to quote your mail...)

The question is: is your OS 32 or 64-bit? The CPU doesn't matter here. If your OS is 64-bit then you'll probably need the gcc-multilibs package (or equivalent for your platform) and as Eliot suggested the -m32 switch for compilation and linking. To run the resulting VM, you'll need the ia32-libs package (or equivalent for your platform), but you already have that if you can run the prebuilt SqueakVM.


Levente




Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Andreas Wacknitz
 
Hi Rob,


Am 16.07.2010 um 11:20 schrieb Rob Withers:

Eliot, note that I can provide you access to this box if you have the time to take a look. 
 
I get the sqLowLevelMFence()...
 
[hidden email] [~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm   -E -dM /home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c | egrep "86|GLIBC|Fence"
#define M_SQRT1_2 0.70710678118654752440
#define VM_HOST_CPU "x86_64"
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define __GLIBC__ 2
#define __GLIBC_HAVE_LONG_LONG 1
#define __DBL_MAX__ 1.7976931348623157e+308
#define M_SQRT1_2l 0.7071067811865475244008443621048490L
#define __i386 1
#define VM_HOST "x86_64-linux-gnu"
#define i386 1
#define __i386__ 1
#define M_1_PIl 0.3183098861837906715377675267450287L
#define __GLIBC_MINOR__ 5
#define M_1_PI 0.31830988618379067154
#define sqLowLevelMFence() asm volatile ("mfence")
 
and
 
 
 
[hidden email] [~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm   -E -dM /home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c | egrep "86|GLIBC|Fence"
#define M_SQRT1_2 0.70710678118654752440
#define VM_HOST_CPU "x86_64"
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define __GLIBC__ 2
#define __GLIBC_HAVE_LONG_LONG 1
#define __DBL_MAX__ 1.7976931348623157e+308
#define M_SQRT1_2l 0.7071067811865475244008443621048490L
#define __i386 1
#define VM_HOST "x86_64-linux-gnu"
#define i386 1
#define __i386__ 1
#define M_1_PIl 0.3183098861837906715377675267450287L
#define __GLIBC_MINOR__ 5
#define M_1_PI 0.31830988618379067154
#define sqLowLevelMFence() asm volatile ("mfence")
 
Now I am getting a different error and this error like the last one is when building squeak itself, the last step.
 
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic  vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a CroquetPlugin/CroquetPlugin.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a DSAPrims/DSAPrims.a FFTPlugin/FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a IA32ABI/IA32ABI.a JoystickTabletPlugin/JoystickTabletPlugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a Matrix2x3Plugin/Matrix2x3Plugin.a MIDIPlugin/MIDIPlugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a Mpeg3Plugin/Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a -lutil -ldl -lpthread -lm -lnsl -lpthread vm/vm.a -Wl,--rpath -Wl,/usr/local/lib
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(gcc3x-cointerp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(cogit.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqNamedPrims.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqVirtualMachine.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqHeapMap.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(aio.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(debug.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(osExports.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixMemory.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixCharConv.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixVMProfile.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(FloatMathPlugin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(acos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(acosh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(asin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(asinh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atan.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atan2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(atanh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(cos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(cosh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(exp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(expm1.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(fmod.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(hypot.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_cos.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_sin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(ldexp.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log10.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(log1p.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(modf.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(pow.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(rem_pio2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(scalbn.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sin.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sinh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(sqrt.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(tan.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(tanh.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(finite.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_rem_pio2.o)' is incompatible with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file `FloatMathPlugin/FloatMathPlugin.a(k_tan.o)' is incompatible with i386 output
 

For me this looks like you are still mixing 32 and 64 Bit. When I do my compilations I have a separate build folder (IIRC that is recommended in the one of the readme's) that I can clean easily. So maybe your problem is due to partly old compiled code (without -m32 flag).

Regards
Andreas 
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 
That's possible.  Unfortunately there is no 'clean' target for make.  I'll remove the .o files for vm.a by hand and retry it.
 
Thanks,
Rob

Sent: Friday, July 16, 2010 5:58 AM
Subject: Re: [Vm-dev] Cog on linux

For me this looks like you are still mixing 32 and 64 Bit. When I do my compilations I have a separate build folder (IIRC that is recommended in the one of the readme's) that I can clean easily. So maybe your problem is due to partly old compiled code (without -m32 flag).


Regards
Andreas 
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Andreas Wacknitz
 

Am 16.07.2010 um 12:00 schrieb Rob Withers:

That's possible.  Unfortunately there is no 'clean' target for make.  I'll remove the .o files for vm.a by hand and retry it.
 
I don't have many experiences with the Cog branch but the "old" VM build system allows for a separate build folder and thus cleaning is very easily done by removing all files and subfolders. I haven't seen this for the Cog VM yet but I only compiled it once for my Mac and it went flawlessly.

Regards,
Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 
I deleted all the *.o and *.a files from the build tree.
 
I received LOTS of errors, of the 'undefined reference' variety.
 
Ultimately failed with "
sqUnixX11.lo:(.data.rel+0x110): undefined reference to `shortImageName'
collect2: ld returned 1 exit status
".
 
Rob

Sent: Friday, July 16, 2010 6:06 AM
Subject: Re: [Vm-dev] Cog on linux



Am 16.07.2010 um 12:00 schrieb Rob Withers:

That's possible.  Unfortunately there is no 'clean' target for make.  I'll remove the .o files for vm.a by hand and retry it.
 
I don't have many experiences with the Cog branch but the "old" VM build system allows for a separate build folder and thus cleaning is very easily done by removing all files and subfolders. I haven't seen this for the Cog VM yet but I only compiled it once for my Mac and it went flawlessly.

Regards,
Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Andreas Wacknitz
 

Am 16.07.2010 um 12:34 schrieb Rob Withers:

I deleted all the *.o and *.a files from the build tree.
 
I received LOTS of errors, of the 'undefined reference' variety.
 
Ultimately failed with "
sqUnixX11.lo:(.data.rel+0x110): undefined reference to `shortImageName'
collect2: ld returned 1 exit status
".
 
Rob
I can't follow what you are doing because I don't have a Linux installation.
From what I can see, the HowToBuild in the unixbuild folder asks you to go to the bld folder and issue a configure.
After the initial svn co there are only two files in the bld folder: plugins.ext and plugins.int.
So you can remove every file and folder under bld despite of these two files.
Did you do that or where there some other remnants from a former build?

Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Levente Uzonyi-2
In reply to this post by Rob Withers
 
On Fri, 16 Jul 2010, Rob Withers wrote:

(Pine still can't quote your mail...)

Now I remember why I used the nasty trick to define CC as "gcc -m32" when
I compiled the 32-bit SqueakVM on 64-bit OS. The problem is that there
are places where CC is used without the CFLAGS. For example
FloatMathPlugin uses LIBM_CFLAGS, which doesn't include CFLAGS. I still
wonder why it has to be compiled with -O, but that's another story.
This trick solves it, so add CC="gcc -m32" to the arguments of configure
and see if it works for you.


Levente
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 


--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>
Sent: Friday, July 16, 2010 8:17 AM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux

>
> On Fri, 16 Jul 2010, Rob Withers wrote:
>
> (Pine still can't quote your mail...)
>

(Is this better?  Hopefully)

> Now I remember why I used the nasty trick to define CC as "gcc -m32" when
> I compiled the 32-bit SqueakVM on 64-bit OS. The problem is that there are
> places where CC is used without the CFLAGS. For example FloatMathPlugin
> uses LIBM_CFLAGS, which doesn't include CFLAGS. I still wonder why it has
> to be compiled with -O, but that's another story.
> This trick solves it, so add CC="gcc -m32" to the arguments of configure
> and see if it works for you.
>

Where do you define CC?  Is it in make.cfg?

Rob

>
> Levente

Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Levente Uzonyi-2
 
On Fri, 16 Jul 2010, Rob Withers wrote:

>
>
>
> --------------------------------------------------
> From: "Levente Uzonyi" <[hidden email]>
> Sent: Friday, July 16, 2010 8:17 AM
> To: "Squeak Virtual Machine Development Discussion"
> <[hidden email]>
> Subject: Re: [Vm-dev] Cog on linux
>
>>
>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>
>> (Pine still can't quote your mail...)
>>
>
> (Is this better?  Hopefully)
>
>> Now I remember why I used the nasty trick to define CC as "gcc -m32" when I
>> compiled the 32-bit SqueakVM on 64-bit OS. The problem is that there are
>> places where CC is used without the CFLAGS. For example FloatMathPlugin
>> uses LIBM_CFLAGS, which doesn't include CFLAGS. I still wonder why it has
>> to be compiled with -O, but that's another story.
>> This trick solves it, so add CC="gcc -m32" to the arguments of configure
>> and see if it works for you.
>>
>
> Where do you define CC?  Is it in make.cfg?

The same place where CFLAGS is defined:
../../platforms/unix/config/configure CC="gcc -m32" CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0" LIBS=-lpthread


Levente

>
> Rob
>
>>
>> Levente
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 


--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>
Sent: Friday, July 16, 2010 3:57 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux

>
> On Fri, 16 Jul 2010, Rob Withers wrote:
>
>>
>>
>>
>> --------------------------------------------------
>> From: "Levente Uzonyi" <[hidden email]>
>> Sent: Friday, July 16, 2010 8:17 AM
>> To: "Squeak Virtual Machine Development Discussion"
>> <[hidden email]>
>> Subject: Re: [Vm-dev] Cog on linux
>>
>>>
>>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>>
>>> (Pine still can't quote your mail...)
>>>
>>
>> (Is this better?  Hopefully)
>>
>>> Now I remember why I used the nasty trick to define CC as "gcc -m32"
>>> when I compiled the 32-bit SqueakVM on 64-bit OS. The problem is that
>>> there are places where CC is used without the CFLAGS. For example
>>> FloatMathPlugin uses LIBM_CFLAGS, which doesn't include CFLAGS. I still
>>> wonder why it has to be compiled with -O, but that's another story.
>>> This trick solves it, so add CC="gcc -m32" to the arguments of configure
>>> and see if it works for you.
>>>
>>
>> Where do you define CC?  Is it in make.cfg?
>
> The same place where CFLAGS is defined:
> ../../platforms/unix/config/configure CC="gcc -m32"
> CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
>  -DCOGMTVM=0" LIBS=-lpthread
>

Woohoo!  I made progress.   Thanks!  Now it is crashing on sound:

/bin/sh
/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=compile
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld
 -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm
 -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm
    -c -o sqUnixSoundALSA.lo
/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -DHAVE_CONFIG_H -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld
 -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm
 -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm
 -c
/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
  -fPIC -DPIC -DPIC -o sqUnixSoundALSA.o
mv -f sqUnixSoundALSA.o sqUnixSoundALSA.lo
/bin/sh
/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=link
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1    -avoid-version -module -rpath
/home1/vawhigso/public_html/squeakelib/Cog/Cog/lib/squeak/3.9-7 -o
vm-sound-ALSA.la sqUnixSoundALSA.lo -lasound
mkdir .libs
rm -fr .libs/vm-sound-ALSA.la .libs/vm-sound-ALSA.* .libs/vm-sound-ALSA.*
(cd . && ln -s sqUnixSoundALSA.lo sqUnixSoundALSA.o)
gcc -m32 -shared
 sqUnixSoundALSA.lo  -lasound  -Wl,-soname -Wl,vm-sound-ALSA -o
.libs/vm-sound-ALSA
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
for -lasound
/usr/bin/ld: cannot find -lasound
collect2: ld returned 1 exit status
make[1]: *** [vm-sound-ALSA.la] Error 1
make: *** [vm-sound-ALSA.la] Error 2

>
> Levente
>
>>
>> Rob
>>
>>>
>>> Levente
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Andreas Wacknitz
 

Am 16.07.2010 um 22:25 schrieb Rob Withers:


Woohoo!  I made progress.   Thanks!  Now it is crashing on sound:

/bin/sh /home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=compile gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm    -c -o sqUnixSoundALSA.lo /home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -DHAVE_CONFIG_H -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -c /home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c  -fPIC -DPIC -DPIC -o sqUnixSoundALSA.o
mv -f sqUnixSoundALSA.o sqUnixSoundALSA.lo
/bin/sh /home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=link gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1    -avoid-version -module -rpath /home1/vawhigso/public_html/squeakelib/Cog/Cog/lib/squeak/3.9-7 -o vm-sound-ALSA.la sqUnixSoundALSA.lo -lasound
mkdir .libs
rm -fr .libs/vm-sound-ALSA.la .libs/vm-sound-ALSA.* .libs/vm-sound-ALSA.*
(cd . && ln -s sqUnixSoundALSA.lo sqUnixSoundALSA.o)
gcc -m32 -shared sqUnixSoundALSA.lo  -lasound  -Wl,-soname -Wl,vm-sound-ALSA -o .libs/vm-sound-ALSA
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching for -lasound
/usr/bin/ld: cannot find -lasound
collect2: ld returned 1 exit status
make[1]: *** [vm-sound-ALSA.la] Error 1
make: *** [vm-sound-ALSA.la] Error 2

This looks like a missing library (Iibasound). You should try to find something like libasound and/or libasound-dev for your distribution.
And of course It must be 32 bits. 

Andreas


Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Casey Ransberger-2
In reply to this post by Rob Withers

I think you just need libasound

On Jul 16, 2010, at 1:25 PM, "Rob Withers" <[hidden email]> wrote:

>
>
> --------------------------------------------------
> From: "Levente Uzonyi" <[hidden email]>
> Sent: Friday, July 16, 2010 3:57 PM
> To: "Squeak Virtual Machine Development Discussion" <[hidden email]>
> Subject: Re: [Vm-dev] Cog on linux
>
>>
>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>
>>>
>>>
>>>
>>> --------------------------------------------------
>>> From: "Levente Uzonyi" <[hidden email]>
>>> Sent: Friday, July 16, 2010 8:17 AM
>>> To: "Squeak Virtual Machine Development Discussion" <[hidden email]>
>>> Subject: Re: [Vm-dev] Cog on linux
>>>
>>>>
>>>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>>>
>>>> (Pine still can't quote your mail...)
>>>>
>>>
>>> (Is this better?  Hopefully)
>>>
>>>> Now I remember why I used the nasty trick to define CC as "gcc -m32" when I compiled the 32-bit SqueakVM on 64-bit OS. The problem is that there are places where CC is used without the CFLAGS. For example FloatMathPlugin uses LIBM_CFLAGS, which doesn't include CFLAGS. I still wonder why it has to be compiled with -O, but that's another story.
>>>> This trick solves it, so add CC="gcc -m32" to the arguments of configure and see if it works for you.
>>>>
>>>
>>> Where do you define CC?  Is it in make.cfg?
>>
>> The same place where CFLAGS is defined:
>> ../../platforms/unix/config/configure CC="gcc -m32" CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1  -DCOGMTVM=0" LIBS=-lpthread
>>
>
> Woohoo!  I made progress.   Thanks!  Now it is crashing on sound:
>
> /bin/sh /home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=compile gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm    -c -o sqUnixSoundALSA.lo /home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
> gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -DHAVE_CONFIG_H -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm -c /home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c  -fPIC -DPIC -DPIC -o sqUnixSoundALSA.o
> mv -f sqUnixSoundALSA.o sqUnixSoundALSA.lo
> /bin/sh /home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=link gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1    -avoid-version -module -rpath /home1/vawhigso/public_html/squeakelib/Cog/Cog/lib/squeak/3.9-7 -o vm-sound-ALSA.la sqUnixSoundALSA.lo -lasound
> mkdir .libs
> rm -fr .libs/vm-sound-ALSA.la .libs/vm-sound-ALSA.* .libs/vm-sound-ALSA.*
> (cd . && ln -s sqUnixSoundALSA.lo sqUnixSoundALSA.o)
> gcc -m32 -shared sqUnixSoundALSA.lo  -lasound  -Wl,-soname -Wl,vm-sound-ALSA -o .libs/vm-sound-ALSA
> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching for -lasound
> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching for -lasound
> /usr/bin/ld: cannot find -lasound
> collect2: ld returned 1 exit status
> make[1]: *** [vm-sound-ALSA.la] Error 1
> make: *** [vm-sound-ALSA.la] Error 2
>
>>
>> Levente
>>
>>>
>>> Rob
>>>
>>>>
>>>> Levente
>>>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 


--------------------------------------------------
From: "Casey Ransberger" <[hidden email]>
Sent: Friday, July 16, 2010 5:10 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux

>
> I think you just need libasound
>

Ok guys, I am working on it with my webhost.  I am not sure how I can
install an RPM on their box, so I submitted a ticket.

Thanks,
Rob

Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Levente Uzonyi-2
 
On Fri, 16 Jul 2010, Rob Withers wrote:

>
>
>
> --------------------------------------------------
> From: "Casey Ransberger" <[hidden email]>
> Sent: Friday, July 16, 2010 5:10 PM
> To: "Squeak Virtual Machine Development Discussion"
> <[hidden email]>
> Subject: Re: [Vm-dev] Cog on linux
>
>>
>> I think you just need libasound
>>
>
> Ok guys, I am working on it with my webhost.  I am not sure how I can install
> an RPM on their box, so I submitted a ticket.

Actually I don't think that any sound plugin would work, because the
32-bit binaries will not be available. But you don't need sound at all on
a server, do you?


Levente

>
> Thanks,
> Rob
>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 


--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>
Sent: Friday, July 16, 2010 6:44 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux

>
> On Fri, 16 Jul 2010, Rob Withers wrote:
>
>>
>>
>>
>> --------------------------------------------------
>> From: "Casey Ransberger" <[hidden email]>
>> Sent: Friday, July 16, 2010 5:10 PM
>> To: "Squeak Virtual Machine Development Discussion"
>> <[hidden email]>
>> Subject: Re: [Vm-dev] Cog on linux
>>
>>>
>>> I think you just need libasound
>>>
>>
>> Ok guys, I am working on it with my webhost.  I am not sure how I can
>> install an RPM on their box, so I submitted a ticket.
>
> Actually I don't think that any sound plugin would work, because the
> 32-bit binaries will not be available. But you don't need sound at all on
> a server, do you?
>
You lost me on 32-bit binaries not being available.  I found
alsa-lib-1.0.13.tar.bz2 and I am preparing to build it.

My error said:
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
for -lasound

So it looks like I need a .so and a .a file.  As rusty as I am on building
for unix, are these static libs or shared libs?  I do need to figure out how
to cross compile to a 32bit system.  I am researching this for the right
target.  I need i386-linux or something.  I am attaching the config.guess
file they use for this.  Can anyone give me a helpful hand what I should
specify doing ...

        './configure --enable-shared=no --enable-static=yes --target=i386-linux'

Regarding your observation that I don't need sound on a server, that is spot
on.  It may be too entangled for the time being.

Cheers,
Rob

>
> Levente
>
>>
>> Thanks,
>> Rob

config.guess (50K) Download Attachment
INSTALL (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 


--------------------------------------------------
From: "Rob Withers" <[hidden email]>
Sent: Friday, July 16, 2010 7:08 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux

>



>
>
> --------------------------------------------------
> From: "Levente Uzonyi" <[hidden email]>
> Sent: Friday, July 16, 2010 6:44 PM
> To: "Squeak Virtual Machine Development Discussion"
> <[hidden email]>
> Subject: Re: [Vm-dev] Cog on linux
>
>>
>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>
>>>
>>>
>>>
>>> --------------------------------------------------
>>> From: "Casey Ransberger" <[hidden email]>
>>> Sent: Friday, July 16, 2010 5:10 PM
>>> To: "Squeak Virtual Machine Development Discussion"
>>> <[hidden email]>
>>> Subject: Re: [Vm-dev] Cog on linux
>>>
>>>>
>>>> I think you just need libasound
>>>>
>>>
>>> Ok guys, I am working on it with my webhost.  I am not sure how I can
>>> install an RPM on their box, so I submitted a ticket.
>>
>> Actually I don't think that any sound plugin would work, because the
>> 32-bit binaries will not be available. But you don't need sound at all on
>> a server, do you?
>>
>
> You lost me on 32-bit binaries not being available.  I found
> alsa-lib-1.0.13.tar.bz2 and I am preparing to build it.
>
> My error said:
> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
> for -lasound
> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
> for -lasound
>
> So it looks like I need a .so and a .a file.  As rusty as I am on building
> for unix, are these static libs or shared libs?  I do need to figure out
> how
> to cross compile to a 32bit system.  I am researching this for the right
> target.  I need i386-linux or something.  I am attaching the config.guess
> file they use for this.  Can anyone give me a helpful hand what I should
> specify doing ...
>
>        './configure --enable-shared=no --enable-static=yes --target=i386-linux'
>

Damn!  I can't figure out how to change the install path to other than
/usr/include, etc.  I can't write to those directories.  I am stuck.

> Regarding your observation that I don't need sound on a server, that is
> spot
> on.  It may be too entangled for the time being.

Is it possible to unentangle sound?

Thanks,
Rob

>
> Cheers,
> Rob
>
>>
>> Levente
>>
>>>
>>> Thanks,
>>> Rob
>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Levente Uzonyi-2
 
On Fri, 16 Jul 2010, Rob Withers wrote:

>
>
>
> --------------------------------------------------
> From: "Rob Withers" <[hidden email]>
> Sent: Friday, July 16, 2010 7:08 PM
> To: "Squeak Virtual Machine Development Discussion"
> <[hidden email]>
> Subject: Re: [Vm-dev] Cog on linux
>
>>
>
>
>
>>
>>
>> --------------------------------------------------
>> From: "Levente Uzonyi" <[hidden email]>
>> Sent: Friday, July 16, 2010 6:44 PM
>> To: "Squeak Virtual Machine Development Discussion"
>> <[hidden email]>
>> Subject: Re: [Vm-dev] Cog on linux
>>
>>>
>>> On Fri, 16 Jul 2010, Rob Withers wrote:
>>>
>>>>
>>>>
>>>>
>>>> --------------------------------------------------
>>>> From: "Casey Ransberger" <[hidden email]>
>>>> Sent: Friday, July 16, 2010 5:10 PM
>>>> To: "Squeak Virtual Machine Development Discussion"
>>>> <[hidden email]>
>>>> Subject: Re: [Vm-dev] Cog on linux
>>>>
>>>>>
>>>>> I think you just need libasound
>>>>>
>>>>
>>>> Ok guys, I am working on it with my webhost.  I am not sure how I can
>>>> install an RPM on their box, so I submitted a ticket.
>>>
>>> Actually I don't think that any sound plugin would work, because the
>>> 32-bit binaries will not be available. But you don't need sound at all on
>>> a server, do you?
>>>
>>
>> You lost me on 32-bit binaries not being available.  I found
>> alsa-lib-1.0.13.tar.bz2 and I am preparing to build it.
>>
>> My error said:
>> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
>> for -lasound
>> /usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
>> for -lasound
>>
>> So it looks like I need a .so and a .a file.  As rusty as I am on building
>> for unix, are these static libs or shared libs?  I do need to figure out
>> how
>> to cross compile to a 32bit system.  I am researching this for the right
>> target.  I need i386-linux or something.  I am attaching the config.guess
>> file they use for this.  Can anyone give me a helpful hand what I should
>> specify doing ...
>>
>>        './configure --enable-shared=no --enable-static=yes
>> --target=i386-linux'
>>
>
> Damn!  I can't figure out how to change the install path to other than
> /usr/include, etc.  I can't write to those directories.  I am stuck.

Try ./configure --help or check if you can pass a parameter to make. If
none of those work, check if you can change it by setting an environment
variable.
I think it's better if you build the VM without sound first. And if you
have spare time then try to build a plugin for sound playback.


Levente

>
>> Regarding your observation that I don't need sound on a server, that is
>> spot
>> on.  It may be too entangled for the time being.
>
> Is it possible to unentangle sound?
>
> Thanks,
> Rob
>
>>
>> Cheers,
>> Rob
>>
>>>
>>> Levente
>>>
>>>>
>>>> Thanks,
>>>> Rob
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

CdAB63
In reply to this post by Andreas Wacknitz
 
CogVM is working just fine as far as OpenGL is not an issue. Although
there is a B3DAcceleratorPlugin in .../cog/lib/squeak/3.9-7 it just
cannot find direct rendering for NVIDIA FX9600 (plugin crashes) and it
also complains about #boundingBox in:

BitBlt>>setDestForm: df
    | bb |
    bb := df boundingBox.
    destForm := df.
    clipX := bb left.
    clipY := bb top.
    clipWidth := bb width.
    clipHeight := bb height


signature.asc (269 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Eliot Miranda-2
In reply to this post by Rob Withers
 


On Fri, Jul 16, 2010 at 4:37 PM, Rob Withers <[hidden email]> wrote:



--------------------------------------------------
From: "Rob Withers" <[hidden email]>
Sent: Friday, July 16, 2010 7:08 PM

To: "Squeak Virtual Machine Development Discussion" <[hidden email]>
Subject: Re: [Vm-dev] Cog on linux







--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>
Sent: Friday, July 16, 2010 6:44 PM

To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux


On Fri, 16 Jul 2010, Rob Withers wrote:




--------------------------------------------------
From: "Casey Ransberger" <[hidden email]>
Sent: Friday, July 16, 2010 5:10 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux


I think you just need libasound


Ok guys, I am working on it with my webhost.  I am not sure how I can
install an RPM on their box, so I submitted a ticket.

Actually I don't think that any sound plugin would work, because the
32-bit binaries will not be available. But you don't need sound at all on
a server, do you?


You lost me on 32-bit binaries not being available.  I found
alsa-lib-1.0.13.tar.bz2 and I am preparing to build it.


My error said:
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
for -lasound

So it looks like I need a .so and a .a file.  As rusty as I am on building
for unix, are these static libs or shared libs?  I do need to figure out how
to cross compile to a 32bit system.  I am researching this for the right
target.  I need i386-linux or something.  I am attaching the config.guess
file they use for this.  Can anyone give me a helpful hand what I should
specify doing ...

      './configure --enable-shared=no --enable-static=yes --target=i386-linux'


Damn!  I can't figure out how to change the install path to other than /usr/include, etc.  I can't write to those directories.  I am stuck.

Regarding your observation that I don't need sound on a server, that is spot
on.  It may be too entangled for the time being.

Is it possible to unentangle sound?

Try configuring Cog without libalsa.  e.g.

../../platforms/unix/config/configure --without-vm-sound-ALSA --without-vm-display-fbdev --without-npsqueak -prefix=/home/qwaq/qwaqvm/ CFLAGS="-g -O1 -msse2 -D_GNU_SOURCE -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0" LIBS=-lpthread
 
and if you have problems with OSS sound you can disable that too

../../platforms/unix/config/configure --without-vm-sound-ALSA --without-vm-sound-OSS --without-vm-display-fbdev --without-npsqueak -prefix=/home/qwaq/qwaqvm/ CFLAGS="-g -O1 -msse2 -D_GNU_SOURCE -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0" LIBS=-lpthread

that will leave you with vm-sound-null which is fine for a server.

Thanks,
Rob


Cheers,
Rob


Levente


Thanks,
Rob


Reply | Threaded
Open this post in threaded view
|

Re: Cog on linux

Rob Withers
 
Eliot,

It is still giving me an ALSA error.  Here is my call to configure and make:

../../platforms/unix/config/configure --without-vm-sound-ALSA --without-vm-sound-OSS
 --without-vm-display-fbdev --without-npsqueak CC="gcc -m32"
CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0" LIBS=-lpthread

make install prefix=/home1/vawhigso/public_html/squeakelib/Cog/Cog

I find it best to delete the entire unixbuild directory and untar it fresh
from the tarball.

Thanks,
Rob

Error:

/bin/sh
/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=compile
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1  -DHAVE_CONFIG_H  -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld
 -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm
 -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm
    -c -o sqUnixSoundALSA.lo
/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -DHAVE_CONFIG_H -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld
 -I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm
 -I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm -I/home1/vawhigso/public_html/squeakelib/Cog/src/vm
 -c
/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c
  -fPIC -DPIC -DPIC -o sqUnixSoundALSA.o
mv -f sqUnixSoundALSA.o sqUnixSoundALSA.lo
/bin/sh
/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld/libtool --mode=link
gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1
 -DCOGMTVM=0 -msse -DLSB_FIRST=1    -avoid-version -module -rpath
/home1/vawhigso/public_html/squeakelib/Cog/Cog/lib/squeak/3.9-7 -o
vm-sound-ALSA.la sqUnixSoundALSA.lo -lasound
mkdir .libs
rm -fr .libs/vm-sound-ALSA.la .libs/vm-sound-ALSA.* .libs/vm-sound-ALSA.*
(cd . && ln -s sqUnixSoundALSA.lo sqUnixSoundALSA.o)
gcc -m32 -shared
 sqUnixSoundALSA.lo  -lasound  -Wl,-soname -Wl,vm-sound-ALSA -o
.libs/vm-sound-ALSA
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
for -lasound
/usr/bin/ld: cannot find -lasound
collect2: ld returned 1 exit status
make[1]: *** [vm-sound-ALSA.la] Error 1
make: *** [vm-sound-ALSA.la] Error 2



From: Eliot Miranda
Sent: Saturday, July 17, 2010 2:00 PM
To: Squeak Virtual Machine Development Discussion
Subject: Re: [Vm-dev] Cog on linux








On Fri, Jul 16, 2010 at 4:37 PM, Rob Withers <[hidden email]> wrote:




--------------------------------------------------
From: "Rob Withers" <[hidden email]>
Sent: Friday, July 16, 2010 7:08 PM

To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux











--------------------------------------------------
From: "Levente Uzonyi" <[hidden email]>

Sent: Friday, July 16, 2010 6:44 PM

To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux



On Fri, 16 Jul 2010, Rob Withers wrote:





--------------------------------------------------
From: "Casey Ransberger" <[hidden email]>
Sent: Friday, July 16, 2010 5:10 PM
To: "Squeak Virtual Machine Development Discussion"
<[hidden email]>
Subject: Re: [Vm-dev] Cog on linux



I think you just need libasound



Ok guys, I am working on it with my webhost.  I am not sure how I can
install an RPM on their box, so I submitted a ticket.


Actually I don't think that any sound plugin would work, because the
32-bit binaries will not be available. But you don't need sound at all on
a server, do you?




You lost me on 32-bit binaries not being available.  I found
alsa-lib-1.0.13.tar.bz2 and I am preparing to build it.


My error said:
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.so when searching
for -lasound
/usr/bin/ld: skipping incompatible /usr/lib64/libasound.a when searching
for -lasound


So it looks like I need a .so and a .a file.  As rusty as I am on building
for unix, are these static libs or shared libs?  I do need to figure out how
to cross compile to a 32bit system.  I am researching this for the right
target.  I need i386-linux or something.  I am attaching the config.guess
file they use for this.  Can anyone give me a helpful hand what I should
specify doing ...

      './configure --enable-shared=no --enable-static=yes --target=i386-linux'



Damn!  I can't figure out how to change the install path to other than
/usr/include, etc.  I can't write to those directories.  I am stuck.


Regarding your observation that I don't need sound on a server, that is spot
on.  It may be too entangled for the time being.


Is it possible to unentangle sound?



Try configuring Cog without libalsa.  e.g.


../../platforms/unix/config/configure --without-vm-sound-ALSA --without-vm-display-fbdev
 --without-npsqueak -prefix=/home/qwaq/qwaqvm/
CFLAGS="-g -O1 -msse2 -D_GNU_SOURCE -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0"
LIBS=-lpthread

and if you have problems with OSS sound you can disable that too


../../platforms/unix/config/configure --without-vm-sound-ALSA --without-vm-sound-OSS
 --without-vm-display-fbdev --without-npsqueak -prefix=/home/qwaq/qwaqvm/
CFLAGS="-g -O1 -msse2 -D_GNU_SOURCE -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0"
LIBS=-lpthread


that will leave you with vm-sound-null which is fine for a server.

Thanks,
Rob



Cheers,
Rob



Levente



Thanks,
Rob

123