username1565 / uTox_winXP

µTox the lightest and fluffiest Tox client
https://utox.io
Other
6 stars 0 forks source link

utox compiles but the binary app crashes after one second #4

Closed blueclouds8666 closed 4 years ago

blueclouds8666 commented 4 years ago

Overview

  1. uTox version: 0.17.1
  2. Operating system: Windows XP SP3 and Windows 7

Issue

I discovered today this fork so i wanted to compile it for myself. Firstly i tried compiling it under windows xp and following the instructions over here. But while trying to install cygwin (setup-x86-2.874.exe with the specified cmd parameter), it gives warning message (image) and in the package installation it gives multiple KERNEL32.DLL errors and when it's finished, not even the cygwin shell opens.

I am not sure if doing the exact same process on Windows 7 makes a difference, but i wanted to give it a try nevertheless. i installed cygwin and the required packages flawlessly, then executed the build_cygwin_x86_winXP.sh on the specified location and let the script do its thing. It compiles correctly but when i open utox.exe, it shows up for a second and then crashes... it also happens on windows xp. here is my console log:

`Usuario@Usuario-PC ~ $ cd "C:\test_projects"

Usuario@Usuario-PC /cygdrive/c/test_projects $ sh build_cygwin_x86_winXP.sh Install cygwin packages, if this not installed. Package wget is already installed, skipping Package bsdtar is already installed, skipping Package mingw64-i686-gcc-core is already installed, skipping Package make is already installed, skipping Package cmake is already installed, skipping Package gdb is already installed, skipping Package git is already installed, skipping README.md not found. Clonando en 'uTox_winXP'... remote: Enumerating objects: 26878, done. remote: Total 26878 (delta 0), reused 0 (delta 0), pack-reused 26878 Recibiendo objetos: 100% (26878/26878), 15.82 MiB | 4.72 MiB/s, listo. Resolviendo deltas: 100% (20769/20769), listo. Submódulo 'third-party/minini' (https://github.com/compuphase/minIni.git) registrado para ruta 'third-party/minini' Submódulo 'third-party/qrcodegen' (https://github.com/nayuki/QR-Code-generator.git) registrado para ruta 'third-party/qrcodegen' Submódulo 'third-party/stb' (https://github.com/nothings/stb.git) registrado para ruta 'third-party/stb' Clonando en '/cygdrive/c/test_projects/uTox_winXP/third-party/minini'... remote: Enumerating objects: 61, done. remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61 Clonando en '/cygdrive/c/test_projects/uTox_winXP/third-party/qrcodegen'... remote: Enumerating objects: 80, done. remote: Counting objects: 100% (80/80), done. remote: Compressing objects: 100% (48/48), done. remote: Total 4676 (delta 25), reused 60 (delta 18), pack-reused 4596 Recibiendo objetos: 100% (4676/4676), 1.07 MiB | 2.57 MiB/s, listo. Resolviendo deltas: 100% (2851/2851), listo. Clonando en '/cygdrive/c/test_projects/uTox_winXP/third-party/stb'... remote: Enumerating objects: 6999, done. remote: Total 6999 (delta 0), reused 0 (delta 0), pack-reused 6999 Recibiendo objetos: 100% (6999/6999), 4.65 MiB | 4.37 MiB/s, listo. Resolviendo deltas: 100% (4665/4665), listo. Submodule path 'third-party/minini': checked out '77908366d4c0a758e33c4c6f39a29eba836ae7dd' Submodule path 'third-party/qrcodegen': checked out '7e18dfe885f1cf2924078542927496c35d575ce7' Submodule path 'third-party/stb': checked out '9d9f75eb682dd98b34de08bb5c489c6c561c9fa6' check packages, and install if not exists... Package wget is already installed, skipping Package bsdtar is already installed, skipping Done. Download libraries zip-files, if does not exists El fichero “libtoxcore-toktok_build_windows_x86_static_release.zip” ya está ahí, no se recupera.

El fichero “libopenal_build_windows_x86_static_release.zip” ya está ahí, no se recupera.

El fichero “libsodium_build_windows_x86_static_release.zip” ya está ahí, no se recupera.

El fichero “libvpx_build_windows_x86_static_release.zip” ya está ahí, no se recupera.

El fichero “libopus_build_windows_x86_static_release.zip” ya está ahí, no se recupera.

El fichero “libfilteraudio.zip” ya está ahí, no se recupera.

Done. Unzip zip-files, using bsdtar archiver Done. Check structure of folders for unpacked libraries. Is this correct? Done Back to the main folder. Done Unzip zip-files, using bsdtar archiver to extract third-party libraries... Done. Done. Cloning minIni... fatal: la ruta de destino 'minIni' ya existe y no es un directorio vacío. fatal: la ruta de destino 'stb' ya existe y no es un directorio vacío. fatal: la ruta de destino 'qrcodegen' ya existe y no es un directorio vacío. Done. Done. back to the main directory Done. Change directory to "build". Done. start precompiling for Windows XP in "build"-folder -- The C compiler identification is GNU 9.2.0 -- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc.exe -- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- checking for C compiler flag: -Wall -- checking for C compiler flag: -Wextra -- checking for C compiler flag: -Wpointer-arith -- checking for C compiler flag: -Wimplicit-fallthrough=5 -- checking for C compiler flag: -Werror=implicit-function-declaration -- checking for C compiler flag: -Wformat=0 -- checking for C compiler flag: -Wno-misleading-indentation -- checking for C compiler flag: -fno-strict-aliasing -- checking for C compiler flag: -fPIC -- checking for C compiler flag: -static -- checking for C compiler flag: -DAUDIO_FILTERING=1 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.0") -- Found libtox: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libtoxcore.a -- Found libsodium: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libsodium.a -- Found libvpx: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libvpx.a -- checking for C compiler flag: -D__WIN_LEGACY=1 -- Found libfilteraudio: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libfilteraudio.a Build options:

Usuario@Usuario-PC /cygdrive/c/test_projects $ ` thanks in advance

