2017-07-22 20:26 GMT+02:00 Eliot Miranda <eliot.mira...@gmail.com>:

> Hi Nicolai,
>
>
> On Jul 22, 2017, at 6:03 AM, Nicolai Hess <nicolaih...@gmail.com> wrote:
>
> Hm, I tried to create the build environment used for the
> windows vm build from opensmalltalk.
>
> I setup a cygwin environment with the same install commands as from
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/.appveyor.yml
>
> My problems, first it is missing make and wget, I can add make and wget to
> the install command line for cygwin, but I am
> curious why it is working on the build server ?
>
> Anyway, after I got this working, the build stops and building the
> pkg-config package.
> The log says it can not find a gcc, I know that the build process with
> cygwin uses
> i686-w64-mingw32-gcc
> or
> x86_64-w64-mingw32-gcc
>
> But I don't understand where is the missing step to tell the configure
> scripts to use the
>
> i686-w64-mingw32-gcc command instead of "gcc",
>
>
> There isn't a configure script.  The choice of which compiler to make,
> flags to use etc is made in
>     build.win32x86/common/Makefile.rules
>     build.win32x86/common/Makefile.tools
> and should be able to be overridden by editing
>      build.win32x86/pharo.cog.spur/Makefile
>


The configure script is used by third party libs (for pharo only
(pk-config)).



>
>
> again, this seems to work on the appveyor build but not locally on my
> machine.
>
> Any idea what I had missed?
>
>
> nicolai
>
>
>
> 2017-03-15 10:11 GMT+01:00 Nicolai Hess <nicolaih...@gmail.com>:
>
>>
>>
>> 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-proje
>>>>>>>> ct/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/opensm
>>>>> alltalk-vm/.thirdparty-cache/windows/i386/include/pixman-1
>>>>> -I/cygdrive/y/Smalltalk/opensmalltalk-vm/.thirdparty-cache/w
>>>>> indows/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/opensm
>>>>> alltalk-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-construct
>>>>> ors.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
>>>>>>>>>>>>> <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\Loa
>>>>>>>>>> dVMMaker.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
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>
>

Reply via email to