From unknown Wed Apr 22 18:30:18 2026
X-Loop: owner@bugs.x2go.org
Subject: Bug#474: Windows: Port X2Go Client: MinGW 4.4 + QT 4.8.5 -> MinGW 4.8 + QT 4.8.6
Reply-To: "George Trakatelis" <trakatelis@uom.edu.gr>, 474@bugs.x2go.org
Resent-From: "George Trakatelis" <trakatelis@uom.edu.gr>
Resent-To: x2go-dev@lists.x2go.org
Resent-CC: X2Go Developers <x2go-dev@lists.x2go.org>
X-Loop: owner@bugs.x2go.org
Resent-Date: Tue, 09 Sep 2014 01:05:02 +0000
Resent-Message-ID: <handler.474.B474.141022452410128@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: followup 474
X-X2Go-PR-Package: x2goclient
X-X2Go-PR-Keywords: build-win32
Received: via spool by 474-submit@bugs.x2go.org id=B474.141022452410128
          (code B ref 474); Tue, 09 Sep 2014 01:05:02 +0000
Received: (at 474) by bugs.x2go.org; 9 Sep 2014 01:02:04 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
	autolearn=ham version=3.3.2
Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id EB5815DB53
	for <474@bugs.x2go.org>; Tue,  9 Sep 2014 03:02:02 +0200 (CEST)
Received: by mail-wg0-f49.google.com with SMTP id m15so2319888wgh.32
        for <474@bugs.x2go.org>; Mon, 08 Sep 2014 18:02:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=uom.edu.gr; s=google;
        h=from:to:cc:subject:date:message-id:mime-version:content-type
         :thread-index:content-language;
        bh=AL+zGxxWlM2LQuzsOnnFc3zlTzSUwGNQCeqOw3wgy2A=;
        b=XC3Ds2cAqt3n6eav7km82wSb4F4jCK3/ZXBGHUJotLMS2dg8d2uIdXFGr7HB0iF61M
         I6hF7GE03cVI08DA/VsLxBamRaMrcwb6YXg7oaudB7HnaZHxNlEs45RWi3edconkuo9d
         9dxN9vo9sA8CVnAvK6os0o9ENOqhkv7V3JAM4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-type:thread-index:content-language;
        bh=AL+zGxxWlM2LQuzsOnnFc3zlTzSUwGNQCeqOw3wgy2A=;
        b=HenV9F5V0hGvxDNH2MmAqcEomv52d3zzHZh+PpVmJaY7pEPVS9cTBXA1wZ5f53pwlU
         4zuFChScgRrYNeNJf2OlAI6RqoPDPsYJyChwxRm2tqa5l7fmtbwsK0sPgqXjFL+xRrzw
         sRylYahxvJwbPaWD0iaNb98PDMWczxH8OnE7uOcqv0bZuI/UZhBZA8sMzu4mj9bSNhYS
         R36wBdvWi40MwJeXX7+wRdNzCyZrGMzFjGEk5b/xWUqg0rrg1xeFXq12x9X75KhKMovb
         RdYL0TR4vokjTnvMH34kgIJLXlTBZwd2C6UlJx9crT/1w+AZ69HldVaxzyLz2p215zHC
         pQCA==
X-Gm-Message-State: ALoCoQlUGEM4HXIVYPbRElA/7BHu4vAY/mxWBMNY8qaZDe3gSd0Y+3BrxZs2gd6H8j9PVwxKXdtc
X-Received: by 10.180.208.51 with SMTP id mb19mr27033339wic.63.1410224522591;
        Mon, 08 Sep 2014 18:02:02 -0700 (PDT)
Received: from HomePC (46-4-59.adsl.cyta.gr. [46.103.4.59])
        by mx.google.com with ESMTPSA id cj7sm12900181wjc.37.2014.09.08.18.02.00
        for <multiple recipients>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
        Mon, 08 Sep 2014 18:02:01 -0700 (PDT)
From: "George Trakatelis" <trakatelis@uom.edu.gr>
To: <474@bugs.x2go.org>
Cc: "'Michael DePaulo'" <mikedep333@gmail.com>,
	<o.shneyder@phoca-gmbh.de>
