DM, As mentioned elsewhere, here is the compile error from gcc when trying to cross-build osis2mod. It appears to be a case where the function exists but is not namespaced to `std::` in whichever version of C++ is the default version. From a quick glance around it appears there is a difference between <string.h>, which defines the function for C and <cstring> which defines the function for C++ within the `std` namespace.
--Greg sword> osis2mod.cpp:371:19: error: 'strpbrk' is not a member of 'std'; did you mean 'strpbrk'? sword> 371 | if (!std::strpbrk(bufStart, "! :")) { sword> | ^~~~~~~ sword> In file included from /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/io.h: 10, sword> from /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/fcntl .h:8, sword> from osis2mod.cpp:29: sword> /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/string.h:92:31: note: 'strp brk' declared here sword> 92 | _CONST_RETURN char *__cdecl strpbrk(const char *_Str,const char *_Control); sword> | ^~~~~~~ sword> osis2mod.cpp:392:40: error: 'strpbrk' is not a member of 'std'; did you mean 'strpbrk'? sword> 392 | char* lookahead = std::strpbrk(bufRead, ": -"); sword> | ^~~~~~~ sword> /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/string.h:92:31: note: 'strp brk' declared here sword> 92 | _CONST_RETURN char *__cdecl strpbrk(const char *_Str,const char *_Control); sword> | ^~~~~~~ sword> osis2mod.cpp:411:34: error: 'strpbrk' is not a member of 'std'; did you mean 'strpbrk'? sword> 411 | lookahead = std::strpbrk(bufRead, "! -"); sword> | ^~~~~~~ sword> /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/string.h:92:31: note: 'strp brk' declared here sword> 92 | _CONST_RETURN char *__cdecl strpbrk(const char *_Str,const char *_Control); sword> osis2mod.cpp:434:40: error: 'strpbrk' is not a member of 'std'; did you mean 'strpbrk'? sword> 434 | bufRead = std::strpbrk(tokenStart, " -"); sword> | ^~~~~~~ sword> /nix/store/np3pb3a6wd1bf55hp0rl3i64mfzrcilm-x86_64-w64-mingw32-gcc-14.2.1.20250322/x86_64-w64-mingw32/sys-include/string.h:92:31: note: 'strp brk' declared here sword> 92 | _CONST_RETURN char *__cdecl strpbrk(const char *_Str,const char *_Control); sword> | ^~~~~~~ On Mon, Jul 7, 2025 at 4:14 PM DM Smith <dmsm...@crosswire.org> wrote: > I have just committed revision 3907 for osis2mod, adding location > information to messages so that one can more readily tie reported events to > the OSIS input file. > > I have updated the osis2mod wiki entry to document it more fully: > https://wiki.crosswire.org/Osis2mod#Messages > > MODTOOLS-25 give location in input for messages. > > Created identifyMsg which creates a standardized message for reporting > and used it for all messages to standard out. > > The message is of the form: > type(kind)[linePos,charPos] osisID=osisID: message > > Where: > type The message type (e.g., "ERROR", "WARNING", "INFO"). > kind The message category or kind (e.g., "REF", "PARSE"). > linePos The position in the file of the last line that was read. > charPos The position in the line of the last character that was > read. > osisID (Optional) The current OSIS ID to include. May be nullptr > or empty. > message event description with details > > * If linePos is 0, the position ([linePos,charPos]) is omitted. > * If osisID is nullptr or empty, the osisID part is omitted. > * The returned string always ends with a colon and a trailing space (": “). > > In Him, > DM > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page >
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page