Hi. Been building and rebuilding gdal-3.3.0-dev and arrive at this output:
chris@jacie:~$ gdalinfo --version GDAL 3.3.0dev-96fab634a5, released 2021/03/02 free(): invalid pointer Aborted two version of libproj are involved: chris@jacie:~$ ldd /usr/local/bin/gdalinfo | grep libproj libproj.so.22 => /usr/local/lib/libproj.so.22 (0x00007f3a6cecc000) libproj.so.19 => /usr/local/lib/libproj.so.19 (0x00007f3a659da000) This is because when built with libproj.so.22 only, gdalinfo complained libproj.so.19 couldn't be loaded on attempting to execute. libproj.so.22 is in /usr/local and prjo.h is from libproj.so.22, also in /usr/local. 19 is ln from /usr/local/lib. in gdb I get: gdb) set substitute-path /build/glibc-eX1tMB/glibc-2.31 /home/chris/glibc-2.31 (gdb) frame 1 #1 0x00007f8b2a4a3859 in __GI_abort () at abort.c:79 79 raise (SIGABRT); (gdb) frame 2 #2 0x00007f8b2a50e3ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f8b2a638285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155 155 abort (); (gdb) frame 3 #3 0x00007f8b2a51647c in malloc_printerr ( str=str@entry=0x7f8b2a6364ae "free(): invalid pointer") at malloc.c:5347 5347 __libc_message (do_abort, "%s\n", str); (gdb) frame 4 #4 0x00007f8b2a517cac in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4173 4173 malloc_printerr ("free(): invalid pointer"); (gdb) frame 5 #5 0x00007f8b27035480 in __gnu_cxx::new_allocator<char>::deallocate ( this=0x557019391ff0, __p=<optimized out>) at /usr/include/c++/9/ext/new_allocator.h:119 119 deallocate(pointer __p, size_type) (gdb) frame 6 #6 std::allocator_traits<std::allocator<char> >::deallocate (__a=..., __n=<optimized out>, __p=<optimized out>) at /usr/include/c++/9/bits/alloc_traits.h:470 470 { __a.deallocate(__p, __n); } (gdb) frame 7 #7 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy (__size=<optimized out>, this=0x557019391ff0) at /usr/include/c++/9/bits/basic_string.h:237 237 { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } (gdb) frame 8 #8 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose (this=0x557019391ff0) at /usr/include/c++/9/bits/basic_string.h:232 232 _M_destroy(_M_allocated_capacity); (gdb) frame 9 #9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=0x557019391ff0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/basic_string.h:658 658 { _M_dispose(); } (gdb) frame 10 #10 osgeo::proj::common::UnitOfMeasure::Private::~Private ( this=0x557019391ff0, __in_chrg=<optimized out>) at iso19111/common.cpp:72 72 struct UnitOfMeasure::Private { (gdb) frame 11 #11 std::default_delete<osgeo::proj::common::UnitOfMeasure::Private>::operator() (this=0x7f8b272e1f60 <osgeo::proj::common::UnitOfMeasure::PPM_PER_YEAR+16>, __ptr=0x557019391ff0) at /usr/include/c++/9/bits/unique_ptr.h:81 81 delete __ptr; (gdb) frame 12 #12 std::unique_ptr<osgeo::proj::common::UnitOfMeasure::Private, std::default_delete<osgeo::proj::common::UnitOfMeasure::Private> >::~unique_ptr ( this=0x7f8b272e1f60 <osgeo::proj::common::UnitOfMeasure::PPM_PER_YEAR+16>, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:292 292 get_deleter()(std::move(__ptr)); (gdb) frame 13 #13 osgeo::proj::common::UnitOfMeasure::~UnitOfMeasure ( this=0x7f8b272e1f50 <osgeo::proj::common::UnitOfMeasure::PPM_PER_YEAR>, __in_chrg=<optimized out>) at ../include/proj/common.hpp:60 60 class PROJ_GCC_DLL UnitOfMeasure : public util::BaseObject { (gdb) frame 14 #14 0x00007f8b2a4c815e in __cxa_finalize (d=0x7f8b1fdec720) at cxa_finalize.c:83 83 cxafn (cxaarg, 0); (gdb) frame 15 #15 0x00007f8b1fb399b7 in __do_global_dtors_aux () from /usr/local/lib/libproj.so.19 (gdb) frame 16 #16 0x00007ffe33879550 in ?? () (gdb) frame 17 #17 0x00007f8b2d55ef5b in _dl_fini () at dl-fini.c:138 138 ((fini_t) array[i]) (); Haven't been able to further clarify frame 16 function call. Which I guess would be useful. Any thoughts on how to proceed greatly appreciated. Chris
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev