Hi phil why do you not use the pharo git version? Stef On Feb 24, 2013, at 8:21 PM, phil@highoctane.be wrote:
I've been trying to build pharo on debian 6 amd64
I've installed:
libc6dev-i386 ia32-libs
Then downloaded coglinux from Eliot's site. Launching squeak on the generator.image works and sources have been generated with:
PharoVMBuilder build.
Things went smooth for that step.
Then I went to build/ and did a:
cmake .
No problems
then make gave me trouble.
root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/build# cmake . -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done
Adding internal plugin: ADPCMCodecPlugin Adding internal plugin: AsynchFilePlugin Adding internal plugin: B2DPlugin Adding internal plugin: BitBltPlugin Adding internal plugin: BMPReadWriterPlugin Adding internal plugin: CroquetPlugin Adding internal plugin: ZipPlugin Adding internal plugin: DropPlugin Adding internal plugin: DSAPrims Adding internal plugin: FFTPlugin Adding internal plugin: FileCopyPlugin Adding internal plugin: FilePlugin Adding internal plugin: FloatArrayPlugin Adding internal plugin: FloatMathPlugin Adding internal plugin: IA32ABI Adding internal plugin: JoystickTabletPlugin Adding internal plugin: JPEGReaderPlugin Adding internal plugin: JPEGReadWriter2Plugin Adding internal plugin: Klatt Adding internal plugin: LargeIntegers Adding internal plugin: Matrix2x3Plugin Adding internal plugin: MIDIPlugin Adding internal plugin: MiscPrimitivePlugin Adding internal plugin: Mpeg3Plugin Adding internal plugin: RePlugin Adding internal plugin: SecurityPlugin Adding internal plugin: SerialPlugin Adding internal plugin: SocketPlugin Adding internal plugin: SoundCodecPrims Adding internal plugin: SoundPlugin Adding internal plugin: StarSqueakPlugin Adding internal plugin: SurfacePlugin Adding internal plugin: LocalePlugin Adding internal plugin: NativeBoostPlugin Adding internal plugin: UnixOSProcessPlugin Adding external plugin: B3DAcceleratorPlugin Adding external plugin: SqueakFFIPrims Adding external plugin: InternetConfigPlugin Adding external plugin: FT2Plugin Adding external plugin: SqueakSSL Adding module: vm-display-null Adding module: vm-display-X11 Adding module: vm-sound-ALSA Adding module: vm-sound-null -- Configuring done -- Generating done -- Build files have been written to: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/build root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/build# make Scanning dependencies of target SqueakSSL [ 0%] Building C object SqueakSSL/CMakeFiles/SqueakSSL.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/SqueakSSL/SqueakSSL.c.o [ 1%] Building C object SqueakSSL/CMakeFiles/SqueakSSL.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c.o Linking C shared library /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/libSqueakSSL.so /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libssl.so when searching for -lssl /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libssl.a when searching for -lssl /usr/bin/ld: skipping incompatible /usr/lib/libssl.so when searching for -lssl /usr/bin/ld: skipping incompatible /usr/lib/libssl.a when searching for -lssl /usr/bin/ld: cannot find -lssl collect2: ld returned 1 exit status make[2]: *** [/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/libSqueakSSL.so] Error 1 make[1]: *** [SqueakSSL/CMakeFiles/SqueakSSL.dir/all] Error 2 make: *** [all] Error 2
So, I did a basic: d# ln -s /usr/lib32/libssl.so.0.9.8 /usr/lib32/libssl.so
Which got me further.
The build then failed (some kind of process problem:
[ 81%] Building C object StarSqueakPlugin/CMakeFiles/StarSqueakPlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/StarSqueakPlugin/StarSqueakPlugin.c.o Linking C static library libStarSqueakPlugin.a [ 81%] Built target StarSqueakPlugin Scanning dependencies of target SurfacePlugin [ 82%] Building C object SurfacePlugin/CMakeFiles/SurfacePlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/plugins/SurfacePlugin/SurfacePlugin.c.o Linking C static library libSurfacePlugin.a [ 82%] Built target SurfacePlugin Scanning dependencies of target LocalePlugin [ 83%] Building C object LocalePlugin/CMakeFiles/LocalePlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/LocalePlugin/LocalePlugin.c.o [ 83%] Building C object LocalePlugin/CMakeFiles/LocalePlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/LocalePlugin/sqUnixLocale.c.o /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/LocalePlugin/sqUnixLocale.c: In function âsqLocGetCountryIntoâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/LocalePlugin/sqUnixLocale.c:754: warning: initialization discards qualifiers from pointer target type /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/LocalePlugin/sqUnixLocale.c: In function âsqLocGetLanguageIntoâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/plugins/LocalePlugin/sqUnixLocale.c:759: warning: initialization discards qualifiers from pointer target type Linking C static library libLocalePlugin.a [ 83%] Built target LocalePlugin Scanning dependencies of target NativeBoostPlugin [ 83%] Building C object NativeBoostPlugin/CMakeFiles/NativeBoostPlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c.o /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c: In function âprimitiveDlopenFnâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c:166: warning: passing argument 1 of âpositive32BitIntegerForâ makes integer from pointer without a cast /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c:90: note: expected âsqIntâ but argument is of type âvoid *â /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c: In function âprimitiveDlsymFnâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c:184: warning: passing argument 1 of âpositive32BitIntegerForâ makes integer from pointer without a cast /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/NativeBoostPlugin/NativeBoostPlugin.c:90: note: expected âsqIntâ but argument is of type âvoid *â Linking C static library libNativeBoostPlugin.a [ 83%] Built target NativeBoostPlugin Scanning dependencies of target UnixOSProcessPlugin [ 83%] Building C object UnixOSProcessPlugin/CMakeFiles/UnixOSProcessPlugin.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c.o ^Cmake[2]: *** wait: No child processes. Stop. make[2]: *** Waiting for unfinished jobs.... make[2]: *** wait: No child processes. Stop. make[1]: *** wait: No child processes. Stop. make[1]: *** Waiting for unfinished jobs.... make[1]: *** wait: No child processes. Stop. make: *** wait: No child processes. Stop. make: *** Waiting for unfinished jobs.... make: *** wait: No child processes. Stop.
Restarted make then it proceeded.
Then failed on libfreetype
/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/src/plugins/FT2Plugin/FT2Plugin.c:1071: warning: assignment discards qualifiers from pointer target type Linking C shared library /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/libFT2Plugin.so /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libfreetype.so when searching for -lfreetype /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libfreetype.a when searching for -lfreetype /usr/bin/ld: skipping incompatible /usr/lib/libfreetype.so when searching for -lfreetype /usr/bin/ld: skipping incompatible /usr/lib/libfreetype.a when searching for -lfreetype /usr/bin/ld: cannot find -lfreetype collect2: ld returned 1 exit status make[2]: *** [/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/libFT2Plugin.so] Error 1 make[1]: *** [FT2Plugin/CMakeFiles/FT2Plugin.dir/all] Error 2 make: *** [all] Error 2 root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/build#
Tried this:
ln -s /usr/lib32/libfreetype.so.6 /usr/lib32/libfreetype.so
One step ahead...
Then crash:
In file included from /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm/sqUnixMain.c:41: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h:17:54: error: vmVersionInfo.h: No such file or directory /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h:20:3: error: #error "Revision information not specified" In file included from /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm/sqUnixMain.c:41: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h: In function âsourceVersionStringâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h:25: error: âREVISION_STRINGâ undeclared (first use in this function) /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h:25: error: (Each undeclared identifier is reported only once /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/Cross/vm/sqSCCSVersion.h:25: error: for each function it appears in.) /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm/sqUnixMain.c: In function âgetRedzoneSizeâ: /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm/sqUnixMain.c:2012: warning: assignment from incompatible pointer type make[2]: *** [CMakeFiles/pharo.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm/sqUnixMain.c.o] Error 1 make[1]: *** [CMakeFiles/pharo.dir/all] Error 2 make: *** [all] Error 2
Looks like the vmVersionInfo.h hasn't been generated in the build/ folder or something. Mayber it wasn't there. I copied the one I had from OSX
Went somewhat further as well.. but not quite.
Linking C executable /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/pharo [ 97%] Built target pharo Scanning dependencies of target vm-display-null [ 98%] Building C object vm-display-null/CMakeFiles/vm-display-null.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm-display-null/sqUnixDisplayNull.c.o /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm-display-null/sqUnixDisplayNull.c:176: warning: initialization from incompatible pointer type Linking C shared library /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/vm-display-null [ 98%] Built target vm-display-null Scanning dependencies of target vm-display-X11 [ 99%] Building C object vm-display-X11/CMakeFiles/vm-display-X11.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm-display-X11/sqUnixX11.c.o [ 99%] Building C object vm-display-X11/CMakeFiles/vm-display-X11.dir/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/platforms/unix/vm-display-X11/sqUnixMozilla.c.o Linking C shared library /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/vm-display-X11 /usr/bin/ld: cannot find -lSM collect2: ld returned 1 exit status make[2]: *** [/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/vm-display-X11] Error 1 make[1]: *** [vm-display-X11/CMakeFiles/vm-display-X11.dir/all] Error 2 make: *** [all] Error 2
What's that SM lib?
Yet another symlinking dude..
ln -s /usr/lib32/libSM.so.6 /usr/lib32/libSM.so
Ha, the beast still resists...
[ 98%] Built target vm-display-null Linking C shared library /home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/vm-display-X11 /usr/bin/ld: cannot find -lICE collect2: ld returned 1 exit status make[2]: *** [/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results/vm-display-X11] Error 1 make[1]: *** [vm-display-X11/CMakeFiles/vm-display-X11.dir/all] Error 2 make: *** [all] Error 2
So....
ln -s /usr/lib32/libICE.so.6 /usr/lib32/libICE.so
same for GL
ln -s /usr/lib32/libGL.so.1 /usr/lib32/libGL.so
and X11 (I am getting tired...)
ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so
Looks like we are done. Not sure but...
root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/build# make [ 1%] Built target SqueakSSL [ 1%] Built target DSAPrims [ 2%] Built target FFTPlugin [ 3%] Built target FileCopyPlugin [ 5%] Built target FilePlugin [ 5%] Built target BMPReadWriterPlugin [ 6%] Built target ZipPlugin [ 7%] Built target DropPlugin [ 8%] Built target CroquetPlugin [ 8%] Built target ADPCMCodecPlugin [ 9%] Built target BitBltPlugin [ 9%] Built target B2DPlugin [ 10%] Built target AsynchFilePlugin [ 10%] Built target FloatArrayPlugin [ 11%] Built target IA32ABI [ 29%] Built target FloatMathPlugin [ 30%] Built target JoystickTabletPlugin [ 30%] Built target JPEGReaderPlugin [ 55%] Built target JPEGReadWriter2Plugin [ 56%] Built target Klatt [ 56%] Built target LargeIntegers [ 57%] Built target Matrix2x3Plugin [ 58%] Built target MIDIPlugin [ 58%] Built target MiscPrimitivePlugin [ 73%] Built target Mpeg3Plugin [ 76%] Built target RePlugin [ 77%] Built target SecurityPlugin [ 78%] Built target SerialPlugin [ 79%] Built target SocketPlugin [ 80%] Built target SoundCodecPrims [ 81%] Built target SoundPlugin [ 81%] Built target StarSqueakPlugin [ 82%] Built target SurfacePlugin [ 83%] Built target LocalePlugin [ 83%] Built target NativeBoostPlugin [ 83%] Built target UnixOSProcessPlugin [ 85%] Built target B3DAcceleratorPlugin [ 87%] Built target SqueakFFIPrims [ 88%] Built target InternetConfigPlugin [ 88%] Built target FT2Plugin [ 97%] Built target pharo [ 98%] Built target vm-display-null [ 99%] Built target vm-display-X11 [ 99%] Built target vm-sound-ALSA [100%] Built target vm-sound-null
A little go:
root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/results# ./pharo Could not open the pharo image file `pharo.image'.
There are three ways to open a pharo image file. You can: 1. Put copies of the default image and changes files in this directory. 2. Put the name of the image file on the command line when you run pharo (use the `-help' option for more information). 3. Set the environment variable PHARO_IMAGE to the name of the image that you want to use by default.
For more information, type: `man pharo' (without the quote characters).
Yes!
And then,
root@devdebian:/home/philippeback/Documents/Smalltalk/2-MyWorkspaces/workspaceVMOSXFromBook/blessed/image# ../results/pharo generator.image
Working! Screenshot as proof.
But the image complains that the VM is too old. I don't know where it goes to look after that, vmVersionInfo.h for sure.
But it works well.
Now, the next step would be doing the packaging.
Phil <Capture dâécran 2013-02-24 à 20.20.10.png>