NetBSD Problem Report #39341

From duck@shangtai.net  Mon Aug 11 12:50:11 2008
Return-Path: <duck@shangtai.net>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id 2583363BB81
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 11 Aug 2008 12:50:11 +0000 (UTC)
Message-Id: <20080811125002.BE25E2D4E7@knightrider.shangtai.net>
Date: Mon, 11 Aug 2008 15:50:02 +0300 (EEST)
From: duck@multi.fi
Reply-To: duck@multi.fi
To: gnats-bugs@gnats.NetBSD.org
Subject: patch for synergy 1.3.1 on IRIX
X-Send-Pr-Version: 3.95

>Number:         39341
>Category:       pkg
>Synopsis:       Multiple problems building synergy on IRIX
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    irix-pkg-people
>State:          feedback
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 11 12:55:01 +0000 2008
>Closed-Date:    
>Last-Modified:  Sun Jan 18 06:25:00 +0000 2015
>Originator:     duck@multi.fi
>Release:        6.5.27m
>Organization:
>Environment:
System: IRIX64 halo 6.5 6.5.27m 01062343 IP30
Architecture: mips
Machine: IP30
>Description:
Three problems exist building synergy 1.3.1 on IRIX;

1) lib/arch/CArchConsoleUnix.cpp
 - namespace std is assumed

2) lib/platform/CXWindowsUtils.cpp
 - multiple keysyms are used that are not defined in the keysyms header for
   the version of X11 that is (on my) IRIX.

3) archives from the various "libs" are built using (hardcoded) $(AR) cru, this
  will make IRIX ar silently create empty archives

>How-To-Repeat:
Attempt to build synergy on IRIX
>Fix:
The following patch will adress all three issues mentioned above, but it is not
subtle. Note on the archive generation, IIRC they have to be done via CC on irix
lest prelinking not be done, not sure how to solve that in a portable maner.

--- synergy-1.3.1/lib/arch/Makefile.in	Sun Apr  2 23:09:44 2006
+++ synergy-patched/lib/arch/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -219,7 +219,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libarch_a_AR = $(AR) cru
+libarch_a_AR = $(CXX) -ar -o
 libarch_a_LIBADD =
 am__objects_1 =
 am__objects_2 = CArch.$(OBJEXT) CArchDaemonNone.$(OBJEXT) \
--- synergy-1.3.1/lib/base/Makefile.in	Sun Apr  2 23:09:44 2006
+++ synergy-patched/lib/base/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -163,7 +163,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libbase_a_AR = $(AR) cru
+libbase_a_AR = $(CXX) -ar -o
 libbase_a_LIBADD =
 am__objects_1 =
 am_libbase_a_OBJECTS = CEvent.$(OBJEXT) CEventQueue.$(OBJEXT) \
--- synergy-1.3.1/lib/client/Makefile.in	Sun Apr  2 23:09:44 2006
+++ synergy-patched/lib/client/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -141,7 +141,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libclient_a_AR = $(AR) cru
+libclient_a_AR = $(CXX) -ar -o
 libclient_a_LIBADD =
 am__objects_1 =
 am_libclient_a_OBJECTS = CClient.$(OBJEXT) CServerProxy.$(OBJEXT) \
--- synergy-1.3.1/lib/common/Makefile.in	Sun Apr  2 23:09:44 2006
+++ synergy-patched/lib/common/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -149,7 +149,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libcommon_a_AR = $(AR) cru
+libcommon_a_AR = $(CXX) -ar -o
 libcommon_a_LIBADD =
 am__objects_1 =
 am_libcommon_a_OBJECTS = Version.$(OBJEXT) $(am__objects_1)
--- synergy-1.3.1/lib/io/Makefile.in	Sun Apr  2 23:09:44 2006
+++ synergy-patched/lib/io/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -142,7 +142,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libio_a_AR = $(AR) cru
+libio_a_AR = $(CXX) -ar -o
 libio_a_LIBADD =
 am__objects_1 =
 am_libio_a_OBJECTS = CStreamBuffer.$(OBJEXT) CStreamFilter.$(OBJEXT) \
--- synergy-1.3.1/lib/mt/Makefile.in	Sun Apr  2 23:09:45 2006
+++ synergy-patched/lib/mt/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -143,7 +143,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libmt_a_AR = $(AR) cru
+libmt_a_AR = $(CXX) -ar -o
 libmt_a_LIBADD =
 am__objects_1 =
 am_libmt_a_OBJECTS = CCondVar.$(OBJEXT) CLock.$(OBJEXT) CMutex.$(OBJEXT) \
