Author Topic: multilib mingw-w64 TDM compiler  (Read 2740 times)

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #15 on: September 11, 2017, 10:49:22 am »
Quote
The TDM's 32 bit build was always built from mingw.org instead of MinGW64 code base.

Exactly :). The feature with having distinct dll names is worth having though, so im working on it.
Main reason it's not in yet is that later gcc versions had some changes that require me to recreate the patch used for this feature. Also the mingw.builds script needs some adjustment so that it builds cleanly.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10369
Re: multilib mingw-w64 TDM compiler
« Reply #16 on: September 17, 2017, 11:54:13 am »
Have you tried to build wx3.0.3 with this compiler? I'm experimenting with mingw-w32 and mingw-w64 and they fail badly because of duplicate symbols. Which is known problem but mingw devs seem to not care too much about it.
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline gd_on

  • Regular
  • ***
  • Posts: 385
Re: multilib mingw-w64 TDM compiler
« Reply #17 on: September 17, 2017, 12:24:27 pm »
A possible workaround is to add LDFLAGS="-Wl,--allow-multiple-definition" in your build command.
So in my case to build with MinGW32 I have :
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fpermissive -fno-keep-inline-dllexport -std=gnu++11 -Wno-deprecated-declarations" LDFLAGS="-Wl,--allow-multiple-definition"

or with MinGW64 :
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb_64 CXXFLAGS="-fpermissive -fno-keep-inline-dllexport -std=gnu++11 -Wno-deprecated-declarations" LDFLAGS="-Wl,--allow-multiple-definition"

gd_on
Windows 10, svn C::B self generated (last version or almost!), WxWidgets 2.8.12, Compilers TDM 4.9.2 32 bits version (gcc and gfortran installed in C:\MinGW32). Tests with C::B 64 bits and WxWidgets 2.8.12 (64 bits) compiled by TDM 4.9.2 in C:\MinGW64

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10369
Re: multilib mingw-w64 TDM compiler
« Reply #18 on: September 17, 2017, 02:52:21 pm »
I know and I'm not doing this... The compiler (its libs to be precise) is just broken.
If they don't fix it, then we couldn't use it and we should not recommend it to people!

p.s. mingw compilers on windows are so broken... I'm trying the mingw installer and it just locked up...
« Last Edit: September 17, 2017, 02:55:57 pm by oBFusCATed »
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5973
    • My Best Post
Re: multilib mingw-w64 TDM compiler
« Reply #19 on: September 17, 2017, 03:44:56 pm »
I know and I'm not doing this... The compiler (its libs to be precise) is just broken.
If they don't fix it, then we couldn't use it and we should not recommend it to people!

I am planning on trying to fix the duplicate error; but, I have had issues of submitting my possible fix to the wrong git repo.
The last time they said not here (it turned out to be just an git mirror); and to delete the dups instead of commenting them out.

In the next few months, I plan to try once more.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #20 on: October 01, 2017, 05:10:24 pm »
Hmm ? Though im using the Msys2 non multilib versions myself i used allmost all of they're patches in building this, not sure why it works with these or might this be a multilib only problem ? .

Might also explain why ada fails to build in the multilib versions since its giving me a lot of junk about missing or wrong library exports.


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #21 on: October 03, 2017, 07:30:39 am »
stahta, could you throw me a patch for the duplicate error ? ill try to get it accepted upstream.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5973
    • My Best Post
Re: multilib mingw-w64 TDM compiler
« Reply #22 on: October 03, 2017, 08:34:33 am »
Code: [Select]
Subject: [PATCH] uuid.c: Removed DEFINE_GUID also in extras-uuid.c.

---
 mingw-w64-crt/libsrc/uuid.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/mingw-w64-crt/libsrc/uuid.c b/mingw-w64-crt/libsrc/uuid.c