Date: Tue, 9 Sep 2014 04:01:56 +0300
Message-ID: <000001cfcbc9$a7fe0020$f7fa0060$@edu.gr>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0001_01CFCBE2.CD4B3820"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ac/LyabIwMdLUCEWQeaEuah90GjGog==
Content-Language: el

This is a multi-part message in MIME format.

------=_NextPart_000_0001_01CFCBE2.CD4B3820
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Dear Mike,

You can find useful information on libssh's failure to build below

http://permalink.gmane.org/gmane.comp.audio.csound.devel/27287

It seems that libssh's 0.6.3 pthread.c was written against
an aging pthread header, so I've attached a patch.

You can also try solving the problem the other way around
(which is not recommended) just to see what happens.
I have included a patch for mingw32 that restores the obsolete structure.
If you are brave enough to test it, remember not to apply (to un-patch) the
first patch.
The two patches are mutually exclusive.

-George



------=_NextPart_000_0001_01CFCBE2.CD4B3820
Content-Type: application/octet-stream;
	name="libssh-0.6.3-pthread.c.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="libssh-0.6.3-pthread.c.patch"

diff --git "a/C:\\My Projects\\open =
source\\libssh\\libssh-0.6.3-distro\\src\\threads\\pthread.c" "b/C:\\My =
Projects\\open =
source\\libssh\\libssh-0.6.3-with-patches\\src\\threads\\pthread.c"=0A=
index 829fa5c..64e0ba3 100644=0A=
--- "a/C:\\My Projects\\open =
source\\libssh\\libssh-0.6.3-distro\\src\\threads\\pthread.c"	=0A=
+++ "b/C:\\My Projects\\open =
source\\libssh\\libssh-0.6.3-with-patches\\src\\threads\\pthread.c"	=0A=
@@ -75,11 +75,11 @@ static int ssh_pthread_mutex_unlock (void **lock){=0A=
 }=0A=
 =0A=
 static unsigned long ssh_pthread_thread_id (void){=0A=
-#if _WIN32=0A=
-    return (unsigned long) pthread_self().p;=0A=
-#else=0A=
+//#if _WIN32=0A=
+//    return (unsigned long) pthread_self().p;=0A=
+//#else=0A=
     return (unsigned long) pthread_self();=0A=
-#endif=0A=
+//#endif=0A=
 }=0A=
 =0A=
 static struct ssh_threads_callbacks_struct ssh_threads_pthread =3D=0A=

------=_NextPart_000_0001_01CFCBE2.CD4B3820
Content-Type: application/octet-stream;
	name="mingw-482-posix-dwarf-rt_v3-rev4-pthread.h.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="mingw-482-posix-dwarf-rt_v3-rev4-pthread.h.patch"

diff --git "a/C:\\mingw32-distro\\i686-w64-mingw32\\include\\pthread.h" =
"b/C:\\mingw32-with-patches\\i686-w64-mingw32\\include\\pthread.h"=0A=
index b7a0642..c3b9e11 100644=0A=
--- "a/C:\\mingw32-distro\\i686-w64-mingw32\\include\\pthread.h"=0A=
+++ "b/C:\\mingw32-with-patches\\i686-w64-mingw32\\include\\pthread.h"=0A=
@@ -184,16 +184,14 @@ typedef void *pthread_barrierattr_t;=0A=
 typedef int pthread_condattr_t;=0A=
 typedef int pthread_rwlockattr_t;=0A=
 =0A=
-/*=0A=
 struct _pthread_v;=0A=
 =0A=
 typedef struct pthread_t {=0A=
   struct _pthread_v *p;=0A=
   int x;=0A=
 } pthread_t;=0A=
-*/=0A=
 =0A=
-typedef uintptr_t pthread_t;=0A=
+// typedef uintptr_t pthread_t;=0A=
 =0A=
 typedef struct _pthread_cleanup _pthread_cleanup;=0A=
 struct _pthread_cleanup=0A=

------=_NextPart_000_0001_01CFCBE2.CD4B3820--
