| View previous topic :: View next topic |
| Author |
Message |
Nate_S Guru


Joined: 18 Mar 2004 Posts: 414
|
Posted: Tue Jan 04, 2005 6:31 am Post subject: emerge libjsw fails (as does make from tarball) |
|
|
Hi.
I'm trying to emerge libjsw and it keeps failing on string.cpp
it dies with this error message:
| Code: |
Building library "libjsw.so.1.5.5"...
Compiling module axisio.o
Compiling module attributes.o
Compiling module buttonio.o
Compiling module calibrationfio.o
Compiling module forcefeedback.o
Compiling module main.o
Compiling module utils.o
Compiling module fio.o
Compiling module disk.o
Compiling module strexp.o
Compiling module string.o
string.cpp:31: error: declaration of `char* strcasestr(const char*, const
char*)' throws different exceptions
../include/string.h:46: error: than previous declaration `char*
strcasestr(const char*, const char*) throw ()'
string.cpp: In function `char* strcasestr(const char*, const char*)':
string.cpp:221: error: declaration of `char* strcasestr(const char*, const
char*)' throws different exceptions
string.cpp:31: error: than previous declaration `char* strcasestr(const char*,
const char*) throw ()'
make: *** [string.o] Error 1
|
I also tried unpacking the tarball and using make to compile; no effect.
I've searched quite a bit and haven't been able to find anything similar
Thanks in advance for any help
-Nate |
|
| Back to top |
|
 |
moocha Watchman

Joined: 21 Oct 2003 Posts: 5722
|
Posted: Tue Jan 04, 2005 7:23 am Post subject: |
|
|
That doesn't happen to me with either libjsw 1.5.5 or 1.5.4. I'm using gcc 3.4.3-r1. The code should not generate that error under any circumstances anyway (I've looked at it), so it looks like a bug in g++.
You could try applying the following patch:
| Code: | diff -Naur libjsw-1.5.5-orig/include/string.h libjsw-1.5.5/include/string.h
--- libjsw-1.5.5-orig/include/string.h 2004-12-21 07:55:58.000000000 +0200
+++ libjsw-1.5.5/include/string.h 2005-01-04 09:08:22.302388360 +0200
@@ -43,7 +43,7 @@
#ifdef __MSW__
extern int strcasecmp(const char *s1, const char *s2);
#endif
-extern char *strcasestr(const char *haystack, const char *needle);
+extern char *strcasestr(const char *haystack, const char *needle) throw();
extern int strpfx(const char *s, const char *pfx);
extern int strcasepfx(const char *s, const char *pfx);
diff -Naur libjsw-1.5.5-orig/libjsw/string.cpp libjsw-1.5.5/libjsw/string.cpp
--- libjsw-1.5.5-orig/libjsw/string.cpp 2004-12-21 07:55:57.000000000 +0200
+++ libjsw-1.5.5/libjsw/string.cpp 2005-01-04 09:07:50.399366008 +0200
@@ -28,7 +28,7 @@
#ifdef __MSW__
int strcasecmp(const char *s1, const char *s2);
#endif
-char *strcasestr(const char *haystack, const char *needle);
+char *strcasestr(const char *haystack, const char *needle) throw();
int strpfx(const char *s, const char *pfx);
int strcasepfx(const char *s, const char *pfx);
@@ -217,7 +217,7 @@
* Case insensitive version of strstr(). Returns the pointer to
* needle in haystack if found or NULL on no match.
*/
-char *strcasestr(const char *haystack, const char *needle)
+char *strcasestr(const char *haystack, const char *needle) throw()
{
const char *strptr1, *strptr2, *strptr3; |
_________________ Military Commissions Act of 2006: http://tinyurl.com/jrcto
"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin |
|
| Back to top |
|
 |
Nate_S Guru


Joined: 18 Mar 2004 Posts: 414
|
Posted: Tue Jan 04, 2005 8:48 am Post subject: |
|
|
Thanks. It appears to be a bug in g++ 3.3.4. I simply used gcc-config to switch to 3.4.2 and it emerged fine.
Is this something that would be worth making a bug report about? (I suppose I'll see if I can reproduce it on any of my other boxes)
-Nate |
|
| Back to top |
|
 |
moocha Watchman

Joined: 21 Oct 2003 Posts: 5722
|
Posted: Tue Jan 04, 2005 9:10 am Post subject: |
|
|
Sure it is, and it's very commendable of you to contribute feedback!
If you open a new bug in Bugzilla (provided that there isn't one already, might be worth searching), please make sure to assign the bug to vapier@gentoo.org (he's the maintainer). _________________ Military Commissions Act of 2006: http://tinyurl.com/jrcto
"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin |
|
| Back to top |
|
 |
kellwood Tux's lil' helper


Joined: 22 Dec 2002 Posts: 123 Location: Ann Arbor
|
Posted: Sat Mar 19, 2005 2:09 pm Post subject: |
|
|
| Just for the record, I have the same problems with jibjsw 1.5.5 and gcc 3.3.4. |
|
| Back to top |
|
 |
canek n00b


Joined: 01 Sep 2003 Posts: 28 Location: Ciudad de México, México
|
Posted: Sat Mar 19, 2005 4:49 pm Post subject: |
|
|
| Just for the record; I've the same problem with gcc 3.3.5. I'm reporting the bug in bugs.gentoo.org. |
|
| Back to top |
|
 |
canek n00b


Joined: 01 Sep 2003 Posts: 28 Location: Ciudad de México, México
|
|
| Back to top |
|
 |
CyD Tux's lil' helper

Joined: 23 Jul 2004 Posts: 117
|
Posted: Sat Mar 19, 2005 4:55 pm Post subject: |
|
|
yay, me too! think we could get a link to that bug?  |
|
| Back to top |
|
 |
novazur Guru

Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Sat Mar 19, 2005 7:02 pm Post subject: |
|
|
And the solution is ??
I tried to apply the patch, but I have always an error :
string.cpp:31: error: declaration of `char* strcasestr(const char*, const
char*)' throws different exceptions
../include/string.h:46: error: than previous declaration `char*
strcasestr(const char*, const char*) throw ()'
string.cpp: In function `char* strcasestr(const char*, const char*)':
string.cpp:221: error: declaration of `char* strcasestr(const char*, const
char*)' throws different exceptions
string.cpp:31: error: than previous declaration `char* strcasestr(const char*,
const char*) throw ()'
make: *** [string.o] Error 1
!!! ERROR: media-libs/libjsw-1.5.5 failed.
!!! Function src_compile, Line 36, Exitcode 2
!!! jscalibrator failed
!!! If you need support, post the topmost build error, NOT this status message. |
|
| Back to top |
|
 |