username1565 commented 4 years ago

Hello. official uTox developers are not supported windows XP so long time, but earlier, they supported Windows XP, as legacy Operation system. This repositary was been created to compile uTox for Windows XP, to see the official source code is corresponding the output files, after compilation, and then, compare the different branches, and versions, see the differences in the source codes, and rewrite the source code to add supporting the Windows XP.

But... I don't know C, C++, languages, and I cann't fix that errors. And after I got the success in compilation-process, then I made this fork, add all latest libraries, to make this code complete, and describe the compilation process and commands - by the link, which you alreasy published in previous post.

The last version was been sucessfully compiled, but not opening for me, and not working too. I don't know, why, and I don't know how to fix that errors, but the source code is opened, and anyone can fix this, and open the pull-request! So, I just use isotoxin for XP, and also, I published in the Releases https://github.com/username1565/uTox_winXP/releases , the pre-compiled uTox versions, which I did finded in the Internet, including too old WebTox . Also, I writed the JavaScripts to rewrite the nodes in binary code of this precompiled portable-executable. I cann't find the source code of this, but earlier I already saw some sources, but the libraries not been included there, and now this libraries have so many updates, and not have the backward-compatibility with that versions of uTox.exe. Maybe this pre-compiled binary files, can be decompiled, disassembled, and de-obfuscated, to get the human-readable commented and working source codes.

Sorry, but I don't know and how to fix your errors, because I don't know anything about source code, and compilers arguments, and I don't working with cygwin earlier,

Maybe someone else can help you, so I just leave this issue opened.

Best regards!

username1565 commented 4 years ago

Maybe, all differences and changes still can be compared, by using WinMerge, and discovered the changes in each commit: https://github.com/username1565/uTox_winXP/network to find the best version, and source code, where uTox is working on Windows XP. But, I think, this comparison need to make for the changes in the source code of depended libraries too, to get the working, and compatible source code of this libraries, and fully include this in uTox_winXP project. Because old links to libraries, which was been hosted on Jenkins-sites, the long time are not available to download. In the case of re-write or restore the source code of libraries, this fork can be developed by many programmers, as parallel branch for Windows XP. Anyway, Issues is opened here, and anyone can fix some bugs, and send the the pull request here, and fork this, and do anything with this.

Cheers!

blueclouds8666 commented 4 years ago

Hello

First of all, sorry for the very late reply. I've been busy working for other projects and i forgot about this one. Later on monday 13th of this month, i started again with research regarding uTox and windows xp since it's one of my favorite operating systems. Well, i have big news for you:

I've been able to compile uTox targeting the windows xp platform with success. Well, it was an adventure, it took me +60 hours to get everything working and to make the proper documentation, but i think after all it was worthy the effort.

