Your message dated Fri, 9 May 2014 02:09:29 +0800
with message-id 
<CAMr=8w6UEb7OAR1o0=etl8z184zj-c6nr24ai8_znfu_buw...@mail.gmail.com>
and subject line 
has caused the Debian Bug report #725079,
regarding ns2: FTBFS with upcoming changes in Tcl/Tk
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
725079: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725079
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: ns2
Version: 2.35+dfsg-1
Severity: normal
Tags: patch

Dear Maintainer,

We plan the following changes to Tcl/Tk in Debian which affect your ns2
package:
1. Adding multiarch capabilities (in particular, moving libraries into
/usr/lib/<triplet>).
2. Upgrading default Tcl/Tk version to 8.6.

The new packages are already in experimental, so you can play with them.

Due to the first change ns2 configure script can't find Tcl/Tk anymore, and
since it's custom (doesn't use tclConfig.sh script with all the paths recorded
during Tcl build) I can't suggest anything except patching. Moreover, I doubt
these patches can be sent upstream (as they use DEB_HOST_MULTIARCH variable).

The second change revealed two problems. Firstly, deprecated (and hidden in
8.6) Tcl_Interp result field is used in the code. Secondly, in 8.6 the return
type of Tcl_GetHashKey has been changed from char* to void* which causes
error when compiling. Here comes another patch with a quick hack suitable for
old projects (definition of USE_INTERP_RESULT) and with converting the return
value to (void*). The latter is legitimate because the keys in Tcl_GetHashKey
calls are always null-terminated strings.

I've attached the patch which helps ns2 to build with Tcl/Tk from
experimental.

