Question about 32 bit dependencies

For 32 bit dependencies that also install binaries into /bin (and /sbin), is it enough to pass

–bindir=${FLATPAK_DEST}/bin32

and

–sbindir=${FLATPAK_DEST}/bin32

in their config-opts? or do I also need to do something like adjust the PATH for bin32 or add something to x-compat-i386-opts ?

I couldn’t find anything about it in documentations.

You don’t coinstall binaries for each architecture, that will not be useful as the first one in path will trump over the other one. The binary should be for one arch and if they don’t link to anything (other than what is in the i386 runtime) it should not matter.

Thanks for the answer.
So you mean the same binaries installed into /bin will be used by both 32 and 64 bit builds of the dependency?

For some more context, for org.winehq.Wine I need to ship both 32 and 64 bit builds of dependencies, and some of them (like krb5 and Samba) install files into both /lib (or /lib32) and /bin. The previous maintainer has set all the /bin files of dependencies for cleanup which turned out to be a wrong assumption, because someone reported to me that they’re actually needed by Wine to work properly. So that’s why I’m currently figuring out what to do with the /bin files of 32 bit builds of the same dependency.

I’m a bit confused, because if I don’t need /bin files for both architectures, then what is the /bin32 directory for?

I’ve also read that for Wine you actually do need /bin files of dependencies for both architectures and that files installed into /bin (or /bin32) are architecture dependant.

I have no idea where you are seeing /bin32, but having an executable named by the same name in two different places will cause conflicts on which one is used.

1 Like

Thanks. Then I guess what I heard about needing both was wrong info.

This topic was automatically closed after 42 hours. New replies are no longer allowed.