View previous topic :: View next topic |
Author |
Message |
SHaruki Guest
|
Posted: Thu May 23, 2002 1:38 am Post subject: ncurses compile error |
|
|
I tried to install the Gentoo on PPC to IBM PowerPC 405GP machine, which is not Macintosh.
On the way form stage2 to stage3, ncurses is not compiled well.
I've gat these mesg.
cd .../obj_s; c++ -I../c++ -I../include -I. -DHAVE_CONFIG_H -DNDEBUG -I.
-I../include -mcpu=powerpc -O3 -fPIC -c ../c++/cursesw.cc
../c++/cursesw.cc: In method `int NCursesWindow::scanw(const char *, ...)':
../c++/cursesw.cc:55: ANSI C++ forbids casting to an array type
../c++/cursesw.cc: In method `int NCursesWindow::scanw(int, int, const char
*, ...)':
../c++/cursesw.cc:77: ANSI C++ forbids casting to an array type
make: *** [../obj_s/cursesw.o] Error 1
Is there a patch or something to fix this?
Haruki |
|
Back to top |
|
|
Stummel Guest
|
Posted: Sat May 25, 2002 10:26 pm Post subject: |
|
|
I get the same error and the same messages on Apple tibook G4 400
CU Chris |
|
Back to top |
|
|
quangdog n00b
Joined: 26 May 2002 Posts: 5
|
Posted: Sun May 26, 2002 6:06 am Post subject: I get this error too |
|
|
On a powerbook G3 333...
|
|
Back to top |
|
|
Stummel Guest
|
Posted: Sun May 26, 2002 12:38 pm Post subject: Solution |
|
|
Hi *,
the following worked for me:
in short:
get the source package from debian and use it instead.
in long:
emerge system if it failes do the following:
if you've got a debian box: apt-get source libncurses, or go to www.debian.org)
untar it : tar xvfz libncurses_5.2.20020112a.tar.gz
rename it: mv ncurses_5.2.20020112a ncurses-5.2
pack it: tar cvfz ncurses-5.2.tar.gz ncurses-5.2
move it over the original packet:
mv ncurses-5.2.tar.gz /usr/portage/distfiles/ncurses-5.2.tar.gz
cd /usr/portage/sys-libs/ncurses/files
emerge system will tell you, that your package has a wrong md5, so do
emerge system 2&> md.txt
you will find your md5 hash in it. append it to digest-ncurses-5.2.20020511
cat md.txt >> digest-ncurses-5.2.20020511
Edit the file
and take your MD5 digest instead of the original one (there are only two lines of md5 - one for the patch and one for the ncurses package)
It worked for me - but I am still compiling the system (but ncurses did compile).
CU Stummel |
|
Back to top |
|
|
quangdog n00b
Joined: 26 May 2002 Posts: 5
|
Posted: Sun May 26, 2002 7:49 pm Post subject: Re: Solution |
|
|
Ok, forgive my newbiness, but I have tried to follow your instructions below, but still have problems. The first is that on the packages.debian.org I can only find ncurses, not libncurses... so I went with that... seemed to extract a properly named archive, so I assumed I was on the right track there. Next, I'm having prolems with the digest md5 stuff...
"Edit the file
and take your MD5 digest instead of the original one (there are only two lines of md5 - one for the patch and one for the ncurses package)"
Which file am I supposed to edit, exactly? I edited the digest-ncurses-5.2.20020511, replacing the new md5 value for the new debian ncurses package, but emerge still tells me that I have the wrong md5 value for the ncurses package...
What am I doing wrong?
Thanks for your help!
-Kimball Larsen
Stummel wrote: | Hi *,
the following worked for me:
in short:
get the source package from debian and use it instead.
in long:
emerge system if it failes do the following:
if you've got a debian box: apt-get source libncurses, or go to www.debian.org)
untar it : tar xvfz libncurses_5.2.20020112a.tar.gz
rename it: mv ncurses_5.2.20020112a ncurses-5.2
pack it: tar cvfz ncurses-5.2.tar.gz ncurses-5.2
move it over the original packet:
mv ncurses-5.2.tar.gz /usr/portage/distfiles/ncurses-5.2.tar.gz
cd /usr/portage/sys-libs/ncurses/files
emerge system will tell you, that your package has a wrong md5, so do
emerge system 2&> md.txt
you will find your md5 hash in it. append it to digest-ncurses-5.2.20020511
cat md.txt >> digest-ncurses-5.2.20020511
Edit the file
and take your MD5 digest instead of the original one (there are only two lines of md5 - one for the patch and one for the ncurses package)
It worked for me - but I am still compiling the system (but ncurses did compile).
CU Stummel |
|
|
Back to top |
|
|
quangdog n00b
Joined: 26 May 2002 Posts: 5
|
Posted: Sun May 26, 2002 8:02 pm Post subject: Nevermind.. I got it.. |
|
|
Turns out, I also had an digest-ncurses-5.2.20020511-r1 that I needed to update the md5 in as well.. ncurses just finished compiling.
Thanks for the awesome workaround!
-Kimball |
|
Back to top |
|
|
trapni Retired Dev
Joined: 16 May 2002 Posts: 251 Location: Germany/Berlin
|
Posted: Sun May 26, 2002 8:31 pm Post subject: Re: ncurses compile error |
|
|
Hi,
I got the same for my x86 compatible box by using gcc 3.1.
SHaruki wrote: | [...s.n.i.p...]
cd .../obj_s; c++ -I../c++ -I../include -I. -DHAVE_CONFIG_H -DNDEBUG -I.
-I../include -mcpu=powerpc -O3 -fPIC -c ../c++/cursesw.cc
../c++/cursesw.cc: In method `int NCursesWindow::scanw(const char *, ...)':
../c++/cursesw.cc:55: ANSI C++ forbids casting to an array type
../c++/cursesw.cc: In method `int NCursesWindow::scanw(int, int, const char
*, ...)':
../c++/cursesw.cc:77: ANSI C++ forbids casting to an array type
make: *** [../obj_s/cursesw.o] Error 1
Is there a patch or something to fix this?
[...s.n.i.p...] |
Yes.
I just modified the sources my self. I went to ./c++/cursesw.cc at both locations and replaced the old strstreambuf class usage by the standard c functions (vsscanf from stdio.h).
That error occurs because the class strstreambuf as well as its old header strstream and strstream.h are depricated. They should use the header sstream and the class std::stringstream instead.
But however...
Regards,
Christian Parpart. |
|
Back to top |
|
|
SHaruki Guest
|
Posted: Mon May 27, 2002 4:43 am Post subject: OK! I can complile ncurses! |
|
|
I found the reason of the compile error.
In ebuild file of ncurses, bzcat command is in use to patch it.
But there is no bzcat command in the stage2.
So, After I patch ncurses manually, I can complile it.
Is there someone can fix the ebuild file and report it to devs? |
|
Back to top |
|
|
SHaruki Guest
|
Posted: Mon May 27, 2002 4:50 am Post subject: RE. OK! I can complile ncurses! |
|
|
(fix)
I do not patch ncurses manually,
I do extract the patch of ncurses manually.
And i changed "bzcat" to "cat" in the ebuild file. |
|
Back to top |
|
|
skaught n00b
Joined: 28 May 2002 Posts: 13 Location: Calgary, Alberta
|
Posted: Tue May 28, 2002 4:56 pm Post subject: Perhaps a simpler route... |
|
|
Umm..
--> emerge bzip2
--> emerge system |
|
Back to top |
|
|
Gerk Retired Dev
Joined: 07 May 2002 Posts: 435
|
Posted: Tue May 28, 2002 6:07 pm Post subject: |
|
|
hmmm looks like yet another ebuild that is in need of repair...
does anyone actually _check and test_ the depend on these things? The more ebuilds I look at 9and fix) the more i realize that the quality control on them is sliding badly...too many assumptions.
According to the way it's all laid out most ebuild should require things like virtual/glibc for example, take a look around and see how many are actually setup that way. It's getting scary as hell.
Gerk |
|
Back to top |
|
|
wfaulk n00b
Joined: 08 Jun 2002 Posts: 9
|
Posted: Sat Jun 08, 2002 7:16 pm Post subject: |
|
|
I am having the same problem (lack of dependency on bzip2), but with a different initial symptom, where the c++ part of ncurses complains about not being able to find a vsscanf() declaration. emerging bzip2 before emerging system seems to have fixed the problem.
I thought I'd just let other folks know since I ignored this post for a while because I didn't have the same symptoms, even though it was the same package that was complaining. _________________ Bitt |
|
Back to top |
|
|
|