Opened 4 years ago

Closed 4 years ago

#12766 closed build error (fixed)

wcsftime not available under OpenBSD

Reported by: bleakgadfly Owned by:
Priority: blocker Milestone:
Component: build Version: stable-latest
Keywords: compile error Cc:
Blocked By: Blocking:
Patch: no

Description

I am trying to compile wxWidgets on OpenBSD 4.8, i386, and are getting the following error after running:
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic

The error:
In file included from ../include/wx/crt.h:20,

from ../include/wx/string.h:4280,
from ../include/wx/memory.h:16,
from ../include/wx/object.h:20,
from ../include/wx/utils.h:19,
from ../include/wx/vector.h:31,
from ../src/stc/scintilla/src/Selection.h:134,
from ../src/stc/scintilla/src/Editor.cxx:41:

../include/wx/wxcrt.h: In function 'size_t wxStrftime(wchar_t*, size_t, const wxString&, const tm*)':
../include/wx/wxcrt.h:941: error: 'wcsftime' was not declared in this scope

Attachments (2)

makelog.txt download (161.1 KB) - added by bleakgadfly 4 years ago.
Log of the compilation process
logfil.txt download (33.0 KB) - added by bleakgadfly 4 years ago.
Configure logfile

Download all attachments as: .zip

Change History (4)

Changed 4 years ago by bleakgadfly

Log of the compilation process

Changed 4 years ago by bleakgadfly

Configure logfile

comment:1 Changed 4 years ago by vadz

  • Summary changed from wcsftime not declared in this scope to wcsftime not available under OpenBSD

It seems like wcsftime() is genuinely unavailable under OpenBSD, at least I can't find any mention of it in the system headers (not to bash fellow open source developers but how is it possible to have such horrible Unicode support in this day and age?).

So I'll add a check for it to configure, please retest with the latest svn (I don't have 4.8 here, all I have is a 4.1 VM and I can't bring myself to make 7 consecutive upgrades to bring it up to the latest version as I'm apparently supposed to...). Thanks in advance!

comment:2 Changed 4 years ago by VZ

  • Resolution set to fixed
  • Status changed from new to closed

(In [66446]) Test for wcsftime() in configure as it's not available everywhere.

Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be
available under quite all the systems, notably it doesn't seem to be present
in OpenBSD at all, even in the very latest version.

Add a configure test for this function and fall back to our own implementation
if the system doesn't have it.

Closes #12766.

Note: See TracTickets for help on using tickets.