www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - B64 cpp code does not compile on Fedora 7/g++-4.1.2

reply Michael Coulman <michael.coulman mac.com> writes:
$ make -f makefile.unix
g++ -D_DEBUG -UNDEBUG   -c      -Dunix -DB64_NO_IMPLICIT_LINK   
-I../../include  -I"/opt/local/stlsoft/stlsoft-1.9.45/include"  -o 
example.cpp.1.debug.o ../../examples/cpp/example.cpp.1/example.cpp.1.cpp
/opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/st
ing/std/c_string.h: 
In function ‘stlsoft::ss_size_t stlsoft::c_str_size(const S&) [with S = 
std::basic_string<char, std::char_traits<char>, std::allocator<char> 
]’:
../../include/b64/b64.hpp:648: instantiated from here /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:854: error: no matching function for call to ‘c_str_len(const std::basic_string<char, std::char_traits<char>, std::allocator<char>
&)’
../../include/b64/b64.h:394: note: candidates are: size_t stlsoft::c_str_len(b64::B64_RC) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:302: note: stlsoft::ss_size_t stlsoft::c_str_len(const stlsoft::ss_char_a_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:331: note: stlsoft::ss_size_t stlsoft::c_str_len(const stlsoft::ss_char_w_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:854: error: no matching function for call to ‘c_str_ptr(const std::basic_string<char, std::char_traits<char>, std::allocator<char>
&)’
../../include/b64/b64.h:403: note: candidates are: const char* stlsoft::c_str_ptr(b64::B64_RC) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:427: note: const stlsoft::ss_char_a_t* stlsoft::c_str_ptr(const stlsoft::ss_char_a_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string std/c_string.h:454: note: const stlsoft::ss_char_w_t* stlsoft::c_str_ptr(const stlsoft::ss_char_w_t*) make: *** [example.cpp.1.debug.o] Error 1 $ g++ -v Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux Thread model: posix gcc version 4.1.2 20070925 (Red Hat 4.1.2-27) ~~~ I'd like to make use of the C++ flavor of B64, but it seems to be broken on Linux. TIA.
Jul 11 2008
next sibling parent reply Matthew <no-one nowhere.none.none> writes:
Hi

Sorry for the radio silence. I will be in a position to investigate this in 3-4
days' time, and expect to be able to effect a fix and have you up and running
within a day or so.

Cheers

Matt
Jul 19 2008
parent reply Michael Coulman <michael.coulman mac.com> writes:
On 2008-07-19 07:23:53 -1000, Matthew <no-one nowhere.none.none> said:

 Sorry for the radio silence. I will be in a position to investigate 
 this in 3-4 days' time, and expect to be able to effect a fix and have 
 you up and running within a day or so.
Thanks! I appreciate both the reply and the commitment.
Jul 19 2008
parent reply "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
Apologies for the ongoing delays with this. I've just addressed a couple of
other minor issues with the library -
http://www.digitalmars.com/webnews/newsgroups.php?art_group=c%2B%2B.stl
oft&article_id=1616 - and can now focus on this. Couple more
days at the most until we get a usable workaround; possibly another week for a
full fix.

HTH

Matt

"Michael Coulman" <michael.coulman mac.com> wrote in message
news:g5tg9g$30qb$3 digitalmars.com...
 On 2008-07-19 07:23:53 -1000, Matthew <no-one nowhere.none.none> said:

 Sorry for the radio silence. I will be in a position to investigate
 this in 3-4 days' time, and expect to be able to effect a fix and have
 you up and running within a day or so.
Thanks! I appreciate both the reply and the commitment.
Aug 02 2008
parent reply Michael Coulman <michael.coulman mac.com> writes:
On 2008-08-02 17:44:50 -1000, "Matthew Wilson" 
<matthew hat.stlsoft.dot.org> said:

 Apologies for the ongoing delays with this. I've just addressed a 
 couple of other minor issues with the library -
 http://www.digitalmars.com/webnews/newsgroups.php?art_group=c%2B%2B.stl
oft&article_id=1616 
 - and can now focus on this. Couple more
 days at the most until we get a usable workaround; possibly another 
 week for a full fix.
OK. I'm keeping my eye on this thread for the work around and/or fix. TIA.
Aug 03 2008
parent "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
Still working on it ...

"Michael Coulman" <michael.coulman mac.com> wrote in message
news:g7510h$9nt$1 digitalmars.com...
 On 2008-08-02 17:44:50 -1000, "Matthew Wilson"
 <matthew hat.stlsoft.dot.org> said:

 Apologies for the ongoing delays with this. I've just addressed a
 couple of other minor issues with the library -
 http://www.digitalmars.com/webnews/newsgroups.php?art_group=c%2B%2B.stlsoft&article_id=1616
 - and can now focus on this. Couple more
 days at the most until we get a usable workaround; possibly another
 week for a full fix.
OK. I'm keeping my eye on this thread for the work around and/or fix. TIA.
Aug 10 2008
prev sibling parent "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
I finally got to the bottom of this, and it's now resolved.

The problem is there's a subtle defect in GCC's lookup mechanism for resolving
types in function template overloads.

The new version, 1.3.4 (http://synesis.com.au/software/b64.html), contains a
workaround that's been tested on a bunch of different
compilers, including GCC 4.x versions on 32 and 64-bit Ubuntu.

Sorry it took so long ...

Matt


"Michael Coulman" <michael.coulman mac.com> wrote in message
news:g58a0i$1hbq$1 digitalmars.com...
 $ make -f makefile.unix
 g++ -D_DEBUG -UNDEBUG   -c      -Dunix -DB64_NO_IMPLICIT_LINK
 -I../../include  -I"/opt/local/stlsoft/stlsoft-1.9.45/include"  -o
 example.cpp.1.debug.o ../../examples/cpp/example.cpp.1/example.cpp.1.cpp
 /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:
 In function 'stlsoft::ss_size_t stlsoft::c_str_size(const S&) [with S =
 std::basic_string<char, std::char_traits<char>, std::allocator<char>
]':
../../include/b64/b64.hpp:648: instantiated from here /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:854: error: no matching function for call to 'c_str_len(const std::basic_string<char, std::char_traits<char>, std::allocator<char>
&)'
../../include/b64/b64.h:394: note: candidates are: size_t stlsoft::c_str_len(b64::B64_RC) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:302: note: stlsoft::ss_size_t stlsoft::c_str_len(const stlsoft::ss_char_a_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:331: note: stlsoft::ss_size_t stlsoft::c_str_len(const stlsoft::ss_char_w_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:854: error: no matching function for call to 'c_str_ptr(const std::basic_string<char, std::char_traits<char>, std::allocator<char>
&)'
../../include/b64/b64.h:403: note: candidates are: const char* stlsoft::c_str_ptr(b64::B64_RC) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:427: note: const stlsoft::ss_char_a_t* stlsoft::c_str_ptr(const stlsoft::ss_char_a_t*) /opt/local/stlsoft/stlsoft-1.9.45/include/stlsoft/shims/access/string/std/c_string.h:454: note: const stlsoft::ss_char_w_t* stlsoft::c_str_ptr(const stlsoft::ss_char_w_t*) make: *** [example.cpp.1.debug.o] Error 1 $ g++ -v Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux Thread model: posix gcc version 4.1.2 20070925 (Red Hat 4.1.2-27) ~~~ I'd like to make use of the C++ flavor of B64, but it seems to be broken on Linux. TIA.
Aug 24 2008