[sword-devel] gcc 3.4

Jon Hood sword-devel@crosswire.org
Tue, 20 Apr 2004 16:31:09 +0000


--=-v1zmFMX+LqqVFpSFvcJI
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I am having trouble with SWORD 1.5.7 compiled under the gcc-3.4
prerelease.
Note the following:

---TRY ONE, gcc_pre---
<snipetty snip>
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -DUSE_AUTOTOOLS -DUNIX
-DSWICU_DATA=3D\"/usr/lib/sword/1.5.7_icu_2.8\" -D_ICU_ -O3
-march=3Dpentium4 -funroll-loops -pipe -ftemplate-depth-25 -DCURLAVAILABLE
-MT treekey.lo -MD -MP -MF .deps/treekey.Tpo -c ../src/keys/treekey.cpp
>/dev/null 2>&1
distcc[8083] ERROR: compile on localhost failed
In file included from ../include/swconfig.h:31,
                 from ../include/localemgr.h:28,
                 from ../src/keys/versekey.cpp:21:
../include/multimapwdef.h: In member function `T&
sword::multimapwithdefault<Key, T, Compare>::getWithDefault(const Key&,
const T&)':
../include/multimapwdef.h:15: error: there are no arguments to `end'
that depend on a template parameter, so a declaration of `end' must be
available
../include/multimapwdef.h:15: error: (if you use `-fpermissive', G++
will accept your code, but allowing the use of an undeclared name is
deprecated)
../include/multimapwdef.h: In member function `T&
sword::multimapwithdefault<Key, T, Compare>::operator[](const Key&)':
../include/multimapwdef.h:22: error: there are no arguments to `end'
that depend on a template parameter, so a declaration of `end' must be
available
make[2]: *** [versekey.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f .libs/treekey.lo treekey.lo
make[2]: Leaving directory
`/var/tmp/portage/sword-1.5.7/work/sword-1.5.7/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/sword-1.5.7/work/sword-1.5.7'
make: *** [all] Error 2

---TRY TWO, gcc 3.4_pre WITH -fpermissive---
<compiles fine, with repetitive warnings similar to those in try one,
but continues with the build>
# diatheke -b KJV -k "God"
Segmentation fault
$ bibletime
bibletime: relocation error: /usr/lib/libsword.so.3: undefined symbol:
_ZNSs4_Rep20_S_empty_rep_storageE

--TRY THREE, SWORD WITH GCC 3.3, BIBLETIME/GNOMESWORD WITH 3.4--
from dialogs.cc:22:
/usr/include/sword/multimapwdef.h: In member function `T& sword::multimapwi=
thdefault<Key, T, Compare>::getWithDefault(const Key&, const T&)':
/usr/include/sword/multimapwdef.h:15: error: there are no arguments to `end=
' that depend on a template parameter, so a declaration of `end' must be av=
ailable
/usr/include/sword/multimapwdef.h:15: error: (if you use `-fpermissive', G+=
+ will accept your code, but allowing the use of an undeclared name is depr=
ecated)
/usr/include/sword/multimapwdef.h: In member function `T& sword::multimapwi=
thdefault<Key, T, Compare>::operator[](const Key&)':
/usr/include/sword/multimapwdef.h:22: error: there are no arguments to `end=
' that depend on a template parameter, so a declaration of `end' must be av=
ailable
make[3]: *** [dialogs.o] Error 1


--END SNIPPETS--


>numerous segfaults in program with -fpermissive<
reference: http://gcc.gnu.org/onlinedocs/gcc/Name-lookup.html
Gcc 3.4 is coming, let's clean up the code and get ready for it :).

-Jon
--=20
AIM: Squinky01
Yahoo!: Squinky86
ICQ: 160940989
Jabber: squinky86@im.gentoo.org

--=-v1zmFMX+LqqVFpSFvcJI
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBAhVBNoOpj+CCT7WARAuoAAJ0T6afnSErrWd1Ipjdtr5V51nJPIwCgj9FC
ml34yl2NqH2EEOVGUqo9oBo=
=QgRl
-----END PGP SIGNATURE-----

--=-v1zmFMX+LqqVFpSFvcJI--