After compiling c-toxcore 0.1.x library trying multiple configurations (cygwin, mingw, cross-compile on linux), i could get it working with uTox 0.16.1 (the last binary they offered for XP). However i wanted to extend my research to see if newer version worked, and it did: 0.17.0, 0.17.1, all work perfectly under xp while compiling toxcore 0.2.x and its dependencies with the correct enviroment and configuration. But after some tweaking, i discovered something even more striking: after little source code editing, THE LATEST uTox release (0.17.2 - apr 2020) WORKS on XP. So i decided to fork the original project to keep giving XP the supports it deserves: https://github.com/blueclouds8666/uTox_XP

Take it a look, try the compiling instructions, and tell me what you think. I tried my best and i hope it's clear enough. If you are interested on becoming a main developer for my fork, it would be great, mantaining the project just one person is a bit tiresome. Send me an email at blueclouds8666@mail.com so we can further contact and share viewpoints.

As for your fork, i think the problem is the libsodium library, which is broken because the jenkins automatic build uses an outdated gcc compiler. That's the reason why it crashes.

Looking forward to hearing from you.

username1565 commented 4 years ago

Hello, @blueclouds8666! I’m not in a hurry and do not demand anything from you. You can programing just for your pleasure.

Thanks for publishing your code. I'll test this ASAP. I cann't fork your repositary into another my repositary, because I already have fork of uTox, and github just redirecting me to my fork, after this. Anyway, I did save your code as attachments of files in your latest release

For me not usable to send emails, and I think, will be better to talk about projects - in their "Issues" when this "enabled" in "Settings". Anyway, you can open the "Pull requests" for youself or for another owners, just by selecting the specified forks and branches, to compare the differences between this.

Yes, I'll test compilation ASAP, and I'll try to compile the old ToxCore in my free time (and will be better to you provide me the instructions and version of that new compilator). But as I said earlier, I do not develop this fork, because I don't understand the syntax of C, and don't have any experience of compilation or debug this all professionally. I just make this fork to concentrate the full and complete source code, including the libraries, and save the way and show the instructions to compile uTox for XP, because official developers don't want to support Windows XP. So I did try to save the source code complete, without any dependencies, from the destructive changes in the source code of libraries, which have no backward compatibility with Windows XP. After this all, what I said, I would rather to sent FOR YOU some bug reports as for a more qualified CLang-programmer.

But if I'll continue to fantasy the deploying and developing of this, I think, maybe, in the future, will be possible to make something like this web-IRC-client, but without central servers, make this decentralized, connect this directly to the nodes by using some proxy or WebSockets, and make this encrypted, make this working in LAN, make this working with group chatting, channels, and PrivateMessaging, and with supporting of voice calling, video-calliing, and... Of course - open source! I think, there is possible to make client-side encryption, in browser, with on JavaScript programming language, by using the library TweetNaCl.js v1.0.3. In this case, the NaCl private keys can be generated in browser, and saved in LocalStorage, and ToxID's can be calculated client-side, after input the password, to decrypt that priv from encrypted value in LocalStorage. User can be "registered" once (just generate privkey and ToxID, client-side), then input password to encrypt this and save once, then login every time just by password, wait connect to the nodes, and talk with anyone in his browser, from smartphones or their apps, for example, and without running the full node (which eating the limited traffic on smartphones).

username1565 commented 4 years ago

As for your fork, i think the problem is the libsodium library, which is broken because the jenkins automatic build uses an outdated gcc compiler. That's the reason why it crashes.

After all this tests, and compilation, I did try to update libraries on your's libraries. In the folder with the code of my repositary, I did rename build-folder to build2, and created new build-folder. Then, rename libs\windows-x32 to libs\windows-x32_old and copy there the following folder: C:\MinGW\msys\1.0\project\uTox\libs\windows-x32.

Then, run pre-installed cygwin-terminal, and write there the following commands:

cd /cygdrive/c/test_projects/uTox_winXP/build

Done.

Then run:

cmake __WIN_LEGACY=1 -DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain-win32.cmake" -DTOXCORE_STATIC=ON ..

Done. See some files in build-folder.

Then run

make

Done.

Full log of process, and results:

user@COMPUTER ~
$ cd /cygdrive/c/test_projects/uTox_winXP/build

