Compiling wxWidgets 3.1.1 in Termux

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

The errors are all regarding automatic conversion between wxString and const wxChar *. I think this is because of the "--disable-unsafe_conv_in_wxstring" option.

What happens without that?
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Tue Jul 16, 2019 8:11 pm The errors are all regarding automatic conversion between wxString and const wxChar *. I think this is because of the "--disable-unsafe_conv_in_wxstring" option.

What happens without that?
Let me try that.
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Tue Jul 16, 2019 8:11 pm The errors are all regarding automatic conversion between wxString and const wxChar *. I think this is because of the "--disable-unsafe_conv_in_wxstring" option.

What happens without that?
I had basically the same problems with and without the --disable... So I didn't post them here. But my next build is w/o the --disable-... option.

I changed the configuration options for Audacity and then things changed, as follows:

Code: Select all

dirs='--prefix=/data/data/com.termux/files/usr  --exec-prefix=/data/data/com.termux/files/usr --sbindir=/data/data/com.termux/files/usr/bin --libexecdir=/data/data/com.termux/files/usr/lib --includedir=/data/data/com.termux/files/usr/include --oldincludedir=/data/data/com.termux/files/usr/include --localedir=/data/data/com.termux/files/usr/share/locale --datarootdir=/data/data/com.termux/files/usr/share'
# from:
#../configure $dirs --disable-dynamic-loading --with-ffmpeg=system --with-midi=no --with-portmidi=no --disable-nls --disable-rpath --enable-libmad --with-libid3tag --enable-unicode >& conf.out
# to:
../configure $dirs --disable-dynamic-loading --with-ffmpeg=system --with-midi=no --with-portmidi=no --enable-libmad --with-libid3tag --enable-unicode >& conf.out
The output of the configure (not the log) is here:
conf.out.txt
(91.54 KiB) Downloaded 237 times
And the make output is here:
make.out.txt
(509.14 KiB) Downloaded 247 times
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

I had basically the same problems with and without the --disable... So I didn't post them here. But my next build is w/o the --disable-... option.
Sorry if that wasn't clear: The "--disable-unsafe_conv_in_wxstring" option is something you need to remove when building wxWidgets. Not Audacity.
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Tue Jul 16, 2019 10:56 pm
I had basically the same problems with and without the --disable... So I didn't post them here. But my next build is w/o the --disable-... option.
Sorry if that wasn't clear: The "--disable-unsafe_conv_in_wxstring" option is something you need to remove when building wxWidgets. Not Audacity.
Maybe **I** was not clear. I removed --disable-unsafe_conv_in_wxstring from wxWidgets. wx was building with and w/o --disable... The problems occur when I build Audacity down the road. I believe that both the problems in building wx w/o --disable-xlocale and Audacity have a common root cause.
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

I removed --disable-unsafe_conv_in_wxstring from wxWidgets. wx was building with and w/o --disable..
Ok, then definitely don't use that option.

The next two candidates would be "--enable-utf8" and "--enable-utf8only". I don't know exactly what they do internally, so you have to experiment a little.
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Tue Jul 16, 2019 11:18 pm
I removed --disable-unsafe_conv_in_wxstring from wxWidgets. wx was building with and w/o --disable..
Ok, then definitely don't use that option.

The next two candidates would be "--enable-utf8" and "--enable-utf8only". I don't know exactly what they do internally, so you have to experiment a little.
With:
dirs='--prefix=/data/data/com.termux/files/usr --exec-prefix=/data/data/com.termux/files/usr --sbindir=/data/data/com.termux/files/usr/bin --libexecdir=/data/data/com.termux/files/usr/lib --includedir=/data/data/com.termux/files/usr/include --oldincludedir=/data/data/com.termux/files/usr/include --localedir=/data/data/com.termux/files/usr/share/locale --datarootdir=/data/data/com.termux/files/usr/share'
../configure $dirs --with-gtk=2 --enable-cmdline --with-expat=builtin --enable-stl --with-sdl --enable-utf8 --enable-gui >& config.out&

make gets:

Code: Select all

