Posted on 2008-11-25 23:42:12-08 by gcb in response to 9426
Re: failing to compile in USE_ARCH=64 guise?
As requested- ; Starting program: /usr/bin/perl -I blib/lib -I blib/arch -MGlib::GenPod -MGlib -e "add_types (qq(doctypes)); Glib::GenPod::set_copyright(qq{Copyright (C) 2003-2008 by the gtk2-perl team.\n\nThis software is licensed under the LGPL. See L<Glib> for a full notice.\n}); Glib::GenPod::set_main_mod(qq(Glib)); xsdoc2pod(q(build/doc.pl), q(blib/lib), q(build/podindex));" Executing new program: /usr/bin/perl-64 [Thread debugging using libthread_db enabled] [New Thread 0x7fab721536f0 (LWP 9702)] Loaded 8 extra types from doctypes
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fab721536f0 (LWP 9702)] 0x00007fab6bcc2da3 in XS_Glib__Type_list_values (my_perl=<value optimized out>, cv=<value optimized out>) at GType.xs:2619 2619 for ( ; v && v->value_nick && v->value_name ; v++) { (gdb) bt #0 0x00007fab6bcc2da3 in XS_Glib__Type_list_values (my_perl=<value optimized out>, cv=<value optimized out>) at GType.xs:2619 #1 0x000000000046a6bc in Perl_pp_entersub () #2 0x0000000000468c4e in Perl_runops_standard () #3 0x0000000000464679 in perl_run () #4 0x000000000041ecbc in main ()
Regarding valgrind run, yes, I missed -I blib/lib (you missed it too in your example cmdline to run ..which explains my fault ;-), howsoever adding this missing include path (and with debugging still enabled) results in a segfault and no useful info... valgrind --tool=memcheck --num-callers=100 /usr/bin/perl -I blib/arch -I blib/lib -MGlib::GenPod -MGlib -e "add_types (qq(doctypes)); Glib::GenPod::set_copyright(qq{Copyright (C) 2003-2008 by the gtk2-perl team.\n\nThis software is licensed under the LGPL. See L<Glib> for a full notice.\n}); Glib::GenPod::set_main_mod(qq(Glib)); xsdoc2pod(q(build/doc.pl), q(blib/lib), q(build/podindex));" ==9708== Memcheck, a memory error detector. ==9708== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==9708== Using LibVEX rev 1854, a library for dynamic binary translation. ==9708== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==9708== Using valgrind-3.3.1, a dynamic binary instrumentation framework. ==9708== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==9708== For more details, rerun with: -v ==9708== Loaded 8 extra types from doctypes Segmentation fault FWIW, /usr/bin/perl here is a multiarch wrapper to either /usr/bin/perl-32 or /usr/bin/perl-64, with latter being considered native. This all works just fine in 32bit guise btw. If things are derailing in Glib::Type::list_values() and (I'm guessing here) this is in GType.xs , a 64bit build attempt throws half a dozen warnings about "cast to pointer from integer of different size" here. More than one .xs throws these warnings -- this is not so in 32bit guise. Thanks for the help with this - as always, need anything else, just ask
Direct Responses: 9549 | Write a response
Perl Weekly newsletter
A free weekly newsletter for people who are busy to read all the blogs. click here to check it out.