Because I am not interested in just getting C sources, but
understanding the VM build process from scratch.

Also, because that version fails with the GLIBC level problem (this
includes the zeroconf script).

I want to be able to make a debian package for Pharo, so, having Pharo
running is step #1.

apt-get install pharo

Phil

2013/2/24 stephane ducasse <[email protected]>:
> Hi phil
>
> why do you not use the pharo git version?
>
> Stef
>
> On Feb 24, 2013, at 8:21 PM, [email protected] 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>
>
>

Reply via email to