(cd /data/data/com.termux/files/home/wxWidgets/build3/lib/; rm -f libwx_gtk2u_richtext-3.1.so libwx_gtk2u_richtext-3.1.so.1; ln -s libwx_gtk2u_richtext-3.1.so.1.0.0 libwx_gtk2u_richtext-3.1.so.1; ln -s libwx_gtk2u_richtext-3.1.so.1 libwx_gtk2u_richtext-3.1.so)
g++ -o wxrc wxrc_wxrc.o    -L/data/data/com.termux/files/home/wxWidgets/build3/lib  -pthread -llog -v --system-header-prefix=/data/data/com.termux/files/usr  -L/data/data/com.termux/files/usr/lib    -lwx_baseu_xml-3.1  -lwx_baseu-3.1     -lwxregexu-3.1 -lwxexpat-3.1 -pthread -llog -v --system-header-prefix=/data/data/com.termux/files/usr  -L/data/data/com.termux/files/usr/lib   -lz -liconv -lm  -lz -liconv -lm
clang version 8.0.0 (tags/RELEASE_800/final)
Target: aarch64-unknown-linux-android
Thread model: posix
InstalledDir: /data/data/com.termux/files/usr/bin
 "/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld" -pie -EL --fix-cortex-a53-843419 -z now -z relro -z max-page-size=4096 --hash-style=both --enable-new-dtags -rpath=/data/data/com.termux/files/usr/lib --eh-frame-hdr -m aarch64linux -dynamic-linker /system/bin/linker64 -o wxrc /data/data/com.termux/files/usr/lib/crtbegin_dynamic.o -L/data/data/com.termux/files/home/wxWidgets/build3/lib -L/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/bin/../lib wxrc_wxrc.o -llog -lwx_baseu_xml-3.1 -lwx_baseu-3.1 -lwxregexu-3.1 -lwxexpat-3.1 -llog -lz -liconv -lm -lz -liconv -lm -lc++_shared -lgcc -ldl -lm -lc -lgcc -ldl /data/data/com.termux/files/usr/lib/crtend_android.o
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::OnRun()':
wxrc.cpp:(.text+0xdcc): undefined reference to `wxCmdLineParser::Init()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xddc): undefined reference to `wxCmdLineParser::SetCmdLine(int, wxCmdLineArgsArray const&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xdec): undefined reference to `wxCmdLineParser::SetDesc(wxCmdLineEntryDesc const*)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xdf8): undefined reference to `wxCmdLineParser::Parse(bool)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xe70): undefined reference to `wxCmdLineParser::~wxCmdLineParser()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xe90): undefined reference to `wxCmdLineParser::~wxCmdLineParser()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::ParseParams(wxCmdLineParser const&)':
wxrc.cpp:(.text+0xed4): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf00): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf2c): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf58): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf8c): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:wxrc.cpp:(.text+0xfc0): more undefined references to `wxCmdLineParser::Found(wxString const&) const' follow
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::ParseParams(wxCmdLineParser const&)':
wxrc.cpp:(.text+0x1030): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x105c): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x1434): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x145c): undefined reference to `wxCmdLineParser::GetParamCount() const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x1478): undefined reference to `wxCmdLineParser::GetParam(unsigned long) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x149c): undefined reference to `wxCmdLineParser::GetParamCount() const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::MakePackageCPP(wxArrayString const&)':
wxrc.cpp:(.text+0x3560): undefined reference to `wxTheMimeTypesManager'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3564): undefined reference to `wxTheMimeTypesManager'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3570): undefined reference to `wxMimeTypesManager::GetFileTypeFromExtension(wxString const&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3584): undefined reference to `wxFileType::GetMimeType(wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x358c): undefined reference to `wxFileType::~wxFileType()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x310): undefined reference to `wxAppConsoleBase::OnInitCmdLine(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x318): undefined reference to `wxAppConsoleBase::OnCmdLineParsed(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x320): undefined reference to `wxAppConsoleBase::OnCmdLineHelp(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x328): undefined reference to `wxAppConsoleBase::OnCmdLineError(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu-3.1.so: undefined reference to `wxAppTraits::GetEventLoopSourcesManager()'
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:114: wxrc] Error 1
make[1]: Leaving directory '/data/data/com.termux/files/home/wxWidgets/build3/utils/wxrc'
make: *** [Makefile:15163: wxrc] Error 2
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

That's a linker error, that's new. But the missing references should be in base (wx_baseu-3.1).

Code: Select all

make[1]: Leaving directory '/data/data/com.termux/files/home/wxWidgets/build3/utils/wxrc'
This is a little strange, at least under Windows, the /utils directory is not part of the build process for the library.

Sorry, but i have no idea how to fix this.
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Wed Jul 17, 2019 7:05 am That's a linker error, that's new. But the missing references should be in base (wx_baseu-3.1).

Code: Select all

make[1]: Leaving directory '/data/data/com.termux/files/home/wxWidgets/build3/utils/wxrc'
This is a little strange, at least under Windows, the /utils directory is not part of the build process for the library.

Sorry, but i have no idea how to fix this.
Well, you know where the functions are... that was a huge help. =D>

In fact, it seemed that my Makefile was wrong. I've rearranged the -L and the -l statements, but still no luck:

