Bug 240054 - audio/linux-c7-openal-soft: Add missing 32-bit libraries
Summary: audio/linux-c7-openal-soft: Add missing 32-bit libraries
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Tijl Coosemans
Keywords: needs-qa
Depends on:
Reported: 2019-08-23 09:46 UTC by Hannes Hauswedell
Modified: 2019-09-03 14:44 UTC (History)
6 users (show)

See Also:
bugzilla: maintainer-feedback? (emulation)
koobs: maintainer-feedback+
koobs: maintainer-feedback? (h2+fbsdports)

unigine-heaven (826 bytes, patch)
2019-09-02 08:28 UTC, Tijl Coosemans
h2+fbsdports: maintainer-approval-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hannes Hauswedell 2019-08-23 09:46:55 UTC
... while all the other -c7 packages install 32bit and 64bit libs on a 64bit host.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-08-23 10:05:25 UTC
@Hannes I have updated the summary to reflect my understanding of the described issue, given the limited information and a quick look at the ports pkg-plist, which appears only to contain /usr/lib64/*.so entries. If it is incorrect (not what you meant), please let me know.

For future bug reports, when describing issues and/or proposed change(s), its useful and helpful (for example) to explicitly list:

Current Behaviour/outcome:

 Only 64-bit libraries are installed

Expected Behaviour/outcome:

 *Both* 64-bit and 32-bit libraries are installed (on an amd64 host)

^Triage: While I'm here, CC committer/submitter of ports r424259 (See Also: https://reviews.freebsd.org/D7886), which includes the following comment:

"Add support for 64-bit only ports: set IGNORE on i386 and don't install 32-bit compat libraries on amd64"

Which may indicate intentional behaviour.
Comment 2 Hannes Hauswedell 2019-08-24 14:05:16 UTC
(In reply to Kubilay Kocak from comment #1)

Thank you for looking into this and sorry for the incomplete description. Your updated description of the problem is absolutely correct.

I don't fully comprehend which package sites are chosen when (seems to be a mixture of CentOS and fedora), but it seems like you are right and there is no official openal-soft package for i686.

I found this package which seems to work:

But I can't double check because the game that needs it has other issues. Also I don't know what the policy is on including packages from inofficial repos.

In general, it's been a while for me working with bugzilla so sorry if I get some things wrong. I want to re-evaluate whether I can get rid of the linux-dualboot now. In general I am testing quite a few games with linux-c7. What is the procedure for problems I find? Should I report each individual game or should I try to aggregate similar looking problems into individual reports?

I can make all games available to maintainers for debugging if you e-mail me :)
Comment 3 Alex S 2019-08-24 15:20:06 UTC
> I want to re-evaluate whether I can get rid of the linux-dualboot now.
> I am testing quite a few games with linux-c7. What is the procedure for problems I find?
Probably reporting a bug to CentOS project ;) In general, running games with linux-c7 set of packages is a losing proposition. I might submit a port for https://github.com/ValveSoftware/steam-runtime in the future.
Comment 4 Tijl Coosemans freebsd_committer 2019-09-02 08:28:49 UTC
Created attachment 207093 [details]

Centos 7 only has unofficial support for i386 and the external repository EPEL where the openal package is fetched from does not provide i386 packages.  Instead of trying to find i386 packages it's better to try the 64 bit versions of games and other programs.

This patch should do that for games/linux-unigine-heaven.
Comment 5 Hannes Hauswedell 2019-09-03 07:31:06 UTC
Thanks for working on this, but the bug report is not about linux-unigine-heaven. linux-unigine-heaven's port uses the launcher which correctly loads the 64bit version of the benchmark on 64bit systems which correctly detects sound (openal is shipped). 
[At least it does so on my system, if it does not on yours, please let me know!]

So please do not change the port to circumventing the launcher, it makes it more difficult to select Fullscreen/resolution before running.

A game that doesn't ship libopenal, but needs it, is e.g. Trine2. It also only comes as a 32bit version.
Comment 6 commit-hook freebsd_committer 2019-09-03 09:20:25 UTC
A commit references this bug:

Author: tijl
Date: Tue Sep  3 09:20:10 UTC 2019
New revision: 510930
URL: https://svnweb.freebsd.org/changeset/ports/510930

  Add i386 library from Harbottle wine32 repository.  This is needed by some
  32-bit only Linux games.

  PR:		240054

Comment 7 Tijl Coosemans freebsd_committer 2019-09-03 09:27:12 UTC
(In reply to Hannes Hauswedell from comment #5)
The unigine-heaven port also installs a little script in /usr/local/bin that always seems to run the i386 version.  The patch changes this so it runs the bundled launcher script which then chooses between i386 and x86_64.
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2019-09-03 09:31:08 UTC
Thank you for taking care of this Tijl

Will leave it with you & Hannes to determine if any any improvements are to be had in games/linux-unigine-heaven (please reference this PR for any commits to that port too)
Comment 9 Hannes Hauswedell 2019-09-03 10:26:51 UTC
Thank you very much, Tijl, for adding the 32bit libs to the openal-port!!

Regarding your patch to games/linux-unigine-heaven:

Sorry, I misunderstood your patch in the beginning because the script that you are calling "./heaven" in ${DATADIR} isn't actually installed by the port and I got confused as to what you were trying to execute with the wrapper.

As I stated above, the port currently works (the launcher dispatches to the amd64 version), but your solution is safer in case we remove 32bit linux support at some point. 

I have created a new patch, that includes yours, but also actually installs the script that we want to call. I have also changed your code to call ${LINUXBASE}/bin/bash and not ${LINUXBASE}/bin/sh in case linux-base ever changes to something that doesn't ship bash as sh.

I will also have a look at the other unigine ports and include the patch with the MASTER_SITE updates in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239783 , ok?
Comment 10 Tijl Coosemans freebsd_committer 2019-09-03 14:39:48 UTC
Ok, can we close this bug now, or do you need more 32 bit libraries?
Comment 11 Hannes Hauswedell 2019-09-03 14:44:47 UTC
(In reply to Tijl Coosemans from comment #10)

We can close!