ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: help with lavaps (c++ part) please
@ 2002-11-28 12:22 Michael Shigorin
  2002-11-28 12:35 ` [devel] " Michael Shigorin
  2002-11-28 17:46 ` [devel] " Alexey Voinov
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Shigorin @ 2002-11-28 12:22 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2460 bytes --]

	Здравствуйте.
Кто-нибудь сведущий в C++ может чуток помочь с lavaps?

Сейчас http://osdn.org.ua/~mike/lavaps-1.20-alt2.src.rpm
не собирается с такими жалобами:

---

make[3]: Entering directory `/home/mike/RPM/BUILD/lavaps-1.20/linux/proc'
gcc -O2 -g -D_GNU_SOURCE -I.. -Wall -c alloc.c
gcc -O2 -g -D_GNU_SOURCE -I.. -Wall -c compare.c
compare.c:103:13: warning: pasting "->" and "user" does not give a valid preprocessing token
compare.c:103:13: warning: pasting "->" and "user" does not give a valid preprocessing token

[...]

c++ -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/X11R6/include      -DUSE_PROCESS_SCAN_LINUX_PROC -Ilinux -g  -DUSE_TCL_BLOB  -Wall -DLAVAPS_STL_NAMESPACE=none -I/usr/X11R6/include -c process_scan_aix.cc
c++ -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/X11R6/include      -DUSE_PROCESS_SCAN_LINUX_PROC -Ilinux -g  -DUSE_TCL_BLOB  -Wall -DLAVAPS_STL_NAMESPACE=none -I/usr/X11R6/include -c blob.cc
c++ -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/X11R6/include      -DUSE_PROCESS_SCAN_LINUX_PROC -Ilinux -g  -DUSE_TCL_BLOB  -Wall -DLAVAPS_STL_NAMESPACE=none -I/usr/X11R6/include -c tcl_blob.cc
tcl_blob.cc: In function `void tcl_blob::init ()':
tcl_blob.cc:337: cannot convert `const char *' to `char *' for argument `1' to `die (char *)'
tcl_blob.cc:347: cannot convert `int (*) (void *, Tcl_Interp *, int, char **)' to `int (*) (void *, Tcl_Interp *, int, const char **)' for argument `3' to `Tcl_CreateCommand (Tcl_Interp *, const char *, int (*) (void *, Tcl_Interp *, int, const char **), void *, void (*) (void *))'

[...]

tcl_blob.cc: In method `void tcl_blob::redraw ()':
tcl_blob.cc:592: cannot convert `const char *' to `char *' in initialization
make[2]: *** [tcl_blob.o] Error 1
make[2]: Leaving directory `/home/mike/RPM/BUILD/lavaps-1.20'

[вываливаемся]

---

Author's note on building:

> Building LavaPS requires C++, STL, and Tcl/Tk.

Имею:

trickster:~> rpm -qa |grep -- ++|sort
gcc2.95-c++-2.95.3-alt1
gcc2.96-c++-2.96-alt2
gcc3.2-c++-3.2.1-alt0.4
libstdc++2.95-devel-2.95.3-alt1
libstdc++2.96-2.96-alt2
libstdc++2.96-devel-2.96-alt2
libstdc++3.2-3.2.1-alt0.4
libstdc++3.2-debug-3.2.1-alt0.4
libstdc++3.2-devel-3.2.1-alt0.4

Что интересно -- 

trickster:~> rpm -qf `find /usr/include -name stl.h`
libstdc++2.96-devel-2.96-alt2

Попытка собрать с 2.95.3/2.96 тоже не удалась.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 187 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [devel] Re: Q: help with lavaps (c++ part) please
  2002-11-28 12:22 [devel] Q: help with lavaps (c++ part) please Michael Shigorin
@ 2002-11-28 12:35 ` Michael Shigorin
  2002-11-28 13:19   ` Sergey Bolshakov
  2002-11-28 17:46 ` [devel] " Alexey Voinov
  1 sibling, 1 reply; 4+ messages in thread
From: Michael Shigorin @ 2002-11-28 12:35 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 566 bytes --]

On Thu, Nov 28, 2002 at 02:22:25PM +0200, Michael Shigorin wrote:
> Сейчас http://osdn.org.ua/~mike/lavaps-1.20-alt2.src.rpm
> не собирается с такими жалобами:

Собственно, пересборка была затеяна после 

apt-get install lavaps
lavaps
(&*^%& -- а что ж оно tcl tk не вытянуло?)
apt-get install tcl tk
забрал src.rpm, buildreq => облом

При этом сизифовый пакет работает.  Мне непонятно, как он
_там_ собрался -- и в любом случае надо deps выровнять.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 187 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Re: Q: help with lavaps (c++ part) please
  2002-11-28 12:35 ` [devel] " Michael Shigorin
@ 2002-11-28 13:19   ` Sergey Bolshakov
  0 siblings, 0 replies; 4+ messages in thread
From: Sergey Bolshakov @ 2002-11-28 13:19 UTC (permalink / raw)
  To: devel