user@COMPUTER /cygdrive/c/test_projects/uTox_winXP/build
$ cmake __WIN_LEGACY=1 -DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain-win32.cmake" -DTOXCORE_STATIC=ON ..
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc.exe
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- checking for C compiler flag: -Wall
-- checking for C compiler flag: -Wextra
-- checking for C compiler flag: -Wpointer-arith
-- checking for C compiler flag: -Wimplicit-fallthrough=5
-- Warning: Can't find flag -Wimplicit-fallthrough=5
-- checking for C compiler flag: -Werror=implicit-function-declaration
-- checking for C compiler flag: -Wformat=0
-- checking for C compiler flag: -Wno-misleading-indentation
-- checking for C compiler flag: -fno-strict-aliasing
-- checking for C compiler flag: -fPIC
-- Warning: Can't find flag -fPIC
-- checking for C compiler flag: -static
-- checking for C compiler flag: -DAUDIO_FILTERING=1
-- Found PkgConfig: /usr/bin/pkg-config.exe (found version "0.29.1")
-- Found libtox: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libtoxcore.a
-- Found libsodium: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libsodium.a
-- Found libvpx: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libvpx.a
-- checking for C compiler flag: -D__WIN_LEGACY=1
-- Found libfilteraudio: /cygdrive/c/test_projects/uTox_winXP/libs/windows-x32/lib/libfilteraudio.a
Build options:
- CMake Module Path:        /cygdrive/c/test_projects/uTox_winXP-develop_uTox_winXP/cmake/
----------------------------------
- Add ASAN:                OFF
- Error on Warning:        OFF
- Filter Audio:            ON
- Auto Updater:            OFF
- uTox Static:             ON
- Toxcore Static:          ON
-- Platform Options --------------
- Windows Legacy:          ON
* CMake system is 'Windows'
* CMake build type is ''
* C Compiler is '/usr/bin/i686-w64-mingw32-gcc.exe' with the following flags:
* C flags for Debug:        -g3
* C flags for Release:     -O3 -DNDEBUG -Os
* C flags for all types:    -DAL_LIBTYPE_STATIC  -Wall -Wextra -Wpointer-arith -Werror=implicit-function-declaration -Wformat=0 -Wno-misleading-indentation -fno                                                                                                                -strict-aliasing -static -DAUDIO_FILTERING=1
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/c/test_projects/uTox_winXP-develop_uTox_winXP/build

