pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/33403: Can't build perl module written by C++
The following reply was made to PR pkg/33403; it has been noted by GNATS.
From: "Johnny C. Lam" <jlam%pkgsrc.org@localhost>
To: obata%lins.jp@localhost
Cc: gnats-bugs%netbsd.org@localhost
Subject: Re: pkg/33403: Can't build perl module written by C++
Date: Wed, 3 May 2006 02:20:49 +0000
--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Tue, May 02, 2006 at 01:35:06AM +0000, OBATA Akio wrote:
> On Tue, 02 May 2006 10:28:58, Johnny C. Lam wrote:
> > Could you please try the attached patch? I believe it is more in the
> > spirit of how the Perl developers are currently trying to handle GCC
> > __attribute__ expressions in the Perl codebase. Please let me know if
> > this works for you.
>
> Same error occured.
>
> ===> Building for p5-mecab-0.91
> c++ -c -I/usr/pkg/include -fno-strict-aliasing -pipe -I/usr/pkg/include
> -O2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include -I/usr/include
> -DVERSION=\"0.91\" -DXS_VERSION=\"0.91\" -DPIC -fPIC
> "-I/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE" MeCab_wrap.cxx
> In file included from MeCab_wrap.cxx:708:
>
> /usr/pkgsrc/wip/p5-mecab/work/.buildlink/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE/perl.h:2704:
> error: parse
> error before `__attribute__'
>
> /usr/pkgsrc/wip/p5-mecab/work/.buildlink/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE/perl.h:2714:
> error: parse
> error before `__attribute__'
>
> /usr/pkgsrc/wip/p5-mecab/work/.buildlink/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE/perl.h:2714:
> error: syntax
> error before `)' token
Ah, I notice I made an error in my patch. Could you please try this
one instead? Just drop it into lang/perl5/patches and "make mps" to
regenerate the patch checksums.
Thanks,
-- Johnny Lam <jlam%pkgsrc.org@localhost>
--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch-aq
$NetBSD$
--- perl.h.orig 2006-01-13 13:17:12.000000000 -0500
+++ perl.h
@@ -150,6 +150,15 @@ struct perl_thread;
# define CALLPROTECT CALL_FPTR(PL_protect)
#endif
+/* GCC versions prior to 3.4 have a bug handling the "unused" attribute
+ * in declarations when compiling C++ code.
+ */
+#if defined(__GNUC__) && defined(__cplusplus)
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+# define PERL_UNUSED_DECL
+# endif
+#endif
+
#if defined(SYMBIAN) && defined(__GNUC__)
# ifdef __cplusplus
# define PERL_UNUSED_DECL
@@ -2375,7 +2384,11 @@ typedef struct clone_params CLONE_PARAMS
# define HASATTRIBUTE_PURE
# endif
# if __GNUC__ >= 3 /* gcc 3.0 -> */ /* XXX Verify this version */
-# define HASATTRIBUTE_UNUSED
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3) /* 3.4 -> */
+# define HASATTRIBUTE_UNUSED
+# elif !defined(__cplusplus)
+# define HASATTRIBUTE_UNUSED
+# endif
# endif
# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */
# define HASATTRIBUTE_WARN_UNUSED_RESULT
--EVF5PPMfhYS0aIcm--
Home |
Main Index |
Thread Index |
Old Index