+ 1 I'm curious to know the libraries that are making more trouble. (I'm thinking about FreeType) because we should throw away.
Stef On Fri, Mar 17, 2017 at 12:54 AM, Ben Coman <b...@openinworld.com> wrote: > Great to hear this news. > Thanks for your efforts Nicolas. > cheers -ben > > On Fri, Mar 17, 2017 at 4:51 AM, Nicolas Cellier > <nicolas.cellier.aka.n...@gmail.com> wrote: >> >> >> >> 2017-03-15 18:14 GMT+01:00 Nicolas Cellier >> <nicolas.cellier.aka.n...@gmail.com>: >>> >>> >>> >>> 2017-03-15 15:03 GMT+01:00 Esteban Lorenzano <esteba...@gmail.com>: >>>> >>>> sorry for coming late to this thread… hard week :) >>>> why we are trying to compile with cygwin? >>>> is there a problem with the mingw distro? >>>> >>>> I didn’t have the time to update the README, sadly. But well… following >>>> appveyor configuration should give you all you need to reproduce the build >>>> (that’s what I did last time I built an environment). >>>> >>>> Esteban >>>> >>>> >>> Hi Esteban, >>> How did you solve the directx problem? >>> >> >> >> Hurrah, I succeeded in compiling Win32 Pharo VM from cygwin by using >> cross-compiler i686-w64-mingw32 >> (cygwin64 here but it could be cygwin32). >> >> This is good news, because it means that: >> - we don't have to rely anymore on non-redistributable legacy directx SDK >> - we can compile with clang if we want too (well, for all the 3rd party >> dependencies, that's a bit more work) >> - it opens the door to win64 version >> >> Some details remain: I have to pick the right libgcc and libwindpthread as >> weel as iconv.dll and copy them to the pharo build directory to satisfy the >> SDL2 dependencies. >> Maybe there's a better option for compiling SDL2 with more static stuff? >> -static-libgcc or something... >> >> cairo required another dirty hack, not the one of Igor which must be >> eliminated for cygwin compilation, but one for working around the files that >> are not truncated when overwritten... >> I wonder where this bug comes from? make? cygwin itself? VirtualBox >> (unlikely)? >> >> If I find the energy to rebase -i and clean a bit my non linear attempts >> (squash/reorder/...) then I'll push the branch on opensmalltalk-vm and see >> how appveyor like it. >> >> >> >>>> >>>> On 15 Mar 2017, at 10:11, Nicolai Hess <nicolaih...@gmail.com> wrote: >>>> >>>> >>>> >>>> 2017-03-15 9:22 GMT+01:00 philippe.b...@highoctane.be >>>> <philippe.b...@gmail.com>: >>>>> >>>>> I made my own build here. >>>>> Not up to date with latest stuff but should work for the build process. >>>>> >>>>> https://ci.appveyor.com/project/philippeback/pharo-vm >>>>> >>>>> It uses my forked repo and provided you set your own bintray env vars >>>>> for API keys will publish there. >>>>> >>>>> Check all of the output of env vars and where/which in the appveyor >>>>> console to see what gets used when when it comes to compilers and so on as >>>>> there were various compiler versions involved at one point. >>>>> >>>>> Third party cache part is also worth checking. >>>>> >>>>> Still not able to build on my local box at the moment due to some tools >>>>> discrepancies happening. >>>>> >>>>> My build artifacts are embarking too much at this point but allow you >>>>> ro get the release, debug, and assert vms for windows. This helps when >>>>> debugging as backtraces and so on are much more meaningful and one can use >>>>> gdb more effectively to understand what is going on. >>>>> >>>>> Just keep the dlls and exes and you'll be fine. >>>> >>>> >>>> Ah good, thank you. >>>> >>>> >>>>> >>>>> >>>>> HTH >>>>> >>>>> Phil >>>>> >>>>> Le 15 mars 2017 08:58, "Nicolai Hess" <nicolaih...@gmail.com> a écrit : >>>>>> >>>>>> >>>>>> >>>>>> 2017-03-14 22:22 GMT+01:00 Nicolas Cellier >>>>>> <nicolas.cellier.aka.n...@gmail.com>: >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2017-03-14 9:30 GMT+01:00 Nicolas Cellier >>>>>>> <nicolas.cellier.aka.n...@gmail.com>: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2017-03-14 8:58 GMT+01:00 Nicolai Hess <nicolaih...@gmail.com>: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2017-03-11 10:01 GMT+01:00 Nicolas Cellier >>>>>>>>> <nicolas.cellier.aka.n...@gmail.com>: >>>>>>>>>> >>>>>>>>>> Hi Nicolai, >>>>>>>>>> >>>>>>>>>> If you look at appveyor.yml configuration on >>>>>>>>>> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/.appveyor.yml, >>>>>>>>>> you will see that the pharo brand is not yet in the matrix. >>>>>>>>>> >>>>>>>>>> It's because builds are based on cygwin, but as I understood, some >>>>>>>>>> library used by some plugin required by pharo refuse to compile with >>>>>>>>>> cygwin. >>>>>>>>>> They appear to work with mingw32. >>>>>>>>>> Cygwin provides headers for legacy directx, some distribution of >>>>>>>>>> mingw32 did in the past, but it does not seem the case anymore. >>>>>>>>>> Using the directx headers from Microsoft SDK is a problem. They >>>>>>>>>> are not redistributable and can't be found anymore on the net (too >>>>>>>>>> old). We >>>>>>>>>> cannot seriously base the builds on something so fragile (both >>>>>>>>>> technically >>>>>>>>>> and legally) in the long term. >>>>>>>>>> >>>>>>>>>> Also, the 64 bits VM does only work with clang, and we don't have >>>>>>>>>> anything available as a 64bits Microsoft SDK... So pharo has to fix >>>>>>>>>> that >>>>>>>>>> too. >>>>>>>>>> >>>>>>>>>> In the interim, you should look at >>>>>>>>>> https://github.com/pharo-project/pharo-vm/blob/master/.appveyor.yml >>>>>>>>>> and >>>>>>>>>> follow the scripts there. >>>>>>>>> >>>>>>>>> >>>>>>>>> Ok, thank you. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I gave it a shot on sunday, because it was particularly rainy in >>>>>>>> Nantes, and I almost succeeded in compiling all the dependencies with >>>>>>>> cygwin. >>>>>>>> Well, I mean with autotools cmake libtool pkg-config and I surely >>>>>>>> forget a few other niceties that some not so well informed programmers >>>>>>>> committed with the faith that it would make their life "easier". It >>>>>>>> certainly does not make mine simpler... >>>>>>>> Almost, because gcc 5.4.0 failed to compile cairo with ssize_t: it >>>>>>>> seems that the workaround of Igor does not work anymore. >>>>>>>> ssize_t, WTF??? >>>>>>>> Maybe I'll be able to fix it tonight. Or tomorrow. In which case >>>>>>>> I'll publish the branch to see how far appveyor goes. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> So I solved the ssize_t problem by removing the hack from Igor which >>>>>>> is not necessary anymore... >>>>>>> But got another problem soon after while building the tests... >>>>>>> There are trailing lines generated at end of >>>>>>> tests/cairo-test-constructors.c that make the compilation fail: >>>>>>> >>>>>>> i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -I. -I./pdiff >>>>>>> -I../boilerplate -I../util/cairo-missing -I../util/cairo-script -I../src >>>>>>> -I../src -D_REENTRANT >>>>>>> -I/cygdrive/y/Smalltalk/opensmalltalk-vm/.thirdparty-cache/windows/i386/include/pixman-1 >>>>>>> -I/cygdrive/y/Smalltalk/opensmalltalk-vm/.thirdparty-cache/windows/i386/include/libpng16 >>>>>>> -Wall -Wextra -Wmissing-declarations >>>>>>> -Werror-implicit-function-declaration >>>>>>> -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum >>>>>>> -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 >>>>>>> -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers >>>>>>> -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline >>>>>>> -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 >>>>>>> -Wno-unused-but-set-variable -D_REENTRANT -m32 >>>>>>> -static-libgcc -static-libstdc++ >>>>>>> -I/cygdrive/y/Smalltalk/opensmalltalk-vm/.thirdparty-cache/windows/i386/include >>>>>>> -march=pentium4 -c -o cairo_test_suite-cairo-test-constructors.o `test >>>>>>> -f >>>>>>> 'cairo-test-constructors.c' || echo './'`cairo-test-constructors.c >>>>>>> cairo-test-constructors.c:1118:1: attention : la définition de >>>>>>> données n'a pas de type ni de classe de stockage >>>>>>> oning (); >>>>>>> ^ >>>>>>> cairo-test-constructors.c:1118:1: attention : type defaults to ‘int’ >>>>>>> in declaration of ‘oning’ [-Wimplicit-int] >>>>>>> cairo-test-constructors.c:1119:5: attention : la définition de >>>>>>> données n'a pas de type ni de classe de stockage >>>>>>> _register_ft_show_glyphs_table (); >>>>>>> ^ >>>>>>> >>>>>>> And the file looks like it has obviously been overwritten, but not >>>>>>> truncated !!! >>>>>>> >>>>>>> ... >>>>>>> extern void _register_multi_page (void); >>>>>>> extern void _register_fallback_resolution (void); >>>>>>> >>>>>>> void >>>>>>> _cairo_test_runner_register_tests (void) >>>>>>> { >>>>>>> _register_a1_bug (); >>>>>>> _register_a1_clip_paint (); >>>>>>> ... >>>>>>> _register_multi_page (); >>>>>>> _register_fallback_resolution (); >>>>>>> } >>>>>>> oning (); >>>>>>> _register_ft_show_glyphs_table (); >>>>>>> _register_ft_text_vertical_layout_type1 (); >>>>>>> _register_ft_text_vertical_layout_type3 (); >>>>>>> _register_ft_text_antialias_none (); >>>>>>> _register_ps_eps (); >>>>>>> _register_ps_features (); >>>>>>> _register_ps_surface_source (); >>>>>>> _register_svg_surface (); >>>>>>> _register_svg_clip (); >>>>>>> _register_svg_surface_source (); >>>>>>> _register_multi_page (); >>>>>>> _register_fallback_resolution (); >>>>>>> } >>>>>>> >>>>>>> This file is generated by a shell script >>>>>>> test/make-cairo-test-constructors.sh >>>>>>> I can't find any reference of the bug, and upgrade to version 1.14.8 >>>>>>> does not solve the issue. >>>>>>> So it will wait until tomorrow... >>>>>> >>>>>> >>>>>> >>>>>> I got the build for windows with mingw nearly working. (it can not >>>>>> build some plugins, like SqueakSSL for windows, because the used >>>>>> wincrypt.h >>>>>> is different in the mingw distrubtion). >>>>>> >>>>>> I still have the problem, that there seems to be a preprocessing step >>>>>> , that should put the vm-version (and source timestamp) in the >>>>>> sqSCCSVersion.h >>>>>> I got this working by running .travis_build.sh (with the options for >>>>>> arch/flavor/platform) But how is this done normally when you build a vm >>>>>> locally? >>>>>> And how is this done for the pharo-vm we currently use? >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> Nicolas >>>>>>> >>>>>>>>>> >>>>>>>>>> I hope that Esteban will find time to resolve all these problems >>>>>>>>>> and have pharo brand back on opensmalltalk-vm. I guess that any form >>>>>>>>>> of help >>>>>>>>>> is welcome. >>>>>>>>>> >>>>>>>>>> Nicolas >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2017-03-11 8:33 GMT+01:00 Nicolai Hess <nicolaih...@gmail.com>: >>>>>>>>>>> >>>>>>>>>>> I still have problems building a vm on windows. >>>>>>>>>>> can you give me some hints how to start ? >>>>>>>>>>> I cloned the recent pharo-vm project, >>>>>>>>>>> in opensmalltalk-vm\build.win32x86\pharo.cog.spur\ >>>>>>>>>>> run >>>>>>>>>>> mvm >>>>>>>>>>> >>>>>>>>>>> But I got a couple of problems (mingw-32 compiler commands not >>>>>>>>>>> found, I had to adjust the include path for finding directx header, >>>>>>>>>>> missing >>>>>>>>>>> variable replacement for git-versions). >>>>>>>>>>> So I may miss some important steps. >>>>>>>>>>> Is there a repository where I can clone the mingw environment >>>>>>>>>>> used to build the win32-pharo-vm, the environment used on the >>>>>>>>>>> build-server ? >>>>>>>>>>> >>>>>>>>>>> Thanks >>>>>>>>>>> Nicolai >>>>>>>>>>> >>>>>>>>>>> 2017-02-04 1:50 GMT+01:00 Nicolai Hess <nicolaih...@gmail.com>: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 2017-02-04 1:44 GMT+01:00 Nicolai Hess <nicolaih...@gmail.com>: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2017-01-23 8:59 GMT+01:00 Esteban Lorenzano >>>>>>>>>>>>> <esteba...@gmail.com>: >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 22 Jan 2017, at 13:19, Nicolai Hess <nicolaih...@gmail.com> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2017-01-22 10:21 GMT+01:00 Clément Bera >>>>>>>>>>>>>> <bera.clem...@gmail.com>: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I believe they're built from >>>>>>>>>>>>>>> https://github.com/OpenSmalltalk/vm using travis and appveyor. >>>>>>>>>>>>>>> On the >>>>>>>>>>>>>>> gitbhub readme there are relevant links. All built artifacts >>>>>>>>>>>>>>> are also kept >>>>>>>>>>>>>>> on bintray for history. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thank you! >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> no, they aren’t :) >>>>>>>>>>>>>> instead, they are built here: >>>>>>>>>>>>>> https://github.com/pharo-project/pharo-vm >>>>>>>>>>>>>> >>>>>>>>>>>>>> (README still not updated) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> what did changed ? I am not able to build the vm on windows >>>>>>>>>>>>> anymore (something wrong with generating the generator.image, >>>>>>>>>>>>> I'll now reset >>>>>>>>>>>>> my local pharo-vm build directory and see if it works afterwards). >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> see attached the stderr log : >>>>>>>>>>>> >>>>>>>>>>>> 'Errors in script loaded from >>>>>>>>>>>> u:\github\pharo-vm\scripts\LoadVMMaker.st' >>>>>>>>>>>> [31mMessageNotUnderstood: receiver of "default:" is nil >>>>>>>>>>>> [0mUndefinedObject(Object)>>doesNotUnderstand: #default: >>>>>>>>>>>> BaseSoundSystem class>>initialize >>>>>>>>>>>> MCMethodDefinition>>postloadOver: >>>>>>>>>>>> >>>>>>>>>>>> .... >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Are we still working with branch spur-64, or are we back on >>>>>>>>>>>>> master ? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Esteban >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sun, Jan 22, 2017 at 9:25 AM, Nicolai Hess >>>>>>>>>>>>>>> <nicolaih...@gmail.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Where are the latest Pharo-spur-vms (32bit) are built? >>>>>>>>>>>>>>>> I don't see them on the build server, only the buildresults >>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>> http://files.pharo.org/vm/pharo-spur32/linux/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The latest builds on the buildserver are from the last year >>>>>>>>>>>>>>>> only. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> nicolai >>>> >>>> >>> >> >