OpenMPT 1.27 and libopenmpt 0.3.0 remove support for old systems and compilers

Started by manx, August 24, 2016, 07:18:29

Previous topic - Next topic

Saga Musix

1) Old OpenMPT versions are always archived at https://download.openmpt.org/archive/openmpt/
2) We use version control (like any self-respecting software developer) so it is always possible go back to any previous version of the code and re-compile it. Since we are working on OpenMPT 1.27 and 1.26 in parallel (the latter only gets maintenance updates until OpenMPT 1.27 is released), it's even very easy to find this version, because it's stored in a separate branch: https://source.openmpt.org/browse/openmpt/branches/OpenMPT-1.26/
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Exhale

Quote from: Saga Musix on February 02, 2017, 00:03:28
1) Old OpenMPT versions are always archived at https://download.openmpt.org/archive/openmpt/
2) We use version control (like any self-respecting software developer) so it is always possible go back to any previous version of the code and re-compile it. Since we are working on OpenMPT 1.27 and 1.26 in parallel (the latter only gets maintenance updates until OpenMPT 1.27 is released), it's even very easy to find this version, because it's stored in a separate branch: https://source.openmpt.org/browse/openmpt/branches/1.26-maintenance/
Great to know, and having the links here, I think, will be ideal for this thread. I am no programmer, so I didn't know the systems used for those things, I just imagined myself in a situation of loosing my modplug and saw ominous black clouds of despair. Whatsapp just recently dropped support for my phone, so that whole nonsense spurred the vision.
___________________
The turtle moves!

manx

As OpenMPT 1.27 and libopenmpt 0.3.0 will still take some time until the release is ready, I am contemplating to drop even more compiler support than originally planned.
Visual Studio 2017 will be released before OpenMPT 1.27, thus we can drop VS2013 support in 1.27 and still have 2 supported Visual Studio versions.
Debian 9 will also very probably be released before libopenmpt 0.3.0, and thus we can drop GCC 4.6 and GCC 4.7 and still have the latest 2 Debian releases supported. The latest 2 Ubuntu LTS releases are also covered when requiring GCC 4.8.

Thus, the required compiler versions might very well end up being:

  • MSVC >= 2015
  • GCC >= 4.8
  • Clang >= 3.2

manx

Testing on an ancient Ubuntu 12.04 system with Wine 1.4 revealed that binaries compiled with Visual Studio 2015 actually do not work on Wine 1.4. Thus, contrary to the original plan, OpenMPT 1.27 will also remove support for Wine 1.4 and Wine 1.5.
The original post has been modified accordingly.

Saga Musix

It's worth mentioning that most relevant Linux desktop distributions ship with Wine 1.6 these days, and the Wine project also offers their own, always up-to-date repository for many distributions.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

manx

Updated statistics as of 2017-02-21:

Windows versions:

      Windows 98    0 %   #
      Windows ME    0 %   

     Windows NT4    0 %   

    Windows 2000    0 %   #
      Windows XP    3 %   #####
  Windows XP x64    0 %   #

   Windows Vista    1 %   ##
       Windows 7   30 %   ##############################################
       Windows 8    1 %   ##
     Windows 8.1    7 %   ###########

      Windows 10   55 %   ##################################################################################

            Wine    3 %   ######

Wine versions broken down:

    wine-unknown    2 %   ####

      wine-1.0.0    0 %   #

      wine-1.4.0    0 %   #

      wine-1.6.1    2 %   ###
      wine-1.6.2   34 %   ####################################################

      wine-1.7.0    0 %   #
     wine-1.7.37    1 %   ##
     wine-1.7.39    0 %   #
     wine-1.7.46    0 %   #
     wine-1.7.49    0 %   #
     wine-1.7.52    0 %   #
     wine-1.7.55    1 %   ##
      wine-1.8.0    4 %   #######
      wine-1.8.1    0 %   #
      wine-1.8.3    1 %   ##
      wine-1.8.4    2 %   ####
      wine-1.8.5    4 %   #######
      wine-1.8.6    4 %   ######

      wine-1.9.0    0 %   #
     wine-1.9.11    0 %   #
     wine-1.9.16    1 %   ##
     wine-1.9.17    0 %   #
     wine-1.9.18    2 %   ####
     wine-1.9.19    0 %   #
     wine-1.9.20    2 %   ###
     wine-1.9.21    2 %   ####
     wine-1.9.22    1 %   ##
     wine-1.9.23    5 %   #########
     wine-1.9.24    4 %   #######
     wine-2.0-rc    0 %   #
    wine-2.0-rc4    0 %   #
        wine-2.0    0 %   #
      wine-2.0.0   19 %   #############################

      wine-2.1.0    3 %   #####

The numbers are rounded half up, and the bars are rounded up (thus even a single user will always display a tiny bar).
Statistics account for systems we have seen over the last 3 month period.

manx


manx

As of today, 2017-03-20 (r7824), libopenmpt Windows test builds are built with VS2017 instead of VS2015.

manx

Updated statistics as of 2017-04-03:

Windows versions:

      Windows 98    0 %   #
      Windows ME    0 %   #

     Windows NT4    0 %   #

    Windows 2000    0 %   #
      Windows XP    3 %   #####
  Windows XP x64    0 %   #

   Windows Vista    1 %   #
       Windows 7   30 %   ##############################################
       Windows 8    1 %   ##
     Windows 8.1    7 %   ###########

      Windows 10   55 %   ###################################################################################

            Wine    3 %   ######

