{"id":4011,"date":"2019-01-07T18:26:13","date_gmt":"2019-01-07T17:26:13","guid":{"rendered":"https:\/\/rephlex.de\/blog\/?p=4011"},"modified":"2019-01-07T19:16:46","modified_gmt":"2019-01-07T18:16:46","slug":"workaround-of-the-month-fix-broken-n32-o32-virtalenv-on-gentoo-mips-when-emerging-spidermonkey-52-9-1pre1","status":"publish","type":"post","link":"https:\/\/rephlex.de\/blog\/2019\/01\/07\/workaround-of-the-month-fix-broken-n32-o32-virtalenv-on-gentoo-mips-when-emerging-spidermonkey-52-9-1pre1\/","title":{"rendered":"Workaround of the month: Fix broken n32 o32 virtalenv on Gentoo mips when emerging spidermonkey-52.9.1pre1"},"content":{"rendered":"\n<p>Virtualenv ist utterly broken when you run Gentoo on MIPS using n32.<\/p>\n\n\n\n<p>This will lead to spidermonkey-52.9.1pre1 failing to emerge, because of &#8222;ImportError: No module named pkgutil&#8220; or the like. Here&#8217;s how to fix it:<\/p>\n\n\n\n<p><strong>Step 1:<\/strong> as&nbsp;root, create a user patch directory and download <a href=\"https:\/\/rephlex.de\/blog\/wp-content\/uploads\/2019\/01\/patch.txt\">my patch for virtualenv<\/a> into it, so emerge applies it to the source as soon as you re-emerge the package<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir -p \/etc\/portage\/patches\/dev-python\/virtualenv-16.0.0<br>wget -O \/etc\/portage\/patches\/dev-python\/virtualenv-16.0.0\/virtualenv-16.0.0-multilib.patch https:\/\/rephlex.de\/blog\/wp-content\/uploads\/2019\/01\/virtualenv-16.0.0-multilib.patch.txt<a href=\"https:\/\/rephlex.de\/blog\/wp-content\/uploads\/2019\/01\/patch.txt\"><\/a><\/pre>\n\n\n\n<p><strong>Step 2:<\/strong> and download multiarch.patch into the directory we just created<\/p>\n\n\n\n<p><strong>Step 3:<\/strong> as root, test if the patch executes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd \/usr\/portage\/dev-python\/virtualenv<br>ebuild virtualenc-16.0.0.ebuild clean prepare<\/pre>\n\n\n\n<p><strong>Step 4:<\/strong> re-emerge dev-lang\/python-exec and dev-python\/virtualenv<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">emerge dev-lang\/python-exec dev-python\/virtualenv<\/pre>\n\n\n\n<p><strong>Step 5:<\/strong> Create a necessary symlink<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ln -s \/usr\/lib32\/python2.7 \/usr\/lib\/python2.7<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>You&#8217;re done!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Virtualenv ist utterly broken when you run Gentoo on MIPS using n32. This will lead to spidermonkey-52.9.1pre1 failing to emerge, because of &#8222;ImportError: No module named pkgutil&#8220; or the like. Here&#8217;s how to fix it: Step 1: as&nbsp;root, create a user patch directory and download my patch for virtualenv into it, so emerge applies it [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4011","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/posts\/4011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/comments?post=4011"}],"version-history":[{"count":3,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/posts\/4011\/revisions"}],"predecessor-version":[{"id":4020,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/posts\/4011\/revisions\/4020"}],"wp:attachment":[{"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/media?parent=4011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/categories?post=4011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rephlex.de\/blog\/wp-json\/wp\/v2\/tags?post=4011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}