>>>>> "Michael" == Michael Shigorin <mike@osdn.org.ua> writes:

 > On Thu, Nov 28, 2002 at 02:22:25PM +0200, Michael Shigorin wrote:
 >> Сейчас http://osdn.org.ua/~mike/lavaps-1.20-alt2.src.rpm не собирается с
 >> такими жалобами:

 > Собственно, пересборка была затеяна после

 > apt-get install lavaps lavaps (&*^%& -- а что ж оно tcl tk не вытянуло?)
 > apt-get install tcl tk забрал src.rpm, buildreq => облом

 > При этом сизифовый пакет работает.  Мне непонятно, как он _там_ собрался --
 > и в любом случае надо deps выровнять.

Видимо, он обходится, libtcl и libtk. Что касается сборки, то, помнится,
я высылал Вам патч на спек - там с -DUSE_NON_CONST надо собирать.
И, кстати, пересобирается - только что проверил, лог могу выслать :)

-- 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] Q: help with lavaps (c++ part) please
  2002-11-28 12:22 [devel] Q: help with lavaps (c++ part) please Michael Shigorin
  2002-11-28 12:35 ` [devel] " Michael Shigorin
@ 2002-11-28 17:46 ` Alexey Voinov
  1 sibling, 0 replies; 4+ messages in thread
From: Alexey Voinov @ 2002-11-28 17:46 UTC (permalink / raw)
  To: devel; +Cc: Michael Shigorin