Code: Select all

$ gvim Makefile 
$ make
#g++ -o wxrc wxrc_wxrc.o    -L/data/data/com.termux/files/home/wxWidgets/build3/lib  -pthread -llog -v --system-header-prefix=/data/data/com.termux/files/usr  -L/data/data/com.termux/files/usr/lib    -lwx_baseu_xml-3.1  -lwx_baseu-3.1     -lwxregexu-3.1 -lwxexpat-3.1 -pthread -llog -v --system-header-prefix=/data/data/com.termux/files/usr  -L/data/data/com.termux/files/usr/lib   -lz -liconv -lm  -lz -liconv -lm
g++ -o wxrc wxrc_wxrc.o    -L/data/data/com.termux/files/home/wxWidgets/build3/lib  -lwx_baseu_xml-3.1  -lwx_baseu-3.1     -lwxregexu-3.1 -lwxexpat-3.1 -pthread -llog -v -L/data/data/com.termux/files/usr/lib   -lz -liconv -lm  
clang version 8.0.0 (tags/RELEASE_800/final)
Target: aarch64-unknown-linux-android
Thread model: posix
InstalledDir: /data/data/com.termux/files/usr/bin
 "/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld" -pie -EL --fix-cortex-a53-843419 -z now -z relro -z max-page-size=4096 --hash-style=both --enable-new-dtags -rpath=/data/data/com.termux/files/usr/lib --eh-frame-hdr -m aarch64linux -dynamic-linker /system/bin/linker64 -o wxrc /data/data/com.termux/files/usr/lib/crtbegin_dynamic.o -L/data/data/com.termux/files/home/wxWidgets/build3/lib -L/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/bin/../lib wxrc_wxrc.o -lwx_baseu_xml-3.1 -lwx_baseu-3.1 -lwxregexu-3.1 -lwxexpat-3.1 -llog -lz -liconv -lm -lc++_shared -lgcc -ldl -lm -lc -lgcc -ldl /data/data/com.termux/files/usr/lib/crtend_android.o
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::OnRun()':
wxrc.cpp:(.text+0xdcc): undefined reference to `wxCmdLineParser::Init()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xddc): undefined reference to `wxCmdLineParser::SetCmdLine(int, wxCmdLineArgsArray const&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xdec): undefined reference to `wxCmdLineParser::SetDesc(wxCmdLineEntryDesc const*)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xdf8): undefined reference to `wxCmdLineParser::Parse(bool)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xe70): undefined reference to `wxCmdLineParser::~wxCmdLineParser()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xe90): undefined reference to `wxCmdLineParser::~wxCmdLineParser()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::ParseParams(wxCmdLineParser const&)':
wxrc.cpp:(.text+0xed4): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf00): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf2c): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf58): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0xf8c): undefined reference to `wxCmdLineParser::Found(wxString const&) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:wxrc.cpp:(.text+0xfc0): more undefined references to `wxCmdLineParser::Found(wxString const&) const' follow
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::ParseParams(wxCmdLineParser const&)':
wxrc.cpp:(.text+0x1030): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x105c): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x1434): undefined reference to `wxCmdLineParser::Found(wxString const&, wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x145c): undefined reference to `wxCmdLineParser::GetParamCount() const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x1478): undefined reference to `wxCmdLineParser::GetParam(unsigned long) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x149c): undefined reference to `wxCmdLineParser::GetParamCount() const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o: in function `XmlResApp::MakePackageCPP(wxArrayString const&)':
wxrc.cpp:(.text+0x3560): undefined reference to `wxTheMimeTypesManager'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3564): undefined reference to `wxTheMimeTypesManager'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3570): undefined reference to `wxMimeTypesManager::GetFileTypeFromExtension(wxString const&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x3584): undefined reference to `wxFileType::GetMimeType(wxString*) const'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc.cpp:(.text+0x358c): undefined reference to `wxFileType::~wxFileType()'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x310): undefined reference to `wxAppConsoleBase::OnInitCmdLine(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x318): undefined reference to `wxAppConsoleBase::OnCmdLineParsed(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x320): undefined reference to `wxAppConsoleBase::OnCmdLineHelp(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: wxrc_wxrc.o:(.data.rel.ro+0x328): undefined reference to `wxAppConsoleBase::OnCmdLineError(wxCmdLineParser&)'
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu-3.1.so: undefined reference to `wxAppTraits::GetEventLoopSourcesManager()'
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:115: wxrc] Error 1
$ ls -l /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_b*
lrwxrwxrwx 1 u0_a324 u0_a324      20 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu-3.1.so -> libwx_baseu-3.1.so.1
lrwxrwxrwx 1 u0_a324 u0_a324      24 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu-3.1.so.1 -> libwx_baseu-3.1.so.1.0.0
-rwx------ 1 u0_a324 u0_a324 2157192 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu-3.1.so.1.0.0
lrwxrwxrwx 1 u0_a324 u0_a324      24 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_net-3.1.so -> libwx_baseu_net-3.1.so.1
lrwxrwxrwx 1 u0_a324 u0_a324      28 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_net-3.1.so.1 -> libwx_baseu_net-3.1.so.1.0.0
-rwx------ 1 u0_a324 u0_a324  295784 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_net-3.1.so.1.0.0
lrwxrwxrwx 1 u0_a324 u0_a324      24 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_xml-3.1.so -> libwx_baseu_xml-3.1.so.1
lrwxrwxrwx 1 u0_a324 u0_a324      28 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_xml-3.1.so.1 -> libwx_baseu_xml-3.1.so.1.0.0
-rwx------ 1 u0_a324 u0_a324  235832 Jul 16 20:51 /data/data/com.termux/files/home/wxWidgets/build3/lib/libwx_baseu_xml-3.1.so.1.0.0
$ 
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

I'm still a little confused if utils/wxrc is really needed. Is that part of the wxWidgets build process or does it come from Audacity?
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

doublemax wrote: Wed Jul 17, 2019 9:00 am I'm still a little confused if utils/wxrc is really needed. Is that part of the wxWidgets build process or does it come from Audacity?
Part of wx build.
And I don't see any flag to disable it:

`configure' configures wxWidgets 3.1.1 to adapt to many kinds of systems.

