View Issue Details

IDProjectCategoryView StatusLast Update
0005839The Dark ModCodingpublic18.01.2022 17:00
Reporteres20490446e Assigned Tostgatilov  
PriorityhighSeveritymajorReproducibilityalways
Status newResolutionreopened 
PlatformLinuxOSManjaroOS VersionStable
Product VersionTDM 2.09 
Target VersionTDM 2.10Fixed in VersionTDM 2.10 
Summary0005839: conanfile.py: no longer available: zlib/1.2.11
DescriptionWhen building third party libraries:

$ conan install . --build --options platform_name=linux
ERROR: Failed requirement 'zlib/1.2.11@conan/stable' from 'conanfile.py'
ERROR: Unable to find 'zlib/1.2.11@conan/stable' in remotes
TagsNo tags attached.

Relationships

related to 0005881 assignedstgatilov Revise conan dependencies 

Activities

stgatilov

stgatilov

14.01.2022 01:19

administrator   ~0014675

Fixed the apparent problems in svn rev 9799.
More work postponed for 0005881.
es20490446e

es20490446e

17.01.2022 00:55

reporter   ~0014676

Please consider back-porting the fix into the latest stable release. Otherwise it's not possible to build it, hence package it.

ERROR: Failed requirement 'zlib/1.2.11@conan/stable' from 'conanfile.py'
ERROR: HTTPSConnectionPool(host='bincrafters.jfrog.io', port=443): Max retries exceeded with url: /artifactory/api/conan/public-conan/v2/conans/zlib/1.2.11/conan/stable/latest (Caused by ReadTimeoutError("HTTPSConnectionPool(host='bincrafters.jfrog.io', port=443): Read timed out. (read timeout=60.0)"))

Unable to connect to bincrafters=https://bincrafters.jfrog.io/artifactory/api/conan/public-conan
1. Make sure the remote is reachable or,
2. Disable it by using conan remote disable,
Then try again
stgatilov

stgatilov

17.01.2022 09:46

administrator   ~0014677

I think I'll not do that.

In fact, I don't even plan to use updated recipes for 2.10 release: I'll still use the artefacts built several months ago.
The issues in 3rd party libraries can be very subtle, and these artefacts worked for many dev builds with no complaints.
Don't want to risk rebuilding everything now.

It is sad that recipes do break over time, but that's life.
That's the exact reason why we keep binaries in our repo.
The code also often stops compiling with new versions of compilers.

When I created the conan system, I wanted to simplify developer's life, but make it more complicated.
es20490446e

es20490446e

17.01.2022 14:49

reporter   ~0014678

The thing is: packaging into Linux requires everything to be built from source. Since it's a widespread security requirement, and for very good reasons. It's the sole cause why malware doesn't exist.

Updating libraries frequently has a very subtle but huge advantage: bugs come little by little, instead all together when you have no option but to update.

At the same time the most grave bugs are transient, because those are the ones everyone wants fixed. Meanwhile if something really goes really ugly you can simply keep the previous build.

The point is that if something requires constant work, usually it's better to spend a little initial time delegating or automating it. Either automating the generation of recipes, or simply detecting when they no longer work.

What do you think we should do in this regard?
stgatilov

stgatilov

17.01.2022 14:58

administrator   ~0014679

Ehhm.. Uhm... Stop trying to put TDM into distributions =)
es20490446e

es20490446e

17.01.2022 16:51

reporter   ~0014680

No way �
es20490446e

es20490446e

18.01.2022 14:02

reporter   ~0014681

I understand this is extra work for you, and I never really expected you to do it.

But the thing is I want it done, and I will do it with or without anyone's help.

Because I find it much convenient having the game installed as I'm providing it: as a system wide application that can be installed and updated as any other package, continuously built from source without human interaction.

I don't expect anyone to have such high standards. Follow me if you can :D
stgatilov

stgatilov

18.01.2022 14:18

administrator   ~0014682

Maybe you can just ditch the conan stuff?

First make your distribution to provide all the needed dependencies as packages.
Then I guess you need to remove this line from our CMake:
  # find third-party package modules
  list(PREPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/ThirdParty/cmake_find_package")
After that just build, and CMake should find all system packages.

There is a catch though:
1) I guess some of the smaller libs are not provided by distribution, so you'll have to get them somehow.
2) Some libs are used in rather extraordinary way.
  For instance, libjpeg is used with access to "internals".
  Wrong version of zlib might be dangerous because we hack with zlib internal data structures (alias structs).
  And default FFmpeg build provides much more than what we use (players don't care though).
es20490446e

es20490446e

18.01.2022 17:00

reporter   ~0014683

Thanks. I will consider that.

Issue History

Date Modified Username Field Change
15.12.2021 22:47 es20490446e New Issue
14.01.2022 01:18 stgatilov Relationship added related to 0005881
14.01.2022 01:18 stgatilov Target Version => TDM 2.10
14.01.2022 01:18 stgatilov Assigned To => stgatilov
14.01.2022 01:18 stgatilov Status new => resolved
14.01.2022 01:18 stgatilov Resolution open => fixed
14.01.2022 01:18 stgatilov Fixed in Version => TDM 2.10
14.01.2022 01:19 stgatilov Note Added: 0014675
17.01.2022 00:55 es20490446e Note Added: 0014676
17.01.2022 00:55 es20490446e Status resolved => feedback
17.01.2022 00:55 es20490446e Resolution fixed => reopened
17.01.2022 00:56 es20490446e Status feedback => new
17.01.2022 09:46 stgatilov Note Added: 0014677
17.01.2022 14:49 es20490446e Note Added: 0014678
17.01.2022 14:58 stgatilov Note Added: 0014679
17.01.2022 16:51 es20490446e Note Added: 0014680
18.01.2022 14:02 es20490446e Note Added: 0014681
18.01.2022 14:18 stgatilov Note Added: 0014682
18.01.2022 17:00 es20490446e Note Added: 0014683