[-- Attachment #1.1: Type: text/plain, Size: 1056 bytes --]

Michael Shigorin wrote
> Кто-нибудь сведущий в C++ может чуток помочь с lavaps?
> 
> Сейчас http://osdn.org.ua/~mike/lavaps-1.20-alt2.src.rpm
> не собирается с такими жалобами:
> 
<skip>
> tcl_blob.cc: In method `void tcl_blob::redraw ()':
> tcl_blob.cc:592: cannot convert `const char *' to `char *' in initialization
> make[2]: *** [tcl_blob.o] Error 1
> make[2]: Leaving directory `/home/mike/RPM/BUILD/lavaps-1.20'
> 
> [вываливаемся]
Кривые руки у этого автора. Я тут немного затычек понаставил, это не
настоящий фикс, но варнингов больше нет (ненавижу варнинги) и программа
собирается. Разбираться в этой программе подробнее желания нет.
(Вообще выглядит забавно, даже весело, но без чтения документации не очень
поянтно как всем этим хозяйством управлять :) )

Патч прилагается.



-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
voins@online.ru
vns@altlinux.ru


[-- Attachment #1.2: lavaps-1.20-alt-voins.patch --]
[-- Type: text/plain, Size: 5339 bytes --]

--- lavaps-1.20/linux/proc/compare.c.voins	1998-10-03 01:34:07 +0400
+++ lavaps-1.20/linux/proc/compare.c	2002-11-28 20:25:37 +0300
@@ -85,13 +85,13 @@
 */
 #define CMP_STR(NAME) \
 int cmp_ ## NAME(proc_t** P, proc_t** Q) { \
-    return strcmp((*P)-> ## NAME, (*Q)-> ## NAME); \
+    return strcmp((*P)->NAME, (*Q)->NAME); \
 }
 
 #define CMP_INT(NAME) \
 int cmp_ ## NAME (proc_t** P, proc_t** Q) { \
-    if ((*P)-> ## NAME < (*Q)-> ## NAME) return -1; \
-    if ((*P)-> ## NAME > (*Q)-> ## NAME) return  1; \
+    if ((*P)->NAME < (*Q)->NAME) return -1; \
+    if ((*P)->NAME > (*Q)->NAME) return  1; \
     return 0; \
 }
 
--- lavaps-1.20/linux/proc/version.c.voins	1998-10-03 01:34:07 +0400
+++ lavaps-1.20/linux/proc/version.c	2002-11-28 20:26:13 +0300
@@ -5,6 +5,7 @@
  * GNU Library General Public License; see ../COPYING.LIB
  */
 #include <stdio.h>
+#include <stdlib.h>
 
 #ifdef MINORVERSION
 char procps_version[] = "procps version " VERSION "." SUBVERSION "." MINORVERSION;
--- lavaps-1.20/tcl2cc/tcl2cc.c.voins	2000-06-06 05:04:15 +0400
+++ lavaps-1.20/tcl2cc/tcl2cc.c	2002-11-28 20:22:40 +0300
@@ -46,6 +46,7 @@
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h> /* strcasecmp() */
 #include <ctype.h>
 
@@ -92,9 +93,7 @@
 {
 	int nl = 1;
 	int skipping = 0;
-	int c;
-	char buf[6];
-	int i;
+	int c = 0;
 	int look_forward = 0;
 
 	while (1) {
--- lavaps-1.20/main.cc.voins	2001-10-31 00:25:57 +0300
+++ lavaps-1.20/main.cc	2002-11-28 20:29:24 +0300
@@ -24,8 +24,8 @@
 #include "process_scan.hh"
 
 #include <unistd.h>
-#include <stdlib.h>
-#include <iostream.h>
+#include <cstdlib>
+#include <iostream>
 
 #include <string>
 
--- lavaps-1.20/blob.cc.voins	2001-08-15 19:15:58 +0400
+++ lavaps-1.20/blob.cc	2002-11-28 20:30:54 +0300
@@ -21,11 +21,11 @@
 
 #include "config.h"
 
-#include <stdio.h> // snprintf
+#include <cstdio> // snprintf
 
-#include <stdlib.h>  // atoi
-#include <iostream.h>
-#include <assert.h>
+#include <cstdlib>  // atoi
+#include <iostream>
+#include <cassert>
 
 #include <algorithm> // swap
 
--- lavaps-1.20/process_list.cc.voins	2001-08-15 19:16:19 +0400
+++ lavaps-1.20/process_list.cc	2002-11-28 20:30:29 +0300
@@ -21,8 +21,8 @@
 
 #include "config.h"
 
-#include <stdlib.h>  // atoi
-#include <iostream.h>
+#include <cstdlib>  // atoi
+#include <iostream>
 
 #include <unistd.h>
 #include <time.h>
--- lavaps-1.20/tcl_blob.cc.voins	2001-04-19 19:51:34 +0400
+++ lavaps-1.20/tcl_blob.cc	2002-11-28 20:37:59 +0300
@@ -21,9 +21,9 @@
 
 #ifdef USE_TCL_BLOB
 
-#include <stdlib.h>  // atoi
+#include <cstdlib>  // atoi
 #include <tcl.h>
-#include <iostream.h>
+#include <iostream>
 
 #include <signal.h>
 
@@ -334,7 +334,7 @@
 	// const char* appname = "lavaps";
 	interp_ = Tcl_CreateInterp();
 	if (Tcl_Init(interp_) == TCL_ERROR)
-		die(Tcl_GetStringResult(interp_));
+		die(const_cast<char*>(Tcl_GetStringResult(interp_)));
 	Tk_Window tk = NULL;
 	if (Tk_Init(interp_) == TCL_OK)
 		tk = Tk_MainWindow(interp_);
@@ -344,13 +344,21 @@
 	/*
 	 * add our new commands
 	 */
-	(void) Tcl_CreateCommand(interp_, "lava_tick", lava_tick_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_id_to_info", lava_id_to_info_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_menu", lava_menu_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_resize", lava_resize_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_dump", lava_dump_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_version", lava_version_proc, NULL, NULL);
-	(void) Tcl_CreateCommand(interp_, "lava_default_resources", lava_default_resources_proc, NULL, NULL);
+	typedef int (*tmp_fun_type)(void*, Tcl_Interp*, int, const char**);
+	(void) Tcl_CreateCommand(interp_, "lava_tick",
+		reinterpret_cast<tmp_fun_type>(lava_tick_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_id_to_info",
+		reinterpret_cast<tmp_fun_type>(lava_id_to_info_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_menu",
+		reinterpret_cast<tmp_fun_type>(lava_menu_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_resize",
+		reinterpret_cast<tmp_fun_type>(lava_resize_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_dump",
+		reinterpret_cast<tmp_fun_type>(lava_dump_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_version",
+		reinterpret_cast<tmp_fun_type>(lava_version_proc), NULL, NULL);
+	(void) Tcl_CreateCommand(interp_, "lava_default_resources",
+		reinterpret_cast<tmp_fun_type>(lava_default_resources_proc), NULL, NULL);
 	// (void) Tcl_CreateCommand(interp_, "lava_move", lava_move_proc, NULL, NULL);
 	// (void) Tcl_CreateCommand(interp_, "lava_grow", lava_grow_proc, NULL, NULL);
 	// (void) Tcl_CreateCommand(interp_, "lava_print", lava_print_proc, NULL, NULL);
@@ -589,7 +597,7 @@
 		exit (1);
 	};
 	if (dark_percentage_) {
-		char *cp = Tcl_GetStringResult(interp_);
+		const char *cp = Tcl_GetStringResult(interp_);
 		assert(cp != NULL);
 		assert(*cp != 0);
 		id_ = atoi(cp+1);
--- lavaps-1.20/tcl_blob_shape.cc.voins	2001-08-15 19:18:14 +0400
+++ lavaps-1.20/tcl_blob_shape.cc	2002-11-28 20:38:28 +0300
@@ -23,9 +23,9 @@
 
 #ifdef USE_TCL_BLOB
 
-#include <stdlib.h>  // atoi
+#include <cstdlib>  // atoi
 #include <tcl.h>
-#include <iostream.h>
+#include <iostream>
 
 #include <tcl.h>
 #include <tk.h>

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-11-28 17:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-28 12:22 [devel] Q: help with lavaps (c++ part) please Michael Shigorin
2002-11-28 12:35 ` [devel] " Michael Shigorin
2002-11-28 13:19   ` Sergey Bolshakov
2002-11-28 17:46 ` [devel] " Alexey Voinov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git