On Sun, February 9, 2014 6:15 am, Waitman Gobble wrote:
>

>
> On Sun, February 9, 2014 12:47 pm, Andrew Potter wrote:
>
>> On Sun, Feb 9, 2014 at 4:14 AM, Waitman Gobble <uzi...@da3m0n8t3r.com>
>> wrote:
>>
>>
>>> Program received signal SIGABRT, Aborted.
>>> [Switching to Thread 803006400 (LWP 100327)]
>>> 0x0000000801e313ba in kill () from /lib/libc.so.7
>>> (gdb) bt
>>> #0  0x0000000801e313ba in kill () from /lib/libc.so.7
>>> #1  0x0000000801e30069 in abort () from /lib/libc.so.7
>>> #2  0x00000008016ce7da in ?? () from /lib/libcxxrt.so.1
>>> #3  0x000000080085de68 in Glib::ConvertError::throw_func(_GError*) ()
>>> from /usr/local/lib/libglibmm-2.4.so.1 #4  0x000000080086ed2f in
>>> Glib::Error::throw_exception(_GError*) ()
>>> from /usr/local/lib/libglibmm-2.4.so.1 #5  0x000000080087bcc2 in
>>> Glib::ustring::FormatStream::to_string() const ()
>>> from /usr/local/lib/libglibmm-2.4.so.1 #6  0x0000000000401de0 in
>>> Glib::ustring::format<std::__1::ios_base&
>>> (std::__1::ios_base&), std::__1::__iom_t5, double>(std::__1::ios_base&
>>> (
>>> const&)(std::__1::ios_base&), std::__1::__iom_t5 const&, double
>>> const&) ( a1=@0x401e50: {std::__1::ios_base &(std::__1::ios_base &)}
>>> 0x401e50
>>> <std::__1::fixed(std::__1::ios_base&)>, a2=..., a3=@0x7fffffffd860:
>>> 3.1428571428571428)
>>> at /usr/local/include/glibmm-2.4/glibmm/ustring.h:1158 #7
>>> 0x0000000000401696 in main () at testglib.cpp:9
>>> (gdb)
>>>
>>>
>>
>> The code works fine for me, but I'm on Linux.
>> FormatStream::to_string() has plenty of #ifdefs so its not entirely
>> obvious what's happening.
>>
>> Can you catch the exception and print out the Glib::Error::what() ?
>>
>>
>>
>> Thanks.
>> _______________________________________________
>> gtkmm-list mailing list gtkmm-list@gnome.org
>> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>>
>>
>
> Thanks Andrew, that helps. I'm no c++ ace.
>
>
> #include <iostream>
> #include <iomanip>
> #include <glibmm.h>
> #include <glib.h>
>
>
> int main() {
>
> double value = 22.0 / 7.0; std::cout << value << std::endl;
>
>
> try { Glib::ustring test =
> Glib::ustring::format(std::fixed,std::setprecision(2),value);
> } catch (Glib::Error e) {
> std::cout << "oops " << e.what() << std::endl;
> }
>
>
> }
>
>
>
>
> # clang++ -o testglib `pkg-config --cflags --libs gtkmm-2.4` testglib.cpp
>
>
> /testglib
> 3.14286
> oops Could not open converter from 'WCHAR_T' to 'UTF-8'
>
> Thank you,
>
>
>
> --
> Waitman Gobble
> San Jose California USA
> +1.510-830-7975
>
>
>
> --
> Waitman Gobble
> San Jose California USA
> +1.510-830-7975
>
>
> _______________________________________________
> gtkmm-list mailing list gtkmm-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
>

I believe this program is fixed by changing the 'USES' line in the glib20
port Makefile on FreeBSD.. add wchar_t

USES=gettext gmake iconv:wchar_t pathfix pkgconfig shebangfix perl5

seems to solve the problem,

Thanks for your help tracking this down.



-- 
Waitman Gobble
San Jose California USA
+1.510-830-7975


-- 
Waitman Gobble
San Jose California USA
(510) 830-7975
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to