index 481e6752..18cd1278 100644
--- a/mingw-w64-crt/libsrc/uuid.c
+++ b/mingw-w64-crt/libsrc/uuid.c
@@ -42,15 +42,9 @@ DEFINE_GUID(CLSID_CFontPropPage, 0x0be35200,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x
 DEFINE_GUID(CLSID_CPicturePropPage,0xbe35202,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
 DEFINE_GUID(CLSID_ConvertVBX,0xfb8f0822,0x164,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
 DEFINE_GUID(CLSID_CurrentUserClasses,0x332,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_FileProtocol,0x79eac9e7,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_FtpProtocol,0x79eac9e3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_GopherProtocol,0x79eac9e4,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_HttpProtocol,0x79eac9e2,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_HttpSProtocol,0x79eac9e5,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(CLSID_IdentityUnmarshal,0x1b,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_InProcFreeMarshaler,0x1c,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_LocalMachineClasses,0x331,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_MkProtocol,0x79eac9e6,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(CLSID_PSBindCtx,0x312,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_PSClassObject,0x30E,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_PSClientSite,0x30d,0,0,0xc0,0,0,0,0,0,0,0x46);
@@ -59,7 +53,6 @@ DEFINE_GUID(CLSID_PSEnumerators,0x313,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_PSGenObject,0x30c,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_PSInPlaceActive,0x30f,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_PSInPlaceFrame,0x310,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSUrlMonProxy,0x79eac9f1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(CLSID_PersistPropset,0xfb8f0821,0x164,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
 DEFINE_GUID(CLSID_Picture_Dib,0x316,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_Picture_EnhMetafile,0x319,0,0,0xc0,0,0,0,0,0,0,0x46);
@@ -71,7 +64,6 @@ DEFINE_GUID(CLSID_StdHlink,0x79eac9d0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9
 DEFINE_GUID(CLSID_StdHlinkBrowseContext,0x79eac9d1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(CLSID_StdMarshal,0x17,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(CLSID_StdPicture,0xbe35204,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_StdURLMoniker,0x79eac9e0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(CLSID_StdURLProtocol,0x79eac9e1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(FLAGID_Internet,0x96300da0,0x2bab,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
 DEFINE_GUID(FMTID_DocSummaryInformation,0xd5cdd502,0x2e9c,0x101b,0x93,0x97,0x8,0,0x2b,0x2c,0xf9,0xae);
@@ -113,7 +105,6 @@ DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95,0x0AC9,0x11D1,0x89,0x6C,0x00,0
 DEFINE_GUID(IID_IClassActivator,0x140,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(IID_IClassFactory2,0xb196b28f,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
 DEFINE_GUID(IID_IClientSecurity,0x13D,0,0,0xc0,0,0,0,0,0,0,0x46);*/
-DEFINE_GUID(IID_IClientSiteHandler,0xf4f569d1,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
 /*DEFINE_GUID(IID_ICodeInstall,0x79eac9d1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
 DEFINE_GUID(IID_IConnectionPoint,0xb196b286,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
 DEFINE_GUID(IID_IConnectionPointContainer,0xb196b284,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
@@ -238,7 +229,6 @@ DEFINE_GUID(IID_IRpcProxyBuffer34,0x3bd5f56a,0x1a59,0xb510,0x69,0x8,0,0x2b,0x2d,
 DEFINE_GUID(IID_IRpcStub,0x5,0,0,0xc0,0,0,0,0,0,0,0x46);
 /*DEFINE_GUID(IID_IRpcStubBuffer,0xd5f56afc,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);*/
 /*DEFINE_OLEGUID(IID_IRunnableObject,0x00000126,0,0);*/
-DEFINE_GUID(IID_IServerHandler,0xf4f569d0,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
 /*DEFINE_GUID(IID_IServerSecurity,0x13E,0,0,0xc0,0,0,0,0,0,0,0x46);*/
 /*DEFINE_GUID(IID_ISimpleFrameSite,0x742b0e01,0x14e6,0x101b,0x91,0x4e,0,0xaa,0,0x30,0xc,0xab);*/
 /*DEFINE_GUID(IID_ISpecifyPropertyPages,0xb196b28b,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);*/
@@ -246,8 +236,6 @@ DEFINE_GUID(IID_IServerHandler,0xf4f569d0,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2
 DEFINE_GUID(IID_IStub,0x26,0,0,0xc0,0,0,0,0,0,0,0x46);
 DEFINE_GUID(IID_IStubManager,0x6,0,0,0xc0,0,0,0,0,0,0,0x46);
 /*DEFINE_GUID(IID_ISupportErrorInfo,0xdf0b3d60,0x548f,0x101b,0x8e,0x65,0x8,0,0x2b,0x2b,0xd1,0x19);*/
-DEFINE_GUID(IID_ITargetEmbedding,0x548793c0,0x9e74,0x11cf,0x96,0x55,0,0xa0,0xc9,0x3,0x49,0x23);
-DEFINE_GUID(IID_ITargetFrame,0xd5f78c80,0x5252,0x11cf,0x90,0xfa,0,0xaa,0,0x42,0x10,0x6e);
 /*DEFINE_GUID(IID_ITypeChangeEvents,0x20410,0,0,0xc0,0,0,0,0,0,0,0x46);*/
 /*DEFINE_GUID(IID_ITypeInfo2,0x20412,0,0,0xc0,0,0,0,0,0,0,0x46); */
 /*DEFINE_GUID(IID_ITypeLib2,0x20411,0,0,0xc0,0,0,0,0,0,0,0x46); */
--
2.14.2.windows.1

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #23 on: October 06, 2017, 12:02:16 pm »
Thanks ill start pestering the devs :)
Jokes aside, i hope it will get accepted cross your fingers.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #24 on: October 06, 2017, 12:09:25 pm »
Patch posted on the mingw-w64 mailing list.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #25 on: October 06, 2017, 02:22:46 pm »
patch accepted :) thanks stahta.

Quote
Subject: [PATCH] uuid.c: Removed DEFINE_GUID also in extras-uuid.c.

Patch OK after putting the list of duplicates removed in the commit message.

Thanks.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10369
Re: multilib mingw-w64 TDM compiler
« Reply #26 on: October 06, 2017, 08:32:39 pm »
So the next release of mingw-w64 will be able to build wx3.x?
<debugger plugin maintainer>
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline stahta01

  • Lives here!
  • ****
  • Posts: 5973
    • My Best Post
Re: multilib mingw-w64 TDM compiler
« Reply #27 on: October 07, 2017, 01:16:04 am »
patch accepted :) thanks stahta.

Please post when the patch is committed to the git repo.

Thank you

Tim S.
« Last Edit: October 07, 2017, 01:19:41 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Testing, compiling CB Trunk against wxWidgets 3.0.2.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #28 on: October 07, 2017, 02:09:21 am »
Should be up soon if i understand JonY correctly, its a small change for a long standing bug so i doubt it will have to wait for the next release.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: multilib mingw-w64 TDM compiler
« Reply #29 on: October 07, 2017, 02:15:09 am »
Quote
So the next release of mingw-w64 will be able to build wx3.x?

I can build it allready with the git version, not sure if Tim's patch was allready applied as i did a build a few hours after posting the patch. So unless they used some other means to get over this bug, then it looks like it's allready up.