Please rebuild irrlicht with _IRR_MATERIAL_MAX_TEXTURES_ set to 8, this is needed for the new 0.8.1 supertuxkart release (and maybe also fixes some issues with current supertuxkart 0.8). The new supertuxkart-0.8.1 contains this check, especially for distros like Fedora which like to use systemlibs :) : /* Build-time check that the Irrlicht we're building against works for us. * Should help prevent distros building against an incompatible library. */ #if IRRLICHT_VERSION_MAJOR < 1 || IRRLICHT_VERSION_MINOR < 7 || \ _IRR_MATERIAL_MAX_TEXTURES_ < 8 || !defined(_IRR_COMPILE_WITH_OPENGL_) || \ !defined(_IRR_COMPILE_WITH_B3D_LOADER_) #error "Building against an incompatible Irrlicht. Distros, please use the included version." #endif
p.s. I've checked the irrlicht public headers and changing this define does not change the ABI. So it should be just a matter of a rebuild. I see you've just build 1.8.1 for rawhide, should we also update f19 / f20 to 1.8.1 while at it? If you want me to I can take care of doing this.
upstream has rejected this patch IIRC :( because reduce performance on proprietary drivers NVIDIA mwhaha. +1 from me for fixing this.
Created attachment 830237 [details] 0001-Change-_IRR_MATERIAL_MAX_TEXTURES_-to-8-RHBZ-1035757.patch
Created attachment 830239 [details] 0001-Change-_IRR_MATERIAL_MAX_TEXTURES_-to-8-RHBZ-1035757.patch use git am
Hans, could you commit this to irrlicht, because seems Tom busy ?
While I am busy, I'm a little concerned about forking from upstream here.
(In reply to Tom "spot" Callaway from comment #6) > While I am busy, I'm a little concerned about forking from upstream here. No forking. Some enhancement ;)
If upstream will not take a patch, for us to carry it is a fork.
Hi Tom, (In reply to Tom "spot" Callaway from comment #6) > While I am busy, I'm a little concerned about forking from upstream here. I understand, note I've been unable to find much of a discussion with upstream about why they don't want to change the default. As for forking, well not really, it is in a variable for user configurable settings we would just be deviating from upstreams default for that setting, and it should not effect any apps which are not actually using that many textures, it just raises the maximum an app can use. We really need this for supertuxkart, which by default uses a bundled irrlicht with this setting changed, and I assume the supertuxkart developers have run the necessary tests with the new setting, they don't do releases very often, so when they do they do tend to make sure everything is tested well, to avoid needing to do another (bugfix) release soon after, Also supertuxkart is one of irrlichts main consumers in Fedora, next too SolarModel that is. Other then that there seem to be no other serious users of irrlicht. If it is ok with you I would really like to bump _IRR_MATERIAL_MAX_TEXTURES_ to 8. I can do a local build with this and run some tests to confirm that SolarModel still works before moving forward with doing a build in koji. Regards, Hans
Okay, that makes sense, I'll just go ahead and apply the change.
irrlicht-1.8.1-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/irrlicht-1.8.1-2.fc19
irrlicht-1.8.1-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/irrlicht-1.8.1-2.fc20
Package irrlicht-1.8.1-2.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing irrlicht-1.8.1-2.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-24157/irrlicht-1.8.1-2.fc19 then log in and leave karma (feedback).
irrlicht-1.8.1-2.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
irrlicht-1.8.1-2.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
Oops, bumping the configuration option didn't change the ABI, but upgrading from 1.8 to 1.8.1 apparently did: supertuxkart: Symbol `_ZN3irr5video16IdentityMaterialE' has different size in shared object, consider re-linking Irrlicht Engine version 1.8.1 [snip] [IrrDriver Temp Logger] Level 2: Warning: The library version of the Irrlicht Engine (1.8.1) does not match the version the application was compiled with (1.8.0). This may cause problems. [snip] Segmentation fault And by the way, there's also this warning: !!!!! Performance warning: Irrlicht compiled with debug mode.!!!!! !!!!! This can have a significant performance impact !!!!!
Actually, "Symbol `_ZN3irr5video16IdentityMaterialE' has different size in shared object, consider re-linking" IS an ABI change from the changed _IRR_MATERIAL_MAX_TEXTURES_ parameter. In any case, SuperTuxKart needs to be rebuilt, in fact, probably ALL users of Irrlicht.
The segfault happens in irr::scene::CMeshSceneNode::copyMaterials(), so it's almost certainly a result of this ABI change.
I see a SuperTuxKart update was pushed for Fedora 20, I reopened the bug asking for an update for Fedora 19 now: https://bugzilla.redhat.com/show_bug.cgi?id=1035756#c7