Usage: ../configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']

Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/wxwidgets]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]

X features:
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR

System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]

Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-gui don't build GUI parts of the library
--enable-monolithic build wxWidgets as single library
--enable-plugins build parts of wxWidgets as loadable components
--enable-official_build official build of wxWidgets (win32 DLL only)
--enable-vendor=VENDOR vendor name (win32 DLL only)
--disable-all-features disable all optional features to build minimal library
--disable-sys-libs disable all use of system libraries, use only built-in ones
--enable-universal use wxWidgets GUI controls instead of native ones
--enable-nanox use NanoX
--enable-gpe use GNOME PDA Environment features if possible
--enable-debug build library for debugging
--disable-debug_flag disable all debugging support
--enable-debug_info generate debug information
--enable-debug_gdb create code with extra GDB debugging information
--enable-debug_cntxt obsolete, don't use: use wxDebugContext
--enable-mem_tracing obsolete, don't use: create code with memory tracing
--disable-shared create static library instead of shared
--enable-cxx11 use C++11 compiler if available
--enable-stl use standard C++ classes for everything
--enable-std_containers use standard C++ container classes
--enable-std_containers_compat use standard C++ container classes when it can be done compatible
--enable-std_iostreams use standard C++ stream classes
--enable-std_string use standard C++ string classes
--enable-std_string_conv_in_wxstring provide implicit conversion to std::string in wxString
--disable-unsafe_conv_in_wxstring disable unsafe implicit conversions in wxString
--disable-unicode compile without Unicode support
--enable-utf8 use UTF-8 representation for strings (Unix only)
--enable-utf8only only support UTF-8 locales in UTF-8 build (Unix only)
--enable-extended_rtti use extended RTTI (XTI)
--disable-optimise compile without optimisations
--enable-profile create code with profiling information
--enable-no_rtti create code without RTTI information
--enable-no_exceptions create code without C++ exceptions handling
--enable-permissive compile code disregarding strict ANSI
--disable-vararg_macros don't use vararg macros, even if they are supported
--enable-universal_binary=archs create universal binary for the specified (or all supported) architectures
--enable-macosx_arch=ARCH build for just the specified architecture
--enable-compat28 enable wxWidgets 2.8 compatibility
--disable-compat30 disable wxWidgets 3.0 compatibility
--disable-rpath disable use of rpath for uninstalled builds
--disable-visibility disable use of ELF symbols visibility even if supported
--disable-tls disable use of compiler TLS support
--enable-repro-build enable reproducible build mode
--enable-pch use precompiled headers if possible (off by default)
--enable-intl use internationalization system
--enable-xlocale use x-locale support (requires wxLocale)
--enable-config use wxConfig (and derived) classes
--enable-protocols use wxProtocol and derived classes
--enable-ftp use wxFTP (requires wxProtocol
--enable-http use wxHTTP (requires wxProtocol
--enable-fileproto use wxFileProto class (requires wxProtocol
--enable-sockets use socket/network classes
--enable-ipv6 enable IPv6 support in wxSocket
--enable-ole use OLE classes (Win32 only)
--enable-dataobj use data object classes
--enable-ipc use interprocess communication (wxSocket etc.)
--enable-baseevtloop use event loop in console programs too
--enable-epollloop use wxEpollDispatcher class (Linux only)
--enable-selectloop use wxSelectDispatcher class
--enable-any use wxAny class
--enable-apple_ieee use the Apple IEEE codec
--enable-arcstream use wxArchive streams
--enable-base64 use base64 encoding/decoding functions
--enable-backtrace use wxStackWalker class for getting backtraces
--enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)
--enable-cmdline use wxCmdLineParser class
--enable-datetime use wxDateTime class
--enable-debugreport use wxDebugReport class
--enable-dialupman use dialup network classes
--enable-dynlib use wxLibrary class for DLL loading
--enable-dynamicloader use (new) wxDynamicLibrary class
--enable-exceptions build exception-safe library
--enable-ffile use wxFFile class
--enable-file use wxFile class
--enable-filehistory use wxFileHistory class
--enable-filesystem use virtual file systems classes
--enable-fontenum use wxFontEnumerator class
--enable-fontmap use font encodings conversion classes
--enable-fs_archive use virtual archive filesystems
--enable-fs_inet use virtual HTTP/FTP filesystems
--enable-fs_zip now replaced by fs_archive
--enable-fsvolume use wxFSVolume class
--enable-fswatcher use wxFileSystemWatcher class
--enable-geometry use geometry class
--enable-log use logging system
--enable-longlong use wxLongLong class
--enable-mimetype use wxMimeTypesManager
--enable-printfposparam use wxVsnprintf() which supports positional parameters
--enable-secretstore use wxSecretStore class
--enable-snglinst use wxSingleInstanceChecker class
--enable-sound use wxSound class
--enable-stdpaths use wxStandardPaths class
--enable-stopwatch use wxStopWatch class
--enable-streams use wxStream etc classes
--enable-sysoptions use wxSystemOptions
--enable-tarstream use wxTar streams
--enable-textbuf use wxTextBuffer class
--enable-textfile use wxTextFile class
--enable-timer use wxTimer class
--enable-variant use wxVariant class
--enable-zipstream use wxZip streams
--enable-url use wxURL class
--enable-protocol use wxProtocol class
--enable-protocol-http HTTP support in wxProtocol
--enable-protocol-ftp FTP support in wxProtocol
--enable-protocol-file FILE support in wxProtocol
--enable-threads use threads
--enable-dbghelp use dbghelp.dll API (Win32 only)
--enable-iniconf use wxIniConfig (Win32 only)
--enable-regkey use wxRegKey class (Win32 only)
--enable-docview use document view architecture
--enable-help use help subsystem
--enable-mshtmlhelp use MS HTML Help (win32)
--enable-html use wxHTML sub-library
--enable-htmlhelp use wxHTML-based help
--enable-xrc use XRC resources sub-library
--enable-aui use AUI docking library
--enable-propgrid use wxPropertyGrid library
--enable-ribbon use wxRibbon library
--enable-stc use wxStyledTextCtrl library
--enable-constraints use layout-constraints system
--enable-loggui use standard GUI logger
--enable-logwin use wxLogWindow
--enable-logdialog use wxLogDialog
--enable-mdi use multiple document interface architecture
--enable-mdidoc use docview architecture with MDI
--enable-mediactrl use wxMediaCtrl class
--enable-richtext use wxRichTextCtrl
--enable-postscript use wxPostscriptDC device context (default for gtk+)
--enable-printarch use printing architecture
--enable-svg use wxSVGFileDC device context
--enable-webkit use wxWebKitCtrl (Mac-only, use wxWebView instead)
--enable-webview use wxWebView library
--enable-graphics_ctx use graphics context 2D drawing API
--enable-clipboard use wxClipboard class
--enable-dnd use Drag'n'Drop classes
--disable-controls disable compilation of all standard controls
--enable-markup support wxControl::SetLabelMarkup
--enable-accel use accelerators
--enable-actindicator use wxActivityIndicator class
--enable-addremovectrl use wxAddRemoveCtrl
--enable-animatectrl use wxAnimationCtrl class
--enable-bannerwindow use wxBannerWindow class
--enable-artstd use standard XPM icons in wxArtProvider
--enable-arttango use Tango icons in wxArtProvider
--enable-bmpbutton use wxBitmapButton class
--enable-bmpcombobox use wxBitmapComboBox class
--enable-button use wxButton class
--enable-calendar use wxCalendarCtrl class
--enable-caret use wxCaret class
--enable-checkbox use wxCheckBox class
--enable-checklst use wxCheckListBox (listbox with checkboxes) class
--enable-choice use wxChoice class
--enable-choicebook use wxChoicebook class
--enable-collpane use wxCollapsiblePane class
--enable-colourpicker use wxColourPickerCtrl class
--enable-combobox use wxComboBox class
--enable-comboctrl use wxComboCtrl class
--enable-commandlinkbutton use wxCommmandLinkButton class
--enable-dataviewctrl use wxDataViewCtrl class
--enable-datepick use wxDatePickerCtrl class
--enable-detect_sm use code to detect X11 session manager
--enable-dirpicker use wxDirPickerCtrl class
--enable-display use wxDisplay class
--enable-editablebox use wxEditableListBox class
--enable-filectrl use wxFileCtrl class
--enable-filepicker use wxFilePickerCtrl class
--enable-fontpicker use wxFontPickerCtrl class
--enable-gauge use wxGauge class
--enable-grid use wxGrid class
--enable-headerctrl use wxHeaderCtrl class
--enable-hyperlink use wxHyperlinkCtrl class
--enable-imaglist use wxImageList class
--enable-infobar use wxInfoBar class
--enable-listbook use wxListbook class
--enable-listbox use wxListBox class
--enable-listctrl use wxListCtrl class
--enable-notebook use wxNotebook class
--enable-notifmsg use wxNotificationMessage class
--enable-odcombobox use wxOwnerDrawnComboBox class
--enable-popupwin use wxPopUpWindow class
--enable-prefseditor use wxPreferencesEditor class
--enable-privatefonts provide wxFont::AddPrivateFont() method
--enable-radiobox use wxRadioBox class
--enable-radiobtn use wxRadioButton class
--enable-richmsgdlg use wxRichMessageDialog class
--enable-richtooltip use wxRichToolTip class
--enable-rearrangectrl use wxRearrangeList/Ctrl/Dialog
--enable-sash use wxSashWindow class
--enable-scrollbar use wxScrollBar class and scrollable windows
--enable-searchctrl use wxSearchCtrl class
--enable-slider use wxSlider class
--enable-spinbtn use wxSpinButton class
--enable-spinctrl use wxSpinCtrl class
--enable-splitter use wxSplitterWindow class
--enable-statbmp use wxStaticBitmap class
--enable-statbox use wxStaticBox class
--enable-statline use wxStaticLine class
--enable-stattext use wxStaticText class
--enable-statusbar use wxStatusBar class
--enable-taskbaricon use wxTaskBarIcon class
--enable-tbarnative use native wxToolBar class
--enable-textctrl use wxTextCtrl class
--enable-timepick use wxTimePickerCtrl class
--enable-tipwindow use wxTipWindow class
--enable-togglebtn use wxToggleButton class
--enable-toolbar use wxToolBar class
--enable-toolbook use wxToolbook class
--enable-treebook use wxTreebook class
--enable-treectrl use wxTreeCtrl class
--enable-treelist use wxTreeListCtrl class
--enable-commondlg use all common dialogs
--enable-aboutdlg use wxAboutBox
--enable-choicedlg use wxChoiceDialog
--enable-coldlg use wxColourDialog
--enable-filedlg use wxFileDialog
--enable-finddlg use wxFindReplaceDialog
--enable-fontdlg use wxFontDialog
--enable-dirdlg use wxDirDialog
--enable-msgdlg use wxMessageDialog
--enable-numberdlg use wxNumberEntryDialog
--enable-splash use wxSplashScreen
--enable-textdlg use wxTextDialog
--enable-tipdlg use startup tips
--enable-progressdlg use wxProgressDialog
--enable-wizarddlg use wxWizard
--enable-menus use wxMenu/wxMenuBar/wxMenuItem classes
--enable-miniframe use wxMiniFrame class
--enable-tooltips use wxToolTip class
--enable-splines use spline drawing code
--enable-mousewheel use mousewheel
--enable-validators use wxValidator and derived classes
--enable-busyinfo use wxBusyInfo
--enable-hotkey use wxWindow::RegisterHotKey()
--enable-joystick use wxJoystick
--enable-metafiles use wxMetaFile
--enable-dragimage use wxDragImage
--enable-accessibility enable accessibility support
--enable-uiactionsim use wxUIActionSimulator (experimental)
--enable-dctransform use wxDC::SetTransformMatrix and related
--enable-webviewwebkit use wxWebView WebKit backend
--enable-palette use wxPalette class
--enable-image use wxImage class
--enable-gif use gif images (GIF file format)
--enable-pcx use pcx images (PCX file format)
--enable-tga use tga images (TGA file format)
--enable-iff use iff images (IFF file format)
--enable-pnm use pnm images (PNM file format)
--enable-xpm use xpm images (XPM file format)
--enable-ico_cur use Windows ICO and CUR formats
--enable-dccache cache temporary wxDC objects (Win32 only)
--enable-ps-in-msw use PS printing in wxMSW (Win32 only)
--enable-ownerdrawn use owner drawn controls (Win32 and OS/2 only)
--enable-uxtheme enable support for Windows XP themed look (Win32 only)
--enable-wxdib use wxDIB class (Win32 only)
--enable-webviewie use wxWebView IE backend (Win32 only)
--enable-autoidman use automatic ids management
--disable-largefile omit support for large files
--disable-gtktest do not try to compile and run a test GTK+ program
--disable-gtktest Do not try to compile and run a test GTK program
--disable-sdltest Do not try to compile and run a test SDL program
--disable-dependency-tracking
don't use dependency tracking even if the compiler
can
--disable-precomp-headers
don't use precompiled headers even if compiler can

Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-subdirs don't generate makefiles for samples/demos/...
--with-flavour=NAME specify a name to identify this build
--with-themes=all|list use only the specified comma-separated list of wxUniversal themes
--with-gtk[=VERSION] use GTK+, VERSION can be 4 (EXPERIMENTAL), 3, 2 (default), 1 or "any"
--with-motif use Motif/Lesstif
--with-osx_cocoa use Mac OS X (Cocoa)
--with-osx_iphone use iPhone OS X port
--with-osx use Mac OS X (default port, Cocoa)
--with-cocoa same as --with-osx_cocoa
--with-iphone same as --with-osx_iphone
--with-mac same as --with-osx
--with-wine use Wine
--with-msw use MS-Windows
--with-directfb use DirectFB
--with-x11 use X11
--with-qt use Qt
--with-libpng use libpng (PNG image format)
--with-libjpeg use libjpeg (JPEG file format)
--with-libtiff use libtiff (TIFF file format)
--without-libjbig don't use libjbig in libtiff even if available)
--without-liblzma don't use liblzma in libtiff even if available)
--with-libxpm use libxpm (XPM file format)
--with-libiconv use libiconv (character conversion)
--with-libmspack use libmspack (CHM help files loading)
--without-gtkprint don't use GTK printing support
--with-gnomevfs use GNOME VFS for associating MIME types
--with-libnotify use libnotify for notifications
--with-opengl use OpenGL (or Mesa)
--with-xtest use XTest extension
--with-dmalloc use dmalloc library (http://dmalloc.com/)
--with-sdl use SDL for audio on Unix
--with-regex enable support for wxRegEx class
--with-zlib use zlib for LZW compression
--with-expat enable XML support using expat parser
--with-macosx-sdk=PATH use an OS X SDK at PATH
--with-macosx-version-min=VER build binaries which require at least this OS X version
--with-cxx=11|14|17 use the given C++ dialect
--with-gtk-prefix=PFX Prefix where GTK is installed (optional)
--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)
--with-x use the X Window System
--with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib
--with-sdl-prefix=PFX Prefix where SDL is installed (optional)
--with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)

Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
PKG_CONFIG path to pkg-config utility
DIRECTFB_CFLAGS
C compiler flags for DIRECTFB, overriding pkg-config
DIRECTFB_LIBS
linker flags for DIRECTFB, overriding pkg-config
XMKMF Path to xmkmf, Makefile generator for X Window System
PANGOXFT_CFLAGS
C compiler flags for PANGOXFT, overriding pkg-config
PANGOXFT_LIBS
linker flags for PANGOXFT, overriding pkg-config
PANGOFT2_CFLAGS
C compiler flags for PANGOFT2, overriding pkg-config
PANGOFT2_LIBS
linker flags for PANGOFT2, overriding pkg-config
QT5_CFLAGS C compiler flags for QT5, overriding pkg-config
QT5_LIBS linker flags for QT5, overriding pkg-config
Xinerama_CFLAGS
C compiler flags for Xinerama, overriding pkg-config
Xinerama_LIBS
linker flags for Xinerama, overriding pkg-config
Xxf86vm_CFLAGS
C compiler flags for Xxf86vm, overriding pkg-config
Xxf86vm_LIBS
linker flags for Xxf86vm, overriding pkg-config
SM_CFLAGS C compiler flags for SM, overriding pkg-config
SM_LIBS linker flags for SM, overriding pkg-config
GL_CFLAGS C compiler flags for GL, overriding pkg-config
GL_LIBS linker flags for GL, overriding pkg-config
GLU_CFLAGS C compiler flags for GLU, overriding pkg-config
GLU_LIBS linker flags for GLU, overriding pkg-config
MesaGL_CFLAGS
C compiler flags for MesaGL, overriding pkg-config
MesaGL_LIBS linker flags for MesaGL, overriding pkg-config
LIBSECRET_CFLAGS
C compiler flags for LIBSECRET, overriding pkg-config
LIBSECRET_LIBS
linker flags for LIBSECRET, overriding pkg-config
SDL_CFLAGS C compiler flags for SDL, overriding pkg-config
SDL_LIBS linker flags for SDL, overriding pkg-config
GTKPRINT_CFLAGS
C compiler flags for GTKPRINT, overriding pkg-config
GTKPRINT_LIBS
linker flags for GTKPRINT, overriding pkg-config
GNOMEVFS_CFLAGS
C compiler flags for GNOMEVFS, overriding pkg-config
GNOMEVFS_LIBS
linker flags for GNOMEVFS, overriding pkg-config
LIBNOTIFY_CFLAGS
C compiler flags for LIBNOTIFY, overriding pkg-config
LIBNOTIFY_LIBS
linker flags for LIBNOTIFY, overriding pkg-config
XTST_CFLAGS C compiler flags for XTST, overriding pkg-config
XTST_LIBS linker flags for XTST, overriding pkg-config
PRIVATE_FONTS_CFLAGS
C compiler flags for PRIVATE_FONTS, overriding pkg-config
PRIVATE_FONTS_LIBS
linker flags for PRIVATE_FONTS, overriding pkg-config
WEBKIT_CFLAGS
C compiler flags for WEBKIT, overriding pkg-config
WEBKIT_LIBS linker flags for WEBKIT, overriding pkg-config
CAIRO_CFLAGS
C compiler flags for CAIRO, overriding pkg-config
CAIRO_LIBS linker flags for CAIRO, overriding pkg-config
GST_CFLAGS C compiler flags for GST, overriding pkg-config
GST_LIBS linker flags for GST, overriding pkg-config

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <[email protected]>.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Compiling wxWidgets 3.1.1 in Termux

Post by catalin »

I'm getting a bit lost in this and probably completely misunderstanding things, so sorry in advance if I'm way off track. From what I understand, if you get a successful compile of wxW libs, you then try to build Audacity, but if the latter fails then you restart with compiling the former with [slightly] different options, which in turn might fail this time.

What you should probably do is to successfully build wxW libs and settle for them, and then determine why Audacity fails to build when using the same options, and not rebuild wxW libs every time. If you are already doing it like this then please excuse my useless noise.

About utf8 / wchat_t related problems:
- the initial aim was to avoid relying on wchar_t functions in wxW libs, and that was because IIRC Android c runtime does not contain them. In order to do that, --enable-utf8[only] modifiers looked like potential candidates (whether they are the correct ones, or whether they are both needed, remains to be clarified, but using both of them should be fine for the purpose).
- now having the libs built without wchar_t support, but calling functions in Audacity code that pass wchar_t parameters does look incompatible, and if that is confirmed to be the case, then maybe Audacity cannot be compiled for Android because it requires support for wchar_t data.
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

catalin wrote: Wed Jul 17, 2019 9:29 am About utf8 / wchat_t related problems:
- the initial aim was to avoid relying on wchar_t functions in wxW libs, and that was because IIRC Android c runtime does not contain them. In order to do that, --enable-utf8[only] modifiers looked like potential candidates (whether they are the correct ones, or whether they are both needed, remains to be clarified, but using both of them should be fine for the purpose).
- now having the libs built without wchar_t support, but calling functions in Audacity code that pass wchar_t parameters does look incompatible, and if that is confirmed to be the case, then maybe Audacity cannot be compiled for Android because it requires support for wchar_t data.
Yep. Right on target. Audacity requires wchar_t.
Case closed.
Thanks for your clarification.
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.1 in Termux

Post by doublemax »

Right on target. Audacity requires wchar_t.
The places i checked regarding the conversion errors, looked like this:

Code: Select all

void DirManager::BalanceInfoAdd(const wxString &file)
{
   const wxChar *s=file;
   if(s[0]==wxT('e')){
I see why they used this little trick/hack, but it could be rewritten properly. The question is just how many locations had to be fixed.
Use the source, Luke!
igavronski
Knows some wx things
Knows some wx things
Posts: 30
Joined: Mon Jul 15, 2019 12:52 pm

Re: Compiling wxWidgets 3.1.1 in Termux

Post by igavronski »

One of the maintainers of the Termux distro just informed that wchar_t is available. Let's wait for further information then.
Post Reply