{"id":5,"date":"2008-04-24T17:03:12","date_gmt":"2008-04-24T15:03:12","guid":{"rendered":"http:\/\/blogs.igalia.com\/xrcalvar\/2008\/04\/24\/compiling-epiphany-with-jhbuild-under-debian-amd64\/"},"modified":"2008-04-24T17:03:12","modified_gmt":"2008-04-24T15:03:12","slug":"compiling-epiphany-with-jhbuild-under-debian-amd64","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/xrcalvar\/2008\/04\/24\/compiling-epiphany-with-jhbuild-under-debian-amd64\/","title":{"rendered":"Compiling Epiphany+WebKit with jhbuild under debian amd64"},"content":{"rendered":"<p>The next challenge I faced with my debian amd64 was compiliing Epiphany with WebKit. As my system is &#8216;almost virgin&#8217; I had to install many libraries deveplopment packages that you won&#8217;t need to install if you have played enough with your system.<\/p>\n<p>First step if you have a dual core computer, activate it in .jhbuildrd with the line:<br \/>\n<code><br \/>\nos.environ['MAKE'] = 'make -j2'<br \/>\n<\/code><\/p>\n<p>I guess it should work if you just define the environment variable in the .bashrc.<\/p>\n<p>The first problem comes when compiling the bootstrap because gmp reminds you that you are under a 64 bits architecture. Configure stops because it can&#8217;t find a suitable compiler. I guess this should be fixed in jhbuild or just in gmp configure.in file because it doesn&#8217;t recognize the architecture correctly. To bypass this problem it is needed to specify the architecture to the package or for the whole jhbuild system. I preferred to avoid this problem for all packages and just added it in .jhbuild as:<br \/>\n<code><br \/>\nautogenargs='--build  x86_64-linux-gnu'<br \/>\n<\/code><\/p>\n<p>Actually the first problem you find is that gettext and autoconf stop compiling because of a wrong dependency in make process that causes it to try to compile something that wasn&#8217;t compiled yet. It is annoying but to bypass it just carry on compiling.<\/p>\n<p>Next problem came with guile. I say &#8216;came&#8217; instead of &#8216;comes&#8217; because when doing this again to test the steps problem had dissapeared. Maybe they fixed it, but it couldn&#8217;t find the gmp library that he had just compiled before. With external help we realized that and bypassed it specifying the place where libraries are:<br \/>\n<code><br \/>\nmodule_autogenargs['guile'] = autogenargs + ' --libdir \/yourgnomebuildinstallationdirectory\/lib64'<br \/>\n<\/code><\/p>\n<p>Until this moment, we were only compiling the bootstrap. Then you can begin with epiphany with <code>jhbuild build epiphany<\/code>. Next problem comes with gnome-doc-utils:<br \/>\n<code><br \/>\nI\/O error : Attempt to load network entity http:\/\/docbook.sourceforge.net\/release\/xsl\/current\/manpages\/docbook.xsl<br \/>\nwarning: failed to load external entity \"http:\/\/docbook.sourceforge.net\/release\/xsl\/current\/manpages\/docbook.xsl\"<br \/>\nerror<br \/>\nxsltParseStylesheetFile : cannot parse http:\/\/docbook.sourceforge.net\/release\/xsl\/current\/manpages\/docbook.xsl<br \/>\ncompilation error: file .\/xml2po.1.xml line 17 element refentry<br \/>\nxsltParseStylesheetProcess : document is not a stylesheet<br \/>\n<\/code><\/p>\n<p>What was missing was the package <em>docbook-xsl<\/em>. Next problems come with cairo:<br \/>\n<code><br \/>\nconfigure: error: flex is required to create the libIDL scanner<br \/>\n*** error during stage configure of libIDL: ########## Error running .\/autogen.sh --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\nconfigure: error: yacc is not usable as yacc - consider using bison<br \/>\n*** error during stage configure of libIDL: ########## Error running .\/autogen.sh --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\n<\/code><\/p>\n<p>Fixed if installing packages <em>flex<\/em> and <em>bison<\/em>.  Other problem with cairo is libpng. You need to install <em>libpng-dev<\/em> package but this is not enough because jhbuild replaces <em>PKG_CONFIG_PATH<\/em> environment variable, which causes it not to find it. Just adding the a line solves the problem (and many others that may appear) because it will search in system&#8217;s pkg-config system. This a solution but also a drawback: if any package configuration is not well written, it could cause you to use the system configuration instead of the compiled with jhbuild, though this should be a very rare thing. Line is:<br \/>\n<code><br \/>\naddpath('PKG_CONFIG_PATH', '\/usr\/lib\/pkgconfig')<br \/>\n<\/code><\/p>\n<p>While compiling GTK, avahi,icon-naming-utils and startup-notification I got:<br \/>\n<code><br \/>\n   * configure: WARNING: *** TIFF loader will not be built (TIFF library not found) ***<br \/>\nconfigure: error:<br \/>\n*** Checks for TIFF loader failed. You can build without it by passing<br \/>\n*** --without-libtiff to configure but some programs using GTK+ may<br \/>\n*** not work properly<br \/>\n*** error during stage configure of gtk+: ########## Error running .\/autogen.sh --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\nconfigure: error:<br \/>\n*** Checks for JPEG2000 loader failed. You can build without it by passing<br \/>\n*** --without-libjasper to configure<br \/>\n*** error during stage configure of gtk+: ########## Error running .\/autogen.sh --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\n*** error during stage configure of avahi: ########## Error running .\/configure --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64' --disable-qt3 --disable-qt4 --disable-mono --disable-monodoc --disable-manpages --disable-python --enable-compat-howl --enable-compat-libdns_sd --build  x86_64-linux-gnu  ***<br \/>\nchecking for XML::Simple... configure: error: XML::Simple perl module is required for icon-naming-utils<br \/>\n*** error during stage configure of icon-naming-utils: ########## Error running .\/configure --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\nconfigure: error: X11 development libraries\/headers not found<br \/>\n*** error during stage configure of startup-notification: ########## Error running .\/configure --prefix \/home\/calvaris\/nocrypt\/gnome\/install --libdir '${exec_prefix}\/lib64'  --build  x86_64-linux-gnu  ***<br \/>\n<\/code><\/p>\n<p>You need these packages for that:<\/p>\n<ul>\n<li><em>libtiff4-dev<\/em><\/li>\n<li><em>libjasper-dev<\/em><\/li>\n<li><em>libgdbm-dev<\/em><\/li>\n<li><em>libxml-simple-perl<\/em><\/li>\n<li><em>libxt-dev<\/em><\/li>\n<\/ul>\n<p>And then comes a very funny thing: gnome-desktop stops because it doesn&#8217;t find the <code>foundation-members.list<\/code> files. If taking a look at the autogen.sh (thanks, garnacho) you see the following:<br \/>\n<code><br \/>\nif test \"`which gvfs-copy`\" != \"\"; then<br \/>\n    gvfs-copy http:\/\/api.gnome.org\/gnome-about\/foundation-members gnome-about\/foundation-members.list<br \/>\nelse<br \/>\n    touch gnome-about\/foundation-members.list<br \/>\nfi<br \/>\n<\/code><\/p>\n<p>In this case problem is that it finds gvfs-copy (it had been compiled before), but it couldn&#8217;t copy the file and you don&#8217;t get it eventually. A <a href=\"http:\/\/bugzilla.gnome.org\/show_bug.cgi?id=517539\">bug<\/a> exists already about that but it was close as invalid, so I have to open a <a href=\"http:\/\/bugzilla.gnome.org\/show_bug.cgi?id=529704\">new one<\/a> to upload <a href=\"http:\/\/bugzilla.gnome.org\/attachment.cgi?id=109816\">a little patch<\/a> I created. To bypass the problem immediately, you only need to type:<br \/>\n<code>touch gnome-about\/foundation-members.list<\/code><\/p>\n<p>After continuing you can stop it at epiphany&#8217;s beginning, because you neither compiled nor installed webkit yet. I&#8217;ll carry on explaining how to compile webkit and epiphany in the next post. Enough for today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The next challenge I faced with my debian amd64 was compiliing Epiphany with WebKit. As my system is &#8216;almost virgin&#8217; I had to install many libraries deveplopment packages that you won&#8217;t need to install if you have played enough with &hellip; <a href=\"https:\/\/blogs.igalia.com\/xrcalvar\/2008\/04\/24\/compiling-epiphany-with-jhbuild-under-debian-amd64\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,7,8,9,11],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-gnome","category-planet-gnome","category-planet-gpul","category-planet-igalia","category-planeta-gnome-hispano"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":0,"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/xrcalvar\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}