CyD Tux's lil' helper

Joined: 23 Jul 2004 Posts: 117
|
Posted: Sat Mar 19, 2005 9:50 pm Post subject: |
|
|
| guess i didn't find a solution, i just haven't merged it yet. maybe the new one could be user masked till its fixed? |
|
| Back to top |
|
 |
canek n00b


Joined: 01 Sep 2003 Posts: 28 Location: Ciudad de México, México
|
Posted: Sun Mar 20, 2005 12:40 am Post subject: |
|
|
1.5.5 is the last version; there is no new version. I put
| Code: | | >=media-libs/libjsw-1.5.4 |
in /etc/portacke/package.mask, so emerge -uDv world doesn't bother me trying to update libjsw; but the problem is there, even in the 1.5.4 version. |
|
| Back to top |
|
 |
HRH_H_Crab Tux's lil' helper

Joined: 30 Jul 2003 Posts: 115 Location: Sarf East Lahndahn
|
Posted: Sun Mar 20, 2005 12:47 pm Post subject: |
|
|
considering the fact that the only application my joypad seems to work in 100% is jscalibrator, the failure of libjsw to compile is a devastating blow to me.
more seriously, ive noticed that joy2key is also not compiling. i wonder if the two are related? |
|
| Back to top |
|
 |
Qubax Guru


Joined: 19 Jul 2002 Posts: 451 Location: Tirol, Austria
|
Posted: Tue Mar 22, 2005 8:10 pm Post subject: |
|
|
| i've got the same problem |
|
| Back to top |
|
 |
velociphile n00b


Joined: 29 Oct 2003 Posts: 43 Location: Sydney, Australia
|
Posted: Wed Mar 23, 2005 10:02 am Post subject: |
|
|
On this bug report there is an ebuild that works from thorsten. _________________ "1830: Press Return."
Vista will solve all your problems. People keep telling me so it must be true. |
|
| Back to top |
|
 |
Lars Apprentice


Joined: 06 Feb 2003 Posts: 171 Location: Germany, near baltic sea
|
Posted: Sat Apr 09, 2005 6:43 pm Post subject: |
|
|
My resolution
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild unpack |
goto it's unpacked directory /var/tmp/portage/libjsw... find all what has something todo with 'strcasestr' and remark it, don't forget, in *.h files use /* ... */ and in *.cpp files '// ...' is ok.
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild compile |
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild install |
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild postinst |
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild qmerge |
| Code: | | ebuild /usr/portage/media-libs/libjsw/libjsw-1.5.5.ebuild merge |
Maybe there are some ebuilds obsolete but shit happens, it works for me.
Within gcc 3.3.5, kernel 2.4.28
JM2C
Lars _________________
| Quote: | | Alles was nicht einfach ist, ist entweder falsch oder zu kompliziert. |
V.Glazounov |
|
| Back to top |
|
 |
ardnew n00b

Joined: 20 Apr 2005 Posts: 1
|
Posted: Wed Apr 20, 2005 2:42 am Post subject: |
|
|
The easiest resolution to this problem from what I can tell, is to use gcc-config to switch to the 3.4.3 profile.
2005.0 makes use of it anyway.
| Code: |
# gcc-config i686-pc-linux-gnu-3.4.3-20050110 && source /etc/profile
|
|
|
| Back to top |
|
 |
|