<div dir="ltr"><div><div>For what it's worth, rather than try and continually chase the API changes, in<br>Tribblix I recently dropped the mapfile entirely, and Solaris has done the same<br>(the file is in the repo, but it's no longer used). I suggest you follow that path too.<br></div><div><br><a href="https://twitter.com/ptribble/status/1592625542435835905">https://twitter.com/ptribble/status/1592625542435835905</a><br><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 10, 2023 at 7:42 AM Tim Mooney via oi-dev <<a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
All-<br>
<br>
I think the mapfile that's being used with our sqlite-3 is out of date,<br>
and it's causing symbols that should be part of the public API to be<br>
tagged as 'local', rather than 'global'.<br>
<br>
The two I've noticed that should be 'global' are<br>
<br>
        sqlite3_bind_pointer<br>
        sqlite3_result_blob64<br>
<br>
but now that I know it's because of our mapfile, I've found many more,<br>
and I've only begun looking.   Example:<br>
<br>
        <a href="https://www.sqlite.org/bindptr.html" rel="noreferrer" target="_blank">https://www.sqlite.org/bindptr.html</a><br>
<br>
Those functions were added at 3.20.0 in 2017, but are being marked 'local'<br>
by our mapfile.<br>
<br>
If I modify our mapfile so the most recent group:<br>
<br>
SYMBOL_VERSION sqlite_3.31.1 {<br>
     global:<br>
         sqlite3_column_origin_name;<br>
         sqlite3_column_origin_name16;<br>
         sqlite3_column_table_name;<br>
         sqlite3_column_table_name16;<br>
         sqlite3_drop_modules;<br>
         sqlite3_filename_database;<br>
         sqlite3_filename_journal;<br>
         sqlite3_filename_wal;<br>
         sqlite3_hard_heap_limit64;<br>
         sqlite3_keyword_check;<br>
         sqlite3_keyword_count;<br>
         sqlite3_keyword_name;<br>
         sqlite3_stmt_isexplain;<br>
         sqlite3_uri_key;<br>
         sqlite3_value_frombind;<br>
} sqlite_3.19.0;<br>
<br>
<br>
Becomes something like this:<br>
<br>
SYMBOL_VERSION sqlite_3.31.1 {<br>
     global:<br>
                # some symbols listed here<br>
} sqlite_3.28.0;<br>
<br>
SYMBOL_VERSION sqlite_3.28.0 {<br>
     global:<br>
                # some symbols listed here<br>
} sqlite_3.23.0;<br>
<br>
SYMBOL_VERSION sqlite_3.23.0 {<br>
     global:<br>
                # some symbols listed here<br>
} sqlite_3.22.0;<br>
<br>
SYMBOL_VERSION sqlite_3.22.0 {<br>
     global:<br>
                # some symbols listed here<br>
} sqlite_3.20.0;<br>
<br>
SYMBOL_VERSION sqlite_3.20.0 {<br>
     global:<br>
                # some symbols listed here<br>
} sqlite_3.19.0;<br>
<br>
<br>
is that going to break everything that uses symbols in the current<br>
sqlite_3.31.1 "block"?  Obviously I would add blocks for function<br>
additions since 3.31.1.<br>
<br>
BTW, I looked at the Solaris userland mapfile for sqlite-3 and theirs<br>
differs significantly from ours, but it actually appears ours is more<br>
up to date.<br>
<br>
Tim<br>
-- <br>
Tim Mooney                                             <a href="mailto:Tim.Mooney@ndsu.edu" target="_blank">Tim.Mooney@ndsu.edu</a><br>
Enterprise Computing & Infrastructure /<br>
Division of Information Technology    /                701-231-1076 (Voice)<br>
North Dakota State University, Fargo, ND 58105-5164<br>
<br>
_______________________________________________<br>
oi-dev mailing list<br>
<a href="mailto:oi-dev@openindiana.org" target="_blank">oi-dev@openindiana.org</a><br>
<a href="https://openindiana.org/mailman/listinfo/oi-dev" rel="noreferrer" target="_blank">https://openindiana.org/mailman/listinfo/oi-dev</a><br>
</blockquote></div><br clear="all"><br><span>-- </span><br><div dir="ltr">-Peter Tribble<br><a href="http://www.petertribble.co.uk/" target="_blank">http://www.petertribble.co.uk/</a> - <a href="http://ptribble.blogspot.com/" target="_blank">http://ptribble.blogspot.com/</a></div>