pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg requires gcc44 or later, but won't use existing gcc46?



Le 24/03/14 02:07, John D. Baker a écrit :
While rebuilding packages on my netbsd-5/i386 system, "multimedia/libvpx"
insists on building "lang/gcc44" even though I have a working gcc46
(gcc46-4.6.3nb5 from pkgsrc-2013Q4).

Building it with:

   GCC_REQD=4.6 make

lets it acknowledge the later compiler and the build is proceeding.

Since I have to have gcc46 for firefox anyway, it doesn't make much
sense to build yet another gcc instance for libvpx (on which firefox
depends).

I would have thought the compiler selection logic would acknowledge
installed versions higher than the minimum requirement?  So, I had
to manually update libvpx rather than let pkg_rolling-replace do it.

(Also, gcc44 currently doesn't build on netbsd-5/i386.  PR eventually.)


Concerning the gcc44 build, try the attached patch.
There were some missing backports since `makeinfo` was upgraded.

We will probably need to see your error messages as to why your gcc46 is not being used.
diff --git a/lang/gcc44/Makefile b/lang/gcc44/Makefile
index 2b2b4fe..0a4371e 100644
--- a/lang/gcc44/Makefile
+++ b/lang/gcc44/Makefile
@@ -74,6 +74,7 @@ CONFIGURE_ENV+=               CONFIG_SHELL=${CONFIG_SHELL}
 
 MAKE_ENV+=             SHELL=${CONFIG_SHELL}
 MAKE_ENV+=             ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD}
+#MAKE_ENV+=            gcc_cv_prog_makeinfo_modern=no
 
 # ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
 # a binary so we need to make sure we give it the installed sed and not
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo
index c27625b..eac4440 100644
--- a/lang/gcc44/distinfo
+++ b/lang/gcc44/distinfo
@@ -12,6 +12,10 @@ SHA1 (patch-aj) = 9baf098316200a19b2b4553f05b8fa6970a887e7
 SHA1 (patch-ak) = 08da661b8b19fdd9fa086f67b185266c1d378658
 SHA1 (patch-al) = 462059744f7f057f13d6c472d0aff9d012546082
 SHA1 (patch-am) = fcfabcec9e6d0b8e9ada348dc65e8ddb890f96ca
+SHA1 (patch-gcc_doc_c-tree.texi) = 5986ce869eea366b8efbb0721621d47b886521f8
+SHA1 (patch-gcc_doc_cppopts.texi) = ffaa6b5fd0a88f04d5064bcfaff2492cd24354d1
+SHA1 (patch-gcc_doc_invoke.texi) = 16a3fc88a2535a0f21094286164b5bb1cd8e7f6c
+SHA1 (patch-gcc_doc_sourcebuild.texi) = 
98a3aab9fa6566ec85b0feede5c3f56e838d6abd
 SHA1 (patch-gcc_ginclude_stddef.h) = 867e3ff87f0b8865b37823c42c9b01935b94e5fb
 SHA1 (patch-gcc_toplev.h) = 536f52c86635b2a5ba894499fa6c398f9206c82a
 SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 
