{"id":24486043,"url":"https://github.com/therealbstern/compat64-tools","last_synced_at":"2025-03-14T22:12:12.030Z","repository":{"id":139664685,"uuid":"136599878","full_name":"therealbstern/compat64-tools","owner":"therealbstern","description":"Scripts for running a 64-bit multilib install on 32-bit Slackware Linux, based on AlienBob's compat32-tools","archived":false,"fork":false,"pushed_at":"2018-10-29T21:45:05.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T14:37:36.565Z","etag":null,"topics":["multilib","slackware","slackware-scripts"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/therealbstern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T09:45:07.000Z","updated_at":"2024-04-02T17:44:07.000Z","dependencies_parsed_at":"2023-07-23T09:15:41.716Z","dependency_job_id":null,"html_url":"https://github.com/therealbstern/compat64-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealbstern%2Fcompat64-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealbstern%2Fcompat64-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealbstern%2Fcompat64-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealbstern%2Fcompat64-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/therealbstern","download_url":"https://codeload.github.com/therealbstern/compat64-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243652702,"owners_count":20325611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["multilib","slackware","slackware-scripts"],"created_at":"2025-01-21T14:32:00.346Z","updated_at":"2025-03-14T22:12:12.025Z","avatar_url":"https://github.com/therealbstern.png","language":"Shell","readme":"__WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING__\n\nThis been poorly tested and is very much a work in progress.\n\nUse at your own risk.\n\n__WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING__\n\n\n# Using 64-bit Binaries on 32-bit Slackware\n\nIn order to use and compile 64-bit software on 32-bit Slackware, you will have\nto replace your gcc and glibc packages with multilib versions, or else install\n'compat64' packages for gcc and glibc that add the 64-bit binaries for these\npackages. You can not just take the binaries from a 64bit Slackware.  Instead,\nthe 'compat64' versions of the gcc and glibc packages will have to be compiled\non the 32bit system.\n\nYou will also need to install several supporting 64-bit libraries.  These\nlibraries can be taken from the 64-bit Slackware of the same version as your\n32-bit Slackware.  To make things easier for you, this package contains two\nscripts:\n\n    convertpkg-compat64\n    massconvert64.sh\n\nThe first script converts a single 64-bit Slackware package into a 'compat64'\npackage that can be installed on 32-bit Slackware.  The second script will do\nthe hard work for you: it contains an internal list of Slackware packages that\nyou will need for a functional multilib 32-bit Slackware.  The script will\nconvert these packages to 'compat64' packages.  All that the script needs is a\nsingle command-line argument: the path to a local 64-bit Slackware package\ntree (this is the directory below which you find 'a', 'ap', ... 'y'\nsubdirectories).\n\nYou will also need qemu-x64 installed, so that you can run 64-bit binaries on\na 32-bit kernel.  (This does work, despite allegations to the contrary, though\nit is certainly not as fast as running 32 binaries on a 64 bit kernel\nnatively.)\n\n\n# Building 64-bit binaries on 32-bit Slackware\n\nIn order to compile 64-bit software when the full set of multilib binaries is\ninstalled, all that you need is adding \"-m64\" to the compiler flags.  Quite a\nfew build systems however insist on adding -m32, regardless of what you tell\nit.  For this reason, the package installs a few scripts to enforce 64-bit\nbuilds. To load them into your path (including wrappers around gcc) you only\nneed to run the following command in your bash shell:\n\n    . /etc/profile.d/64dev.sh\n\nNote the single dot followed by a space: this is the 'source' command which\nwill set the various variables in your current shell environment.  Do not\nforget to exit from your shell (and login again) after you have finished\ncompiling your 64-bit software, to get rid of the 64-bit-enforcing\nenvironmental variables!\n\nAdditionally, if you compile any 64-bit binaries that conflict with 32-bit\nversions, they should be installed into bin/64/, not bin/.\n\nA typical invocation of the 'configure' command as an example:\n\n    . /etc/profile.d/64dev.sh\n    ./configure \\\n      --prefix=/usr \\\n      --bindir=/usr/bin/64\n\n\n# Keeping your multilib environment up to date\n\nThe third-party program `compat32pkg` is able to keep 32-bit on 64-bit\nmultilib packages up to date for Slackware64.  It works similarly to\nslackpkg for regular Slackware.  See\n[compat32pkg.sourceforge.net](http://compat32pkg.sourceforge.net).\n[However, no such program yet exists for 32-bit Slackware, to the best of my\nknowledge.  -therealbstern]\n\n---\n\nOriginally by Eric Hameleers \u003calien@slackware.com\u003e 15-Nov-2010\n\nMinor modifications by Ben Stern \u003cbas-github@fortian.com\u003e 23-Mar-2018\n\nLicensed under [CC Attribution-Share Alike 4.0\nInternational](https://creativecommons.org/licenses/by/4.0/), except for\n`qemu-binfmt-conf.sh`, which is based upon\n[QEMU](https://github.com/qemu/qemu/blob/master/scripts/qemu-binfmt-conf.sh)'s\nscript of the same name, and is licensed under the GPL version 2.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealbstern%2Fcompat64-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherealbstern%2Fcompat64-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealbstern%2Fcompat64-tools/lists"}