--- synergy-1.3.1/lib/net/Makefile.in	Sun Apr  2 23:09:45 2006
+++ synergy-patched/lib/net/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -155,7 +155,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libnet_a_AR = $(AR) cru
+libnet_a_AR = $(CXX) -ar -o
 libnet_a_LIBADD =
 am__objects_1 =
 am_libnet_a_OBJECTS = CNetworkAddress.$(OBJEXT) \
--- synergy-1.3.1/lib/platform/Makefile.in	Sun Apr  2 23:09:45 2006
+++ synergy-patched/lib/platform/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -223,7 +223,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libplatform_a_AR = $(AR) cru
+libplatform_a_AR = $(CXX) -ar -o
 libplatform_a_LIBADD =
 am__objects_1 =
 am__objects_2 = COSXClipboard.$(OBJEXT) \
--- synergy-1.3.1/lib/server/Makefile.in	Sun Apr  2 23:09:45 2006
+++ synergy-patched/lib/server/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -161,7 +161,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libserver_a_AR = $(AR) cru
+libserver_a_AR = $(CXX) -ar -o
 libserver_a_LIBADD =
 am__objects_1 =
 am_libserver_a_OBJECTS = CBaseClientProxy.$(OBJEXT) \
--- synergy-1.3.1/lib/synergy/Makefile.in	Sun Apr  2 23:09:45 2006
+++ synergy-patched/lib/synergy/Makefile.in	Mon Aug 11 15:07:17 2008
@@ -172,7 +172,7 @@
 CONFIG_CLEAN_FILES =
 LIBRARIES = $(noinst_LIBRARIES)

-libsynergy_a_AR = $(AR) cru
+libsynergy_a_AR = $(CXX) -ar -o
 libsynergy_a_LIBADD =
 am__objects_1 =
 am_libsynergy_a_OBJECTS = CClipboard.$(OBJEXT) CKeyMap.$(OBJEXT) \
--- synergy-1.3.1/lib/arch/CArchConsoleUnix.cpp	Mon Mar 13 06:24:50 2006
+++ synergy-patched/lib/arch/CArchConsoleUnix.cpp	Mon Aug 11 14:36:58 2008
@@ -15,6 +15,8 @@
 #include "CArchConsoleUnix.h"
 #include <cstdio>

+using namespace std;
+
 //
 // CArchConsoleUnix
 //
--- synergy-1.3.1/lib/platform/CXWindowsUtil.cpp	Wed Mar 22 07:54:25 2006
+++ synergy-patched/lib/platform/CXWindowsUtil.cpp	Mon Aug 11 14:53:32 2008
@@ -54,6 +54,10 @@
 #define XK_Ydiaeresis          0x13be
 #endif

+#ifdef __sgi
+#define OLD_X11
+#endif
+
 /*
  * This table maps keysym values into the corresponding ISO 10646
  * (UCS, Unicode) values.
@@ -188,6 +192,7 @@
 { XK_uogonek,                     0x0173 }, /* LATIN SMALL LETTER U WITH OGONEK */
 { XK_utilde,                      0x0169 }, /* LATIN SMALL LETTER U WITH TILDE */
 { XK_umacron,                     0x016b }, /* LATIN SMALL LETTER U WITH MACRON */
+#ifndef OLD_X11
 { XK_Babovedot,                   0x1e02 }, /* LATIN CAPITAL LETTER B WITH DOT ABOVE */
 { XK_babovedot,                   0x1e03 }, /* LATIN SMALL LETTER B WITH DOT ABOVE */
 { XK_Dabovedot,                   0x1e0a }, /* LATIN CAPITAL LETTER D WITH DOT ABOVE */
@@ -214,6 +219,7 @@
 { XK_wcircumflex,                 0x0175 }, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
 { XK_tabovedot,                   0x1e6b }, /* LATIN SMALL LETTER T WITH DOT ABOVE */
 { XK_ycircumflex,                 0x0177 }, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#endif
 { XK_overline,                    0x203e }, /* OVERLINE */
 { XK_kana_fullstop,               0x3002 }, /* IDEOGRAPHIC FULL STOP */
 { XK_kana_openingbracket,         0x300c }, /* LEFT CORNER BRACKET */
@@ -278,6 +284,7 @@
 { XK_kana_N,                      0x30f3 }, /* KATAKANA LETTER N */
 { XK_voicedsound,                 0x309b }, /* KATAKANA-HIRAGANA VOICED SOUND MARK */
 { XK_semivoicedsound,             0x309c }, /* KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
+#ifndef OLD_X11
 { XK_Farsi_0,                     0x06f0 }, /* EXTENDED ARABIC-INDIC DIGIT 0 */
 { XK_Farsi_1,                     0x06f1 }, /* EXTENDED ARABIC-INDIC DIGIT 1 */
 { XK_Farsi_2,                     0x06f2 }, /* EXTENDED ARABIC-INDIC DIGIT 2 */
