[Pharo-dev] build pharo vm on windows (old mingw package)

Nicolai Hess nicolaihess at web.de
Mon May 4 17:00:03 EDT 2015


FINALLY!

Got it working. I took another mingw distribution from
http://tdm-gcc.tdragon.net/
(installer version tdm-gcc-4.7.1-2.exe)
With mingwsys from my previos mingw installation.

The gcc version this distribution uses:

Using built-in specs.
COLLECT_GCC=c:\mingw\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.7.1/lto-wrapper.exe
Target: mingw32
Configured with: ../../src/gcc-4.7.1/configure --build=mingw32
--enable-languages=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32
--enable-libgomp --enable-lto --enable-fully-dynamic-string
--enable-libstdcxx-debug --enable-version-specific-runtime-libs
--with-gnu-ld --disable-nls --disable-win32-registry --disable-symvers
--disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw32tdm
--with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections
-fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions
--with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)


All is working now, no crash on startup, no missing dependencies to the
mingw runtime.




2015-05-04 0:06 GMT+02:00 Nicolai Hess <nicolaihess at web.de>:

> Or what is the output of
> depends libfreetype-6.dll
>
> 2015-05-03 23:47 GMT+02:00 Nicolai Hess <nicolaihess at web.de>:
>
>> No SDL2?
>>
>> This is want depends shows for me.
>> (but it is the same output as for the vm from the build server - and that
>> one
>> works). There is a dependency on libgcc_s_dw2-1.dll, only for some
>> modules that are
>> loaded at runtime. Can you rename your mingw installation directory and
>> start pharo (and look that
>> freetype/cairo/SDL are loadable?
>>
>> thank you for your help :)
>>
>>
>> 2015-05-03 22:56 GMT+02:00 phil at highoctane.be <phil at highoctane.be>:
>>
>>> [image: Inline image 1]
>>>
>>>
>>> Pharo.exe - 5 363 606 bytes
>>>
>>> Phil
>>>
>>>
>>> On Sun, May 3, 2015 at 1:17 PM, Nicolai Hess <nicolaihess at web.de> wrote:
>>>
>>>>
>>>>
>>>> 2015-05-01 23:05 GMT+02:00 phil at highoctane.be <phil at highoctane.be>:
>>>>
>>>>> Did you tried this ?
>>>>>
>>>>> https://github.com/pharo-project/pharo-vm/blob/master/README-Win32.md
>>>>>
>>>>> (I wrote that thing a while ago).
>>>>>
>>>>>
>>>>> http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
>>>>> was where I got the env from.
>>>>>
>>>>> I've got a PharoVM built with gcc 4.8.1
>>>>>
>>>>
>>>> Can you check that this vm does not depend on the mingw runtime.
>>>> (I managed to create a vm that opens, but if I start this without the
>>>> mingw installation directory in my path,
>>>> I get the following error:
>>>> libgcc_s_dw2-1.dll is missing )
>>>>
>>>> The vm from the build server works even without a local mingw
>>>> installation.
>>>>
>>>>
>>>>>
>>>>> Uploading the thing in dropbox.
>>>>>
>>>>> Will send a link when done.
>>>>>
>>>>> Phil
>>>>>
>>>>>
>>>>> On Fri, May 1, 2015 at 9:04 PM, Nicolai Hess <nicolaihess at web.de>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> 2015-04-30 11:33 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com>:
>>>>>>
>>>>>>> aren’t you able to install an older version of gcc in your newer
>>>>>>> version of mingw?
>>>>>>>
>>>>>>
>>>>>> hm, downgrading the compiler was suprisingly easy. But I have still
>>>>>> the same error.
>>>>>> This is the gcc version information:
>>>>>>
>>>>>> Using built-in specs.
>>>>>> COLLECT_GCC=c:\MinGW\bin\gcc.exe
>>>>>>
>>>>>> COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/lto-wrapper.exe
>>>>>> Target: mingw32
>>>>>> Configured with: ../gcc-4.6.2/configure
>>>>>> --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions
>>>>>> --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry
>>>>>> --enable-libstdcxx-debug --enable-version-specific-runtime-libs
>>>>>> --build=mingw32 --prefix=/mingw
>>>>>> Thread model: win32
>>>>>> gcc version 4.6.2 (GCC)
>>>>>>
>>>>>>
>>>>>> Anyone knows what could be the problem ? Stacktrace from the crash,
>>>>>> this happens
>>>>>> directly after the start:
>>>>>>
>>>>>> #0  0x772359dd in ntdll!RtlpNtMakeTemporaryKey ()
>>>>>>    from C:\Windows\system32\ntdll.dll
>>>>>> #1  0x77201d8f in ntdll!EtwSetMark () from
>>>>>> C:\Windows\system32\ntdll.dll
>>>>>> #2  0x77236a37 in ntdll!RtlpNtMakeTemporaryKey ()
>>>>>>    from C:\Windows\system32\ntdll.dll
>>>>>> #3  0x771fa3ef in ntdll!EtwSetMark () from
>>>>>> C:\Windows\system32\ntdll.dll
>>>>>> #4  0x771c6766 in wcsnicmp () from C:\Windows\system32\ntdll.dll
>>>>>> #5  0x76cdc484 in KERNEL32!HeapFree () from
>>>>>> C:\Windows\system32\kernel32.dll
>>>>>> #6  0x6c24c4d7 in free () from C:\Windows\system32\crtdll.dll
>>>>>> #7  0x00850000 in ?? ()
>>>>>> #8  0x00542065 in glob_match ()
>>>>>> #9  0x00542604 in __mingw_glob ()
>>>>>> #10 0x00540f17 in _setargv ()
>>>>>> #11 0x004011ca in __mingw_CRTStartup ()
>>>>>> #12 0x004012d5 in WinMainCRTStartup ()
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> nicolai
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> I do not have time right now to update the build into a new
>>>>>>> compiler, sorry (also, that is not always trivial/desired, he)
>>>>>>>
>>>>>>> Esteban
>>>>>>>
>>>>>>> > On 30 Apr 2015, at 08:38, Nicolai Hess <nicolaihess at web.de> wrote:
>>>>>>> >
>>>>>>> > I managed to trash my mingw build environment
>>>>>>> > -> uninstalled /removed mingw/mingsys
>>>>>>> > -> reinstall from current mingw-installer
>>>>>>> > -> bad idea
>>>>>>> >
>>>>>>> > I can build a pharo windows vm but it immediately crashes on
>>>>>>> startup. I suspect
>>>>>>> > some changes between gcc 4.6 (old environment) gcc 4.8 (new
>>>>>>> environment).
>>>>>>> > (I think there are some changes related to file globbing (I
>>>>>>> managed to get
>>>>>>> > the vm somehow working to not crash on startup but on shutdown
>>>>>>> instead - with
>>>>>>> > _CRT_glob = 0. And gcc-4.8 uses dfferent (dwarf vs. sjlj )
>>>>>>> exception handling, don't know if this is
>>>>>>> > related).
>>>>>>> >
>>>>>>> > I tried to find a ming-installer for the old version but could not
>>>>>>> find anything and
>>>>>>> > I tried to manually setup a ming installation from the old
>>>>>>> packages (dozen of packages
>>>>>>> > for mingw / core-utils / bintutils /msys from different places (no
>>>>>>> fun)).
>>>>>>> >
>>>>>>> > 1) did anyone get a windows vm from mingws current version (with
>>>>>>> gcc 4.8) working?
>>>>>>> >
>>>>>>> > 2) can someone package/zip and upload an old mingw installation
>>>>>>> (maybe that one that
>>>>>>> >     is used on the build server?
>>>>>>> >
>>>>>>> >
>>>>>>> > regards
>>>>>>> > nicolai
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20150504/b50816f7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 16415 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20150504/b50816f7/attachment-0001.png>


More information about the Pharo-dev mailing list