<div dir="ltr"><div><div><div>Hi Peter,<br></div>if you want to reproduce appveyor build to the letter, then you need same level of pre-installed tools<br></div>I don't know where is maintained the official and current configuration, but I found this<br><a href="http://help.appveyor.com/discussions/suggestions/427-pre-install-cygwin">http://help.appveyor.com/discussions/suggestions/427-pre-install-cygwin</a><br><br></div>That would be first:<br><pre><code>setup-x86.exe -qnNdO -R C:/cygwin -s <a href="http://cygwin.mirror.constant.com">http://cygwin.mirror.constant.com</a> -l C:/cygwin/var/cache/setup -P autoconf -P automake -P bison -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P python -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl<br></code><br>I don't have time yet to try a complete reinstall, but if you can come up with a completely scripted and reproducible solution, it's more than welcome!<br><br>Best</pre></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-06 11:26 GMT+02:00 Peter Uhnak <span dir="ltr"><<a href="mailto:i.uhnak@gmail.com" target="_blank">i.uhnak@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Nicolas,<br>
<br>
have you tried building it on a fresh new cygwin?<br>
<br>
I am on 64bit windows, but I am trying to build 32bit VM. (and so I am using 32bit cygwin)<br>
<br>
1. I've cloned opensmalltalk-vm<br>
2. ran scripts/updateSCCSVersions (from w10 native bash)<br>
2. downloaded setup-x86.exe<br>
3. ran a small init script (for variables):<br>
<br>
```<br>
@echo "environment:"<br>
<br>
@REM all mirrors: <a href="https://cygwin.com/mirrors.html" rel="noreferrer" target="_blank">https://cygwin.com/mirrors.<wbr>html</a><br>
@REM US mirror (for appveyor)<br>
@REM set CYG_MIRROR="<a href="http://cygwin.mirror.constant.com" rel="noreferrer" target="_blank">http://cygwin.<wbr>mirror.constant.com</a>"<br>
@REM EU mirror<br>
set CYG_MIRROR=<a href="http://ftp.inf.tu-dresden.de/software/windows/cygwin32/" rel="noreferrer" target="_blank">http://ftp.inf.tu-<wbr>dresden.de/software/windows/<wbr>cygwin32/</a><br>
set FLAVOR=pharo.cog.spur<br>
set platform=x86<br>
set ARCH=win32x86<br>
set SRC_ARCH=i386<br>
set CYG_ROOT=C:\cygwin<br>
set CYG_SETUP=setup-x86.exe<br>
set MINGW_ARCH="i686"<br>
<br>
@echo "init:"<br>
set PATH=%CYG_ROOT%\bin;C:\Ruby23\<wbr>bin;%PATH%<br>
```<br>
<br>
4. installed dependencies<br>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/.appveyor.yml#L71" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/blob/Cog/.appveyor.yml#L71</a><br>
%CYG_SETUP% -dgnqNO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_ROOT%\var\cache\setup" -P mingw64-%MINGW_ARCH%-gcc-core,<wbr>mingw64-%MINGW_ARCH%-gcc-g++,<wbr>mingw64-%MINGW_ARCH%-headers,<wbr>mingw64-%MINGW_ARCH%-runtime,<wbr>zip,mingw64-%MINGW_ARCH%-<wbr>clang,libiconv-devel,libglib2.<wbr>0-devel,perl,mingw64-%MINGW_<wbr>ARCH%-zlib,cmake,mingw64-%<wbr>MINGW_ARCH%-win-iconv<br>
<br>
4. switched to (cygwin's) bash<br>
5. exported the following variables<br>
export FLAVOR=pharo.cog.spur<br>
export ARCH=win32x86<br>
export MINGW_ARCH=i686<br>
export APPVEYOR=1<br>
<br>
6. ran ./.travis_build.sh<br>
6.a. it complains about missing line 16: x86_64-w64-mingw32-gcc: command not found , but I am building 32bit so it should be fine<br>
7. the build commences but immediately fails because I don't have make<br>
<br>
8. I install make<br>
%CYG_SETUP% -dgnqNO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_ROOT%\var\cache\setup" -P make<br>
<br>
9. rerun the build<br>
10. fail on missing wget<br>
11. install wget<br>
%CYG_SETUP% -dgnqNO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_ROOT%\var\cache\setup" -P wget<br>
12. rerun<br>
13. fail on "configure: error: no acceptable C compiler found in $PATH"<br>
<br>
now I could explicitly specify the CC=i686-w64-mingw32-gcc as I've done yesterday, and then eventually fail on missing glib,intl (which I would install), and then fail on cairo (which I didn't resolve), but considering you said that specifying CC is not needed, then I've clearly missed a step somewhere.<br>
<br>
Thanks,<br>
Peter<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Thu, Apr 06, 2017 at 07:14:34AM +0200, Nicolas Cellier wrote:<br>
><br>
<br>
> The build did proceed successfully on my configuration (cygwin32)...<br>
> Could it be an extra package rather than a missing package that prevented<br>
> success (like the configure & co found the wrong pkg-config)?<br>
><br>
> 2017-04-05 23:51 GMT+02:00 Nicolas Cellier <<br>
> <a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@<wbr>gmail.com</a>>:<br>
><br>
> > Hi Peter,<br>
> > pkgconfig is built by mvm script among the 3rd party dependencies (it's<br>
> > the 1st one).<br>
> > - though I'm not sure it's necessary now that we use cygwin, it was<br>
> > necessary on mingw minimalism oblige -<br>
> ><br>
> > -- CC=i686-w64-mingw32-gcc option is not needed because it is already part<br>
> > of ../common/Make* rules<br>
> ><br>
> > Appveyor builds are green... But note that appveyor builds are statefull<br>
> > (they have a cache and not entirely built from scratch!), so a regression<br>
> > might get unnoticed. See those lines in <a href="https://github.com/" rel="noreferrer" target="_blank">https://github.com/</a><br>
> > OpenSmalltalk/opensmalltalk-<wbr>vm/blob/Cog/.appveyor.yml<br>
> ><br>
> > cache:<br>
> > - .thirdparty-cache<br>
> ><br>
> > Do you try building from a cygwin32 or cygwin64?<br>
> ><br>
> > I'm trying now in a win7 VM (that should not make too much a difference<br>
> > from cygwin POV)...<br>
> > But it will take hours to complete from scratch (justifying the cache)...<br>
> ><br>
> ><br>
> > 2017-04-05 23:17 GMT+02:00 Peter Uhnak <<a href="mailto:i.uhnak@gmail.com">i.uhnak@gmail.com</a>>:<br>
> ><br>
> >><br>
> >> Hi all,<br>
> >><br>
> >> does anyone know the instructions for building vm (pharo.cog.spur) on<br>
> >> Windows (10) from scratch?<br>
> >><br>
> >> I followed the appveyor of both <a href="https://github.com/pharo-project/pharo-vm" rel="noreferrer" target="_blank">https://github.com/pharo-<wbr>project/pharo-vm</a><br>
> >> and <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-vm</a> ,<br>
> >><br>
> >> for Pharo I also needed cygwin packages wget, and unzip<br>
> >> for both I also needed cygwin packages libintl8, and mingw64-i686-glib2.0<br>
> >><br>
> >> however now I am stuck on building cairo; I've tried installing both<br>
> >> libcairo-devel and libcairo2, but to no effect.<br>
> >><br>
> >> it fails on the following:<br>
> >><br>
> >> configure: error: pkg-config >=  required but not found (<br>
> >> <a href="http://pkgconfig.freedesktop.org/" rel="noreferrer" target="_blank">http://pkgconfig.freedesktop.<wbr>org/</a>)<br>
> >> make: *** [../third-party/Makefile.<wbr>cairo:32:<br>
> >> /cygdrive/d/prog/windows-<wbr>pharo-vm/opensmalltalk-vm/.<wbr>thirdpar<br>
> >> ty-cache/windows/i386/bin/<wbr>libcairo-2.dll] Error 1<br>
> >><br>
> >> I am compiling it with ./mvm -f -- CC=i686-w64-mingw32-gcc<br>
> >><br>
> >> Thanks!<br>
> >> Peter<br>
> >><br>
> ><br>
> ><br>
<br>
</div></div></blockquote></div><br></div>