-- System Information:
Debian Release: 7.1
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'stable'), (100, 'unstable'), 
(1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru ns2-2.35+dfsg/debian/changelog ns2-2.35+dfsg/debian/changelog
--- ns2-2.35+dfsg/debian/changelog	2012-06-14 23:17:11.000000000 +0400
+++ ns2-2.35+dfsg/debian/changelog	2013-10-01 11:22:28.000000000 +0400
@@ -1,3 +1,11 @@
+ns2 (2.35+dfsg-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fixed FTBFS after adding multiarch capabilities to Tcl/Tk.
+  * Defined USE_INTERP_RESULT to quickfix FTBFS after upgrade Tcl/Tk to 8.6.
+
+ -- Sergei Golovan <sgolo...@debian.org>  Tue, 01 Oct 2013 11:22:18 +0400
+
 ns2 (2.35+dfsg-1) unstable; urgency=low
 
   * New upstream stable release.
diff -Nru ns2-2.35+dfsg/debian/patches/0005-fix-for-multiarch-tcltk.patch ns2-2.35+dfsg/debian/patches/0005-fix-for-multiarch-tcltk.patch
--- ns2-2.35+dfsg/debian/patches/0005-fix-for-multiarch-tcltk.patch	1970-01-01 03:00:00.000000000 +0300
+++ ns2-2.35+dfsg/debian/patches/0005-fix-for-multiarch-tcltk.patch	2013-10-01 11:02:30.000000000 +0400
@@ -0,0 +1,44 @@
+--- a/conf/configure.in.tcl
++++ b/conf/configure.in.tcl
+@@ -199,6 +199,7 @@
+                 $x_libs \
+                 /usr/lib64 \
+                 /usr/lib \
++		/usr/lib/$DEB_HOST_MULTIARCH \
+ 		"
+ 
+ dnl Decide which set of .tcl library files to use
+--- a/conf/configure.in.tk
++++ b/conf/configure.in.tk
+@@ -163,7 +163,9 @@
+                 $x_libs/tk \
+                 $x_libs \
+                 /usr/lib64 \
+-                /usr/lib"
++                /usr/lib \
++		/usr/lib/$DEB_HOST_MULTIARCH \
++		"
+ 
+ NS_BEGIN_PACKAGE(tk)
+ NS_CHECK_HEADER_PATH(tk.h,$TK_H_PLACES,$d,$TK_H_PLACES_D,V_INCLUDE_TK,tk)
+--- a/configure
++++ b/configure
+@@ -5641,6 +5641,7 @@
+                 $x_libs \
+                 /usr/lib64 \
+                 /usr/lib \
++		/usr/lib/$DEB_HOST_MULTIARCH \
+ 		"
+ 
+ 
+@@ -6208,7 +6209,9 @@
+                 $x_libs/tk \
+                 $x_libs \
+                 /usr/lib64 \
+-                /usr/lib"
++                /usr/lib \
++		/usr/lib/$DEB_HOST_MULTIARCH \
++		"
+ 
+ 
+ NS_PACKAGE_tk_UNDERWAY=false
diff -Nru ns2-2.35+dfsg/debian/patches/0006-hack-for-tcl8.6.patch ns2-2.35+dfsg/debian/patches/0006-hack-for-tcl8.6.patch
--- ns2-2.35+dfsg/debian/patches/0006-hack-for-tcl8.6.patch	1970-01-01 03:00:00.000000000 +0300
+++ ns2-2.35+dfsg/debian/patches/0006-hack-for-tcl8.6.patch	2013-10-01 11:58:50.000000000 +0400
@@ -0,0 +1,44 @@
+--- a/webcache/pagepool.cc
++++ b/webcache/pagepool.cc
+@@ -658,7 +658,7 @@
+ 			for (he = Tcl_FirstHashEntry(namemap_, &hs); 
+ 			     he != NULL;
+ 			     he = Tcl_NextHashEntry(&hs)) {
+-				char* retVal = Tcl_GetHashKey(namemap_, he);
++				char* retVal = (char *)Tcl_GetHashKey(namemap_, he);
+ 				// Convert name to a PageID
+ 				PageID t1;
+ 				ClientPage::split_name (retVal, t1);
+--- a/pushback/ident-tree.h
++++ b/pushback/ident-tree.h
+@@ -83,7 +83,7 @@
+     Tcl_HashSearch searchPtr;
+     Tcl_HashEntry * he = Tcl_FirstHashEntry(hashTable_, &searchPtr);
+     while (he != NULL) {
+-      char * key = Tcl_GetHashKey(hashTable_, he);
++      char * key = (char *)Tcl_GetHashKey(hashTable_, he);
+       long value = (long)Tcl_GetHashValue(he);
+       printf("%s = %ld\n", key, value);
+       he = Tcl_NextHashEntry(&searchPtr);
+--- a/configure
++++ b/configure
+@@ -7623,6 +7623,7 @@
+ fi
+ 
+ 
++V_CCOPT="$V_CCOPT -DUSE_INTERP_RESULT"
+ 
+ 
+ PERL_OPTIONAL=true
+--- a/configure.in
++++ b/configure.in
+@@ -29,6 +29,9 @@
+ default_classinstvar=yes
+ builtin(include, ./conf/configure.in.debugopts)
+ 
++dnl Hack for Tcl 8.6
++V_CCOPT="$V_CCOPT -DUSE_INTERP_RESULT"
++
+ PERL_OPTIONAL=true
+ builtin(include, ./conf/configure.in.perl)
+ if test "x$PERL" = x
diff -Nru ns2-2.35+dfsg/debian/patches/series ns2-2.35+dfsg/debian/patches/series
--- ns2-2.35+dfsg/debian/patches/series	2012-06-14 23:17:11.000000000 +0400
+++ ns2-2.35+dfsg/debian/patches/series	2013-10-01 11:27:15.000000000 +0400
@@ -2,3 +2,5 @@
 0002-tclcl-header-move.patch.patch
 0003-fix-gcc-4.7-ftbfs.patch.patch
 0004-correct-paths-in-examples.patch
+0005-fix-for-multiarch-tcltk.patch
+0006-hack-for-tcl8.6.patch

--- End Message ---
--- Begin Message ---
Version: 2.35+dfsg-1.1

Fixed in unstable.

-- 
Regards,
Aron Xu

--- End Message ---

Reply via email to