Wine versions broken down:

    wine-unknown    3 %   ####

     wine-1.1.44    0 %   #

      wine-1.6.1    1 %   ##
      wine-1.6.2   31 %   ###############################################

      wine-1.7.0    0 %   #
     wine-1.7.25    0 %   #
     wine-1.7.37    1 %   ##
     wine-1.7.39    0 %   #
     wine-1.7.46    0 %   #
     wine-1.7.49    0 %   #
     wine-1.7.55    0 %   #
        wine-1.8    0 %   #
      wine-1.8.0    3 %   #####
      wine-1.8.1    0 %   #
      wine-1.8.3    1 %   ##
      wine-1.8.4    1 %   #
      wine-1.8.5    5 %   ########
      wine-1.8.6    4 %   #######
      wine-1.8.7    0 %   #

      wine-1.9.0    0 %   #
     wine-1.9.11    0 %   #
     wine-1.9.15    0 %   #
     wine-1.9.16    0 %   #
     wine-1.9.17    0 %   #
     wine-1.9.18    2 %   ###
     wine-1.9.19    0 %   #
     wine-1.9.20    2 %   ###
     wine-1.9.21    2 %   ####
     wine-1.9.22    0 %   #
     wine-1.9.23    1 %   ##
     wine-1.9.24    1 %   ##
     wine-2.0-rc    0 %   #
    wine-2.0-rc4    0 %   #
        wine-2.0    0 %   #
      wine-2.0.0   18 %   ###########################

      wine-2.1.0    4 %   ######
      wine-2.2.0    4 %   ######
      wine-2.3.0    5 %   ########
        wine-2.4    0 %   #
      wine-2.4.0    3 %   #####
      wine-2.5.0    1 %   #

Wine host OS:

           macOS   13 %   #######
           Linux   88 %   ############################################

The numbers are rounded half up, and the bars are rounded up (thus even a single user will always display a tiny bar).
Statistics account for systems we have seen over the last 3 month period.

manx

The minimum compiler versions will almost certainly be:

  • MSVC >= 2015
  • GCC >= 4.8
  • Clang >= 3.4

Original post has been updated accordingly.

manx

OpenMPT 1.27 will include libmpg123, thus no external download of libmpg123 will be required in any case for MP3 sample import or built-in MO3 loading.
Build variant comparison table in original post has been updated accordingly.

Saga Musix

In case you wonder why we finally include an MP3 decoder right in the tracker: MP3 finally became patent-free and codecs no longer need to be licensed: https://madfileformatscience.garymcgath.com/2017/04/20/mp3-april-23/
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

manx

Updated statistics as of 2017-08-15:

Windows versions:

      Windows 98    0 %   #
      Windows ME    0 %   

     Windows NT4    0 %   

    Windows 2000    0 %   #
      Windows XP    2 %   ####
  Windows XP x64    0 %   #

   Windows Vista    0 %   #
       Windows 7   29 %   ###########################################
       Windows 8    1 %   ##
     Windows 8.1    7 %   ###########

      Windows 10   57 %   #######################################################################################

            Wine    3 %   #####

Wine stable vs. development series:

          stable   58 %   ##############################
     development   41 %   #####################
         unknown    0 %   #

Wine versions broken down by series (current development, stable, old development):

    wine-unknown    0 %   #

        wine-1.3    0 %   #
        wine-1.4    0 %   #

        wine-1.5    0 %   #
        wine-1.6   30 %   ##############################

        wine-1.7    2 %   ###
        wine-1.8   13 %   #############

        wine-1.9    2 %   ###
        wine-2.0   16 %   ################

        wine-2.x   36 %   #####################################

Wine host OS:

           macOS   17 %   #########
           Linux   83 %   ##########################################

The numbers are rounded half up, and the bars are rounded up (thus even a single user will always display a tiny bar).
Statistics account for systems we have seen over the last 3 month period.

manx

Wine versions used on Linux and Wine versions used on macOS.


Wine on Linux

        wine-1.3    0 %   #
        wine-1.4    0 %   

        wine-1.5    0 %   #
        wine-1.6   33 %   #################################

        wine-1.7    1 %   #
        wine-1.8   12 %   ############

        wine-1.9    1 %   #
        wine-2.0   11 %   ############

        wine-2.x   41 %   #########################################


Wine on macOS

        wine-1.6    3 %   ###

        wine-1.7   10 %   ##########
        wine-1.8   23 %   #######################

        wine-1.9    3 %   ###
        wine-2.0   48 %   ################################################

        wine-2.x   15 %   ###############


There are a couple of noteworthy observations to be made here:

  • really ancient Wine versions are not used on macOS
  • macOS users prefer stable Wine releases, while on Linux both, stable and development versions tend to get used
  • obsolete old development versions are not used on Linux, only the latest development versions tend to get used
  • Wine 1.6 is mainly only used on Linux still (this is very likely due to the fact that Ubuntu 16.04 LTS still shipped Wine 1.6 by default)

manx

libopenmpt compiler support vs. compiler release date:

       msvc    gcc     clang

2005   2005   4.0.0
            +-------+
2006        | 4.1.0 |
            |       |
2007        | 4.2.0 |
     +------+       |
2008   2008   4.3.0 |
                    |
2009          4.4.0 |
                    |
2010   2010   4.5.0 |   2.8
                    |    +----+- libopenmpt 0.2
2011          4.6.0 | 2.9+3.0
                    +----+
2012   2012   4.7.0   3.1-3.2
            +-------+
2013   2013 | 4.8.0 |   3.3
            |       +---------+- libopenmpt 0.3
2014        | 4.9.0   3.4-3.5
     +------+       
2015   2015    5.1    3.6-3.7 
                   
2016           6.1    3.8-3.9

2017   2017    7.1      4.0