@@ -295,9 +302,13 @@
 { XK_Arabic_tcheh,                0x0686 }, /* ARABIC LETTER TCHEH */
 { XK_Arabic_ddal,                 0x0688 }, /* ARABIC LETTER DDAL */
 { XK_Arabic_rreh,                 0x0691 }, /* ARABIC LETTER RREH */
+#endif
 { XK_Arabic_comma,                0x060c }, /* ARABIC COMMA */
+#ifndef OLD_X11
 { XK_Arabic_fullstop,             0x06d4 }, /* ARABIC FULLSTOP */
+#endif
 { XK_Arabic_semicolon,            0x061b }, /* ARABIC SEMICOLON */
+#ifndef OLD_X11
 { XK_Arabic_0,                    0x0660 }, /* ARABIC 0 */
 { XK_Arabic_1,                    0x0661 }, /* ARABIC 1 */
 { XK_Arabic_2,                    0x0662 }, /* ARABIC 2 */
@@ -308,6 +319,7 @@
 { XK_Arabic_7,                    0x0667 }, /* ARABIC 7 */
 { XK_Arabic_8,                    0x0668 }, /* ARABIC 8 */
 { XK_Arabic_9,                    0x0669 }, /* ARABIC 9 */
+#endif
 { XK_Arabic_question_mark,        0x061f }, /* ARABIC QUESTION MARK */
 { XK_Arabic_hamza,                0x0621 }, /* ARABIC LETTER HAMZA */
 { XK_Arabic_maddaonalef,          0x0622 }, /* ARABIC LETTER ALEF WITH MADDA ABOVE */
@@ -354,6 +366,7 @@
 { XK_Arabic_kasra,                0x0650 }, /* ARABIC KASRA */
 { XK_Arabic_shadda,               0x0651 }, /* ARABIC SHADDA */
 { XK_Arabic_sukun,                0x0652 }, /* ARABIC SUKUN */
+#ifndef OLD_X11
 { XK_Arabic_madda_above,          0x0653 }, /* ARABIC MADDA ABOVE */
 { XK_Arabic_hamza_above,          0x0654 }, /* ARABIC HAMZA ABOVE */
 { XK_Arabic_hamza_below,          0x0655 }, /* ARABIC HAMZA BELOW */
@@ -366,6 +379,7 @@
 { XK_Arabic_farsi_yeh,            0x06cc }, /* ARABIC LETTER FARSI YEH */
 { XK_Arabic_yeh_baree,            0x06d2 }, /* ARABIC LETTER YEH BAREE */
 { XK_Arabic_heh_goal,             0x06c1 }, /* ARABIC LETTER HEH GOAL */
+#endif
 { XK_Serbian_dje,                 0x0452 }, /* CYRILLIC SMALL LETTER DJE */
 { XK_Macedonia_gje,               0x0453 }, /* CYRILLIC SMALL LETTER GJE */
 { XK_Cyrillic_io,                 0x0451 }, /* CYRILLIC SMALL LETTER IO */
@@ -378,7 +392,9 @@
 { XK_Cyrillic_nje,                0x045a }, /* CYRILLIC SMALL LETTER NJE */
 { XK_Serbian_tshe,                0x045b }, /* CYRILLIC SMALL LETTER TSHE */
 { XK_Macedonia_kje,               0x045c }, /* CYRILLIC SMALL LETTER KJE */
+#ifndef OLD_X11
 { XK_Ukrainian_ghe_with_upturn,   0x0491 }, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */
+#endif
 { XK_Byelorussian_shortu,         0x045e }, /* CYRILLIC SMALL LETTER SHORT U */
 { XK_Cyrillic_dzhe,               0x045f }, /* CYRILLIC SMALL LETTER DZHE */
 { XK_numerosign,                  0x2116 }, /* NUMERO SIGN */
@@ -394,7 +410,9 @@
 { XK_Cyrillic_NJE,                0x040a }, /* CYRILLIC CAPITAL LETTER NJE */
 { XK_Serbian_TSHE,                0x040b }, /* CYRILLIC CAPITAL LETTER TSHE */
 { XK_Macedonia_KJE,               0x040c }, /* CYRILLIC CAPITAL LETTER KJE */
+#ifndef OLD_X11
 { XK_Ukrainian_GHE_WITH_UPTURN,   0x0490 }, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+#endif
 { XK_Byelorussian_SHORTU,         0x040e }, /* CYRILLIC CAPITAL LETTER SHORT U */
 { XK_Cyrillic_DZHE,               0x040f }, /* CYRILLIC CAPITAL LETTER DZHE */
 { XK_Cyrillic_yu,                 0x044e }, /* CYRILLIC SMALL LETTER YU */

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->irix-pkg-people
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Tue, 12 Aug 2008 21:29:33 +0000
Responsible-Changed-Why:
Irix pkgsrc problem.