768705c3be094cba77ec0b20517ffb8cd579059c
diff --git a/lang/gcc44/patches/patch-gcc_doc_c-tree.texi 
b/lang/gcc44/patches/patch-gcc_doc_c-tree.texi
new file mode 100644
index 0000000..dbd6a14
--- /dev/null
+++ b/lang/gcc44/patches/patch-gcc_doc_c-tree.texi
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- gcc/doc/c-tree.texi.orig   2009-02-20 15:20:38.000000000 +0000
++++ gcc/doc/c-tree.texi
+@@ -2338,13 +2338,13 @@ generate these expressions anyhow, if it
+ not matter.  The type of the operands and that of the result are
+ always of @code{BOOLEAN_TYPE} or @code{INTEGER_TYPE}.
+ 
+-@itemx POINTER_PLUS_EXPR
++@item POINTER_PLUS_EXPR
+ This node represents pointer arithmetic.  The first operand is always
+ a pointer/reference type.  The second operand is always an unsigned
+ integer type compatible with sizetype.  This is the only binary
+ arithmetic operand that can operate on pointer types.
+ 
+-@itemx PLUS_EXPR
++@item PLUS_EXPR
+ @itemx MINUS_EXPR
+ @itemx MULT_EXPR
+ These nodes represent various binary arithmetic operations.
diff --git a/lang/gcc44/patches/patch-gcc_doc_cppopts.texi 
b/lang/gcc44/patches/patch-gcc_doc_cppopts.texi
new file mode 100644
index 0000000..896224c
--- /dev/null
+++ b/lang/gcc44/patches/patch-gcc_doc_cppopts.texi
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- gcc/doc/cppopts.texi.orig  2008-06-15 09:42:13.000000000 +0000
++++ gcc/doc/cppopts.texi
+@@ -758,7 +758,7 @@ Replacement:      [    ]    @{    @}
+ Enable special code to work around file systems which only permit very
+ short file names, such as MS-DOS@.
+ 
+-@itemx --help
++@item --help
+ @itemx --target-help
+ @opindex help
+ @opindex target-help
diff --git a/lang/gcc44/patches/patch-gcc_doc_invoke.texi 
b/lang/gcc44/patches/patch-gcc_doc_invoke.texi
new file mode 100644
index 0000000..6b9daa1
--- /dev/null
+++ b/lang/gcc44/patches/patch-gcc_doc_invoke.texi
@@ -0,0 +1,59 @@
+$NetBSD$
+
+--- gcc/doc/invoke.texi.orig   2011-03-23 22:02:12.000000000 +0000
++++ gcc/doc/invoke.texi
+@@ -4645,11 +4645,11 @@ Dump after duplicating the computed goto
+ @option{-fdump-rtl-ce3} enable dumping after the three
+ if conversion passes. 
+ 
+-@itemx -fdump-rtl-cprop_hardreg
++@item -fdump-rtl-cprop_hardreg
+ @opindex fdump-rtl-cprop_hardreg
+ Dump after hard register copy propagation.
+ 
+-@itemx -fdump-rtl-csa
++@item -fdump-rtl-csa
+ @opindex fdump-rtl-csa
+ Dump after combining stack adjustments.
+ 
+@@ -4660,11 +4660,11 @@ Dump after combining stack adjustments.
+ @option{-fdump-rtl-cse1} and @option{-fdump-rtl-cse2} enable dumping after
+ the two common sub-expression elimination passes.
+ 
+-@itemx -fdump-rtl-dce
++@item -fdump-rtl-dce
+ @opindex fdump-rtl-dce
+ Dump after the standalone dead code elimination passes.
+ 
+-@itemx -fdump-rtl-dbr
++@item -fdump-rtl-dbr
+ @opindex fdump-rtl-dbr
+ Dump after delayed branch scheduling.
+ 
+@@ -4709,7 +4709,7 @@ Dump after the initialization of the reg
+ @opindex fdump-rtl-initvals
+ Dump after the computation of the initial value sets.
+ 
+-@itemx -fdump-rtl-into_cfglayout
++@item -fdump-rtl-into_cfglayout
+ @opindex fdump-rtl-into_cfglayout
+ Dump after converting to cfglayout mode.
+ 
+@@ -4739,7 +4739,7 @@ Dump after removing redundant mode switc
+ @opindex fdump-rtl-rnreg
+ Dump after register renumbering.
+ 
+-@itemx -fdump-rtl-outof_cfglayout
++@item -fdump-rtl-outof_cfglayout
+ @opindex fdump-rtl-outof_cfglayout
+ Dump after converting from cfglayout mode.
+ 
+@@ -4751,7 +4751,7 @@ Dump after the peephole pass.
+ @opindex fdump-rtl-postreload
+ Dump after post-reload optimizations.
+ 
+-@itemx -fdump-rtl-pro_and_epilogue
++@item -fdump-rtl-pro_and_epilogue
+ @opindex fdump-rtl-pro_and_epilogue
+ Dump after generating the function pro and epilogues.
+ 
diff --git a/lang/gcc44/patches/patch-gcc_doc_sourcebuild.texi 
b/lang/gcc44/patches/patch-gcc_doc_sourcebuild.texi
new file mode 100644
index 0000000..ac21aad
--- /dev/null
+++ b/lang/gcc44/patches/patch-gcc_doc_sourcebuild.texi
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- gcc/doc/sourcebuild.texi.orig      2010-05-19 17:21:58.000000000 +0000
++++ gcc/doc/sourcebuild.texi
+@@ -573,7 +573,7 @@ standard rule in @file{gcc/Makefile.in}
+ @code{lang_checks}.
+ 
+ @table @code
+-@itemx all.cross
++@item all.cross
+ @itemx start.encap
+ @itemx rest.encap
+ FIXME: exactly what goes in each of these targets?


Home | Main Index | Thread Index | Old Index