user@COMPUTER /cygdrive/c/test_projects/uTox_winXP/build
$ make
Scanning dependencies of target utoxNATIVE
[  1%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/audio.c.obj
[  2%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/dnd.c.obj
[  4%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/drawing.c.obj
[  5%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/events.c.obj
[  6%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/filesys.c.obj
/cygdrive/c/test_projects/uTox_winXP/src/windows/filesys.c: In function ‘get_file’:
/cygdrive/c/test_projects/uTox_winXP/src/windows/filesys.c:75:5: warning: ‘__stdcall__’ attribute only applies to function types [-Wattributes]
     HANDLE WINAPI winFile = CreateFileW(path, rw, FILE_SHARE_READ, NULL,
     ^
/cygdrive/c/test_projects/uTox_winXP/src/windows/filesys.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-misleading-indentation’
[  8%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/main.c.obj
[  9%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/notify.c.obj
[ 10%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/os_video.c.obj
[ 12%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/screen_grab.c.obj
[ 13%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/utf8.c.obj
[ 15%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/video.c.obj
[ 16%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/window.c.obj
[ 17%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/main.XP.c.obj
[ 19%] Building C object src/windows/CMakeFiles/utoxNATIVE.dir/main.7.c.obj
[ 20%] Linking C static library libutoxNATIVE.a
[ 20%] Built target utoxNATIVE
Scanning dependencies of target utoxLAYOUT
[ 21%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/friend.c.obj
[ 23%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/group.c.obj
[ 24%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/notify.c.obj
[ 26%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/settings.c.obj
[ 27%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/sidebar.c.obj
[ 28%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/userbadge.c.obj
[ 30%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/background.c.obj
[ 31%] Building C object src/layout/CMakeFiles/utoxLAYOUT.dir/tray.c.obj
[ 32%] Linking C static library libutoxLAYOUT.a
[ 32%] Built target utoxLAYOUT
Scanning dependencies of target utoxUI
[ 34%] Building C object src/ui/CMakeFiles/utoxUI.dir/button.c.obj
[ 35%] Building C object src/ui/CMakeFiles/utoxUI.dir/contextmenu.c.obj
[ 36%] Building C object src/ui/CMakeFiles/utoxUI.dir/dropdown.c.obj
[ 38%] Building C object src/ui/CMakeFiles/utoxUI.dir/edit.c.obj
/cygdrive/c/test_projects/uTox_winXP/src/ui/edit.c: In function ‘edit_char’:
/cygdrive/c/test_projects/uTox_winXP/src/ui/edit.c:751:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compar                                                                                                                e]
         if (edit->length - edit_sel.length + len >= edit->data_size) {
                                                  ^
/cygdrive/c/test_projects/uTox_winXP/src/ui/edit.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-misleading-indentation’
[ 39%] Building C object src/ui/CMakeFiles/utoxUI.dir/scrollable.c.obj
[ 41%] Building C object src/ui/CMakeFiles/utoxUI.dir/svg.c.obj
[ 42%] Building C object src/ui/CMakeFiles/utoxUI.dir/switch.c.obj
[ 43%] Building C object src/ui/CMakeFiles/utoxUI.dir/text.c.obj
[ 45%] Building C object src/ui/CMakeFiles/utoxUI.dir/tooltip.c.obj
[ 46%] Linking C static library libutoxUI.a
[ 46%] Built target utoxUI
Scanning dependencies of target utoxAV
[ 47%] Building C object src/av/CMakeFiles/utoxAV.dir/utox_av.c.obj
[ 49%] Building C object src/av/CMakeFiles/utoxAV.dir/audio.c.obj
[ 50%] Building C object src/av/CMakeFiles/utoxAV.dir/video.c.obj
[ 52%] Building C object src/av/CMakeFiles/utoxAV.dir/filter_audio.c.obj
[ 53%] Linking C static library libutoxAV.a
[ 53%] Built target utoxAV
Scanning dependencies of target utox
[ 54%] Building C object CMakeFiles/utox.dir/src/avatar.c.obj
[ 56%] Building C object CMakeFiles/utox.dir/src/chatlog.c.obj
[ 57%] Building C object CMakeFiles/utox.dir/src/chrono.c.obj
[ 58%] Building C object CMakeFiles/utox.dir/src/command_funcs.c.obj
[ 60%] Building C object CMakeFiles/utox.dir/src/commands.c.obj
[ 61%] Building C object CMakeFiles/utox.dir/src/devices.c.obj
[ 63%] Building C object CMakeFiles/utox.dir/src/file_transfers.c.obj
[ 64%] Building C object CMakeFiles/utox.dir/src/filesys.c.obj
[ 65%] Building C object CMakeFiles/utox.dir/src/flist.c.obj
/cygdrive/c/test_projects/uTox_winXP/src/flist.c: In function‘find_item_shown_index’:
/cygdrive/c/test_projects/uTox_winXP/src/flist.c:240:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (shown_list[i] == it - item) { // (it - item) returns the index of the item in the full items list
                           ^
/cygdrive/c/test_projects/uTox_winXP/src/flist.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-misleading-indentation’
[ 67%] Building C object CMakeFiles/utox.dir/src/friend.c.obj
[ 68%] Building C object CMakeFiles/utox.dir/src/groups.c.obj
[ 69%] Building C object CMakeFiles/utox.dir/src/inline_video.c.obj
[ 71%] Building C object CMakeFiles/utox.dir/src/logging.c.obj
[ 72%] Building C object CMakeFiles/utox.dir/src/main.c.obj
[ 73%] Building C object CMakeFiles/utox.dir/src/messages.c.obj
[ 75%] Building C object CMakeFiles/utox.dir/src/notify.c.obj
[ 76%] Building C object CMakeFiles/utox.dir/src/qr.c.obj
[ 78%] Building C object CMakeFiles/utox.dir/src/screen_grab.c.obj
[ 79%] Building C object CMakeFiles/utox.dir/src/self.c.obj
[ 80%] Building C object CMakeFiles/utox.dir/src/settings.c.obj
[ 82%] Building C object CMakeFiles/utox.dir/src/stb.c.obj
[ 83%] Building C object CMakeFiles/utox.dir/src/text.c.obj
[ 84%] Building C object CMakeFiles/utox.dir/src/theme.c.obj
[ 86%] Building C object CMakeFiles/utox.dir/src/tox.c.obj
[ 87%] Building C object CMakeFiles/utox.dir/src/tox_callbacks.c.obj
[ 89%] Building C object CMakeFiles/utox.dir/src/ui.c.obj
[ 90%] Building C object CMakeFiles/utox.dir/src/ui_i18n.c.obj
[ 91%] Building C object CMakeFiles/utox.dir/src/updater.c.obj
[ 93%] Building C object CMakeFiles/utox.dir/src/utox.c.obj
[ 94%] Building C object CMakeFiles/utox.dir/src/window.c.obj
[ 95%] Building C object CMakeFiles/utox.dir/third-party/minini/dev/minIni.c.obj
[ 97%] Building C object CMakeFiles/utox.dir/third-party/qrcodegen/c/qrcodegen.c.obj
[ 98%] Building RC object CMakeFiles/utox.dir/src/windows/utox.rc.res
[100%] Linking C executable utox.exe
[100%] Built target utox

user@COMPUTER /cygdrive/c/test_projects/uTox_winXP/build
$

As you can see, there was been some non-critical errors, and warnings, and I don't know how to fix this.

After this, I see in build-folder, the compiled uTox.exe (v0.17.1) and libtox.dll.a.

Then, I did copy this uTox.exe into the folder C:\uTox\, from this issue, where msvcr71.dll and start_portable.bat contains. and rename this file uTox.exe to uTox-i686.exe. Run start_portable.bat and this version, is working on XP - without the crush at first run.

After all, I just compared, using WinMerge, the two folders windows-x32 (from your libraries) and windows-x32_old (from my repositary), and I see the many differences in this files. Result:

contains in both folders but this files is different:
\bin\DHT_bootstrap.exe
\include\opus\opus_defines.h
\include\sodium\crypto_aead_aes256gcm.h
\include\sodium\crypto_aead_xchacha20poly1305.h
\include\sodium\crypto_auth.h
\include\sodium\crypto_auth_hmacsha256.h
\include\sodium\crypto_auth_hmacsha512.h
\include\sodium\crypto_auth_hmacsha512256.h
\include\sodium\crypto_box.h
\include\sodium\crypto_box_curve25519xchacha20poly1305.h
\include\sodium\crypto_box_curve25519xsalsa20poly1305.h
\include\sodium\crypto_core_ed25519.h
\include\sodium\crypto_generichash.h
\include\sodium\crypto_generichash_blake2b.h
\include\sodium\crypto_hash.h
\include\sodium\crypto_hash_sha256.h
\include\sodium\crypto_hash_sha512.h
\include\sodium\crypto_onetimeauth.h
\include\sodium\crypto_onetimeauth_poly1305.h
\include\sodium\crypto_scalarmult.h
\include\sodium\crypto_scalarmult_curve25519.h
\include\sodium\crypto_scalarmult_ed25519.h
\include\sodium\crypto_secretbox.h
\include\sodium\crypto_secretbox_xchacha20poly1305.h
\include\sodium\crypto_secretbox_xsalsa20poly1305.h
\include\sodium\crypto_shorthash.h
\include\sodium\crypto_shorthash_siphash24.h
\include\sodium\crypto_sign.h
\include\sodium\crypto_sign_ed25519.h
\include\sodium\crypto_sign_edwards25519sha512batch.h
\include\sodium\utils.h
\include\sodium\version.h
\include\tox\tox.h
\include\tox\toxav.h
\include\tox\toxencryptsave.h
\include\vpx\vp8cx.h
\include\vpx\vpx_codec.h
\include\vpx\vpx_encoder.h
\include\vpx\vpx_frame_buffer.h
\include\sodium.h
\lib\pkgconfig\libsodium.pc
\lib\pkgconfig\opus.pc
\lib\pkgconfig\toxcore.pc
\lib\pkgconfig\vpx.pc
\lib\libopus.a
\lib\libopus.la
\lib\libsodium.a

only in `windows-x32`:
\lib\libsodium.la
\lib\libtoxcore.a
\lib\libvpx.a

Only in `windows-x32_old`:
\include\sodium\randombytes_salsa20_random.h

As you can see, there is not only libsodium-files are different, but the most of this, and anyway, I got success to compile the working uTox.exe (v0.17.1) with the libraries from your repositary. I'll update that libraries and source code of this ASAP.

username1565 commented 4 years ago

As for your fork, i think the problem is the libsodium library, which is broken because the jenkins >automatic build uses an outdated gcc compiler. That's the reason why it crashes.

Here you were right. To resolve the main error of this issue, is enough to replace libsodium.a from your library uTox library - libsodium v1.0.18 which is available here COMPILE32.md.

Also, I see, there, you are using the lite-version of libtoxcore and this is not overwrite libsodium files, because not contains this.

Libraries was been updated. If you want to talk about some another aspects, you can just open another issue, and quote me there.

This issue is closed, with resolution of the main problem of this.