State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Mon, 29 Dec 2014 06:41:04 +0000
State-Changed-Why:
The current version of synergy (1.4.14) seems to have been reorganized
enough that none of this applies any more, e.g. CArchConsoleUnix.cpp
contains nothing in any namespace now, just two empty member functions.
And there seem to be ifdefs for the keysyms, although it's not obvious
if they'll work on Irix.

As for the ar issue... that is something that needs a general solution
via wrappers, if nothing's been done about it in the last N years.

Are you still using Irix? Do you have an updated version of this patch,
or can you confirm that it's no longer needed?


From: Staffan =?iso-8859-1?Q?Thom=E9n?= <duck@shangtai.net>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/39341 (Multiple problems building synergy on IRIX)
Date: Tue, 30 Dec 2014 00:18:14 +0200

 On Mon, Dec 29, 2014 at 06:41:04AM +0000, dholland@netbsd.org wrote:
 > Synopsis: Multiple problems building synergy on IRIX
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: dholland@NetBSD.org
 > State-Changed-When: Mon, 29 Dec 2014 06:41:04 +0000
 > State-Changed-Why:
 > The current version of synergy (1.4.14) seems to have been reorganized
 > enough that none of this applies any more, e.g. CArchConsoleUnix.cpp
 > contains nothing in any namespace now, just two empty member functions.
 > And there seem to be ifdefs for the keysyms, although it's not obvious
 > if they'll work on Irix.
 > 
 > As for the ar issue... that is something that needs a general solution
 > via wrappers, if nothing's been done about it in the last N years.
 > 
 > Are you still using Irix? Do you have an updated version of this patch,
 > or can you confirm that it's no longer needed?

 Indeed, synergy has had a surge in code lately and I haven't been able
 to keep up. The last time I tried to build it on IRIX (yes, still using
 it) lots of things failed, and I haven't had the time/inclination to try
 to re-port it.

 I would be perfectly ok with marking this as not for irix, if any of the
 three of us left who use synergy and irix need it we can build it for
 ourselves, I'm sure.

 Staffan

 -- 
 Staffan Thomén - ADB3 455F 10D5 86D1 78D6  048D 11BB D66E 7C7E 2EF8

From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: irix-pkg-people@netbsd.org, gnats-admin@netbsd.org,
	pkgsrc-bugs@netbsd.org, duck@multi.fi
Subject: Re: pkg/39341 (Multiple problems building synergy on IRIX)
Date: Sun, 18 Jan 2015 06:21:01 +0000

 On Mon, Dec 29, 2014 at 10:25:00PM +0000, Staffan Thom?n wrote:
  >  > The current version of synergy (1.4.14) seems to have been reorganized
  >  > enough that none of this applies any more, e.g. CArchConsoleUnix.cpp
  >  > contains nothing in any namespace now, just two empty member functions.
  >  > And there seem to be ifdefs for the keysyms, although it's not obvious
  >  > if they'll work on Irix.
  >  > 
  >  > As for the ar issue... that is something that needs a general solution
  >  > via wrappers, if nothing's been done about it in the last N years.
  >  > 
  >  > Are you still using Irix? Do you have an updated version of this patch,
  >  > or can you confirm that it's no longer needed?
  >  
  >  Indeed, synergy has had a surge in code lately and I haven't been able
  >  to keep up. The last time I tried to build it on IRIX (yes, still using
  >  it) lots of things failed, and I haven't had the time/inclination to try
  >  to re-port it.
  >  
  >  I would be perfectly ok with marking this as not for irix, if any of the
  >  three of us left who use synergy and irix need it we can build it for
  >  ourselves, I'm sure.

 Well... part of the purpose of pkgsrc is to make the build available,
 so if any one of you sorts it out then it's available to the other two :-)

 My inclination at the moment is to close this PR, as the patch in it
 isn't useful any more; but if you get around to trying it again and
 have new patches, please send them along in new PRs, and hopefully
 this time they won't rot in gnats for six years.

 If the thing with ar is still an issue and affects packages other than
 this one, please file a PR on that too. (Preferably, using a small and
 well-understood package as a demonstration case...) It should be
 possible to have the pkgsrc wrapper for ar run cc -ar instead if
 that's the best thing to do. (Or translate ar -cru into equivalent ar
 -cq operations, or whatever.)

 -- 
 David A. Holland
 dholland@netbsd.org

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.