* [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