Created attachment 355602 [details] czmq-9999.ebuild Live ebuild for net-libs/czmq fetched from the git repository. Compatible with the release ebuild to ease maintenance. Simplifications with EAPI=5 (I let the src_install commented). Tests passed : ============= 1 test passed ============= qlist : /usr/lib64/libczmq.la /usr/lib64/pkgconfig/libczmq.pc /usr/lib64/libczmq.so /usr/lib64/libczmq.so.1 /usr/lib64/libczmq.so.1.0.0 + lot of docs /usr/include/zloop.h /usr/include/ztree.h /usr/include/zstr.h /usr/include/zctx.h /usr/include/zhash.h /usr/include/zfile.h /usr/include/zbeacon.h /usr/include/zclock.h /usr/include/zsys.h /usr/include/czmq_prelude.h /usr/include/zsockopt.h /usr/include/zsocket.h /usr/include/zmutex.h /usr/include/czmq.h /usr/include/zmsg.h /usr/include/zlist.h /usr/include/zconfig.h /usr/include/zframe.h /usr/include/zthread.h /usr/bin/czmq_selftest
Comment on attachment 355602 [details] czmq-9999.ebuild ># Copyright 1999-2013 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-1.2.0.ebuild,v 1.3 2013/06/27 18:09:26 ago Exp $ > >EAPI=5 > >inherit autotools Please use autotools-utils.eclass > >DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ" >HOMEPAGE="http://czmq.zeromq.org" >if [[ ${PV} == *9999* ]]; then > EGIT_REPO_URI="git://github.com/zeromq/czmq.git" > DOCS=( NEWS AUTHORS COPYING ) > inherit git-2 autotools >else > SRC_URI="http://download.zeromq.org/${P}.tar.gz" > DOCS=( NEWS README AUTHORS ChangeLog COPYING ) >fi I seriously dislike this approach. Please drop everything which isn't needed for the live ebuild. > >RESTRICT="mirror" not needed for a live ebuild. > >LICENSE="LGPL-3" >SLOT="0" >KEYWORDS="amd64 x86" no stable KEYWORDS here. >IUSE="doc static-libs test" > >RDEPEND="" >DEPEND="doc? ( > app-text/asciidoc > app-text/xmlto > )" >if [[ ${PV} == *9999* ]]; then > DEPEND="$DEPEND > =net-libs/zeromq-9999" >else > DEPEND="$DEPEND > >=net-libs/zeromq-2.1" >fi > >src_prepare() { > if [[ ${PV} == *9999* ]]; then > eautoreconf > fi >} > >src_configure() { > econf $(use_enable static-libs static test) >} > >#src_install() { ># emake DESTDIR="${D}" install || die "emake install failed" ># dodoc NEWS README AUTHORS ChangeLog || die "dodoc failed" ># doman doc/*.[1-9] || die "doman failed" > > # remove useless .la files ># find "${D}" -name '*.la' -delete > > # remove useless .a (only for non static compilation) ># use static-libs || find "${D}" -name '*.a' -delete >#}
Created attachment 355746 [details] czmq-9999.ebuild ebuild modified according to #1, except the use of autotools-utils.eclass instead of autotools.eclass. emerge with autotools-utils.eclass fails for reasons out of my expertise : >>> Compiling source in /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999 ... >>> Working in BUILD_DIR: "/var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build" /var/tmp/portage/net-libs/czmq-9999/temp/environment: ligne 627 : pushd: /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build: No file nor directory of this type (original message : "Aucun fichier ou dossier de ce type") * ERROR: net-libs/czmq-9999 failed (compile phase):
Comment on attachment 355746 [details] czmq-9999.ebuild ># Copyright 1999-2013 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-9999.ebuild,v 0.2 2013/08/12 18:09:26 ago Exp $ > >EAPI=5 > >inherit autotools do AUTOTOOLS_AUTORECONF=true inherit autotools-utils > >DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ" >HOMEPAGE="http://czmq.zeromq.org" >EGIT_REPO_URI="git://github.com/zeromq/czmq.git" >DOCS=( NEWS AUTHORS COPYING ) >inherit git-2 autotools remove this line. > >LICENSE="LGPL-3" >SLOT="0" >KEYWORDS="~amd64 ~x86" >IUSE="doc static-libs test" > >RDEPEND="" >DEPEND="doc? ( > app-text/asciidoc > app-text/xmlto > ) > =net-libs/zeromq-9999" > >src_prepare() { > eautoreconf remove the src_prepare() and simply set AUTOTOOLS_ATUORECONF=true before the inherit line. >} > >src_configure() { > econf $(use_enable static-libs static test) >} src_configure can be removed completely as it is covert in the default function of the eclass.
With : ----------------------------------------------------------------------- EAPI=5 AUTOTOOLS_AUTORECONF=true inherit autotools-utils git-2 DESCRIPTION="CZMQ - High-level C Binding for ZeroMQ" HOMEPAGE="http://czmq.zeromq.org" EGIT_REPO_URI="git://github.com/zeromq/czmq.git" DOCS=( NEWS AUTHORS COPYING ) LICENSE="LGPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="doc static-libs test" RDEPEND="" DEPEND="doc? ( app-text/asciidoc app-text/xmlto ) =net-libs/zeromq-9999" ----------------------------------------------------------------------- The package builds well, but the autotest fails : make -j9 --load-average=8 check Making check in src make[1] : on entre dans le répertoire « /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build/src » make check-TESTS make[2] : on entre dans le répertoire « /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999_build/src » Running czmq self tests... * zclock: OK czmq_selftest: /var/tmp/portage/net-libs/czmq-9999/work/czmq-9999/src/zconfig.c:681: zconfig_test: Assertion `config' failed. * zconfig: /bin/sh : ligne 5 : 14442 Abandon ${dir}$tst FAIL: czmq_selftest ============================================ 1 of 1 test failed Please report to zeromq-dev@lists.zeromq.org ============================================ make[2]: *** [check-TESTS] Erreur 1 Over things have not changed. I retried my previous ebuild and it works. Is my new ebuild correct ? If yes, is there something different in autotools-utils.eclass that might make it fail ?
# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-libs/czmq/czmq-9999.ebuild,v 0.2 2013/08/12 18:09:26 ago Exp $ EAPI=5 AUTOTOOLS_AUTORECONF=true inherit autotools-utils git-2 DESCRIPTION="High-level C Binding for ZeroMQ" HOMEPAGE="http://czmq.zeromq.org" EGIT_REPO_URI="git://github.com/zeromq/czmq.git" LICENSE="LGPL-3" SLOT="0" KEYWORDS="" IUSE="doc static-libs test" RDEPEND="=net-libs/zeromq-9999" DEPEND="${RDEPEND} doc? ( app-text/asciidoc app-text/xmlto )" DOCS=( NEWS AUTHORS COPYING ) src_test() { cp "${S}"/src/selftest.cfg "${BUILD_DIR}"/src/ || die autotools-utils_src_test }
We need the live ebuild for zeromq itself.
Here it is : https://bugs.gentoo.org/show_bug.cgi?id=339416 I will modify it according to your remarks.
Your ebuild correction works, but the portage log is not generated anymore and I cannot check what it did and especially if the test was runned.
(In reply to lalebarde from comment #8) > Your ebuild correction works, but the portage log is not generated anymore > and I cannot check what it did and especially if the test was runned. What do you mean by "portage log is not generated"?
The last log I have is : /var/log/portage/net-libs:czmq-9999:20130812-094829.log Normally, I have a new log everytime I emerge something, either it passed or it failed. With the new ebuild, I have no new log.
okay, that another problem unrelated to the ebuild.
Moreover than not producing a log, your proposed version prevent another application that depends on czmq to build successfuly, while it works with the existing one. But the czmq's emerge looks successful otherwise. The only hypothesis I can foresee is if upstream uses an autotool version compatible with the autotools.eclass, but not with the autotools-utils.eclass. Does it make sense ?
(In reply to lalebarde from comment #12) > The only hypothesis I can foresee is if upstream uses an autotool version > compatible with the autotools.eclass, but not with the > autotools-utils.eclass. Does it make sense ? Not at all. What is the build error? What is the difference in the installed files (autotools.eclass vs autotools-utils.eclass)?
Created attachment 355776 [details] build output with autotools.eclass Here are the build differencies, built as follows : file name + path, size, md5sum - For autotools : qlist czmq | xargs md5sum | awk '{print $2 "\t" $1}' | sort > autotools1.txt qlist czmq | xargs ls -l | awk '{print $9 "\t" $5}' | sort > autotools2.txt join autotools2.txt autotools1.txt > autotools.txt - For autotools-utils : qlist czmq | xargs md5sum | awk '{print $2 "\t" $1}' | sort > autotools-utils1.txt qlist czmq | xargs ls -l | awk '{print $9 "\t" $5}' | sort > autotools-utils2.txt join autotools-utils2.txt autotools-utils1.txt > autotools-utils.txt
Created attachment 355782 [details] build output with autotools-utils.eclass Result : 1) All files are smaller with autotools-utils.eclass (of course, the hashes are useless, but I let them to keep track of my procedure). 2) Some files are lacking with autotools-utils.eclass : - /usr/include/zconfig.h (issue) - /usr/include/ztree.h (issue) - /usr/lib64/libczmq.la (ok, nice) - /usr/share/doc/czmq-9999/COPYING.bz2 (expected) - /usr/share/man/man3/zconfig.3.bz2 (problem) - /usr/share/man/man3/ztree.3.bz2 (problem) For the application which uses the czmq lib and fails when czmq is built with autotools-utils.eclass, the application is https://bugs.gentoo.org/show_bug.cgi?id=480496, built manually, not with this ebuild (BTW, if you can throw an eye into my problem there, you are welcome). The error is : curvezmq_codec.c: In function 's_process_message': curvezmq_codec.c:625:5: error: implicit declaration of function 'zframe_set_more' make[2]: *** [curvezmq_codec.lo] Erreur 1
its probably an out-of-source build problem which is a problem of upstreams buildsystem. Please attach the autotools version of the eubild so that I can test it.
I see no difference. Here what I get with my version: /var/tmp/portage/net-libs/czmq-9999/image/ /var/tmp/portage/net-libs/czmq-9999/image/usr /var/tmp/portage/net-libs/czmq-9999/image/usr/lib /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/bin /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/bin/czmq_selftest.debug /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/lib64 /var/tmp/portage/net-libs/czmq-9999/image/usr/lib/debug/usr/lib64/libczmq.so.1.0.0.debug /var/tmp/portage/net-libs/czmq-9999/image/usr/share /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999 /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/README.md.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/README.txt.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/AUTHORS.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/doc/czmq-9999/NEWS.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3 /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zbeacon.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zclock.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zconfig.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zctx.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zfile.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zframe.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zhash.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zlist.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zloop.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zmsg.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zmutex.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsocket.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsockopt.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zstr.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zsys.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/zthread.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man3/ztree.3.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man7 /var/tmp/portage/net-libs/czmq-9999/image/usr/share/man/man7/czmq.7.xz /var/tmp/portage/net-libs/czmq-9999/image/usr/bin /var/tmp/portage/net-libs/czmq-9999/image/usr/bin/czmq_selftest /var/tmp/portage/net-libs/czmq-9999/image/usr/include /var/tmp/portage/net-libs/czmq-9999/image/usr/include/ztree.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zthread.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsys.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zstr.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsockopt.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zsocket.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zmutex.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zmsg.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zloop.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zlist.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zhash.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zframe.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zfile.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zctx.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zconfig.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zclock.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/zbeacon.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/czmq_prelude.h /var/tmp/portage/net-libs/czmq-9999/image/usr/include/czmq.h /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64 /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so.1.0.0 /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/libczmq.so.1 /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/pkgconfig /var/tmp/portage/net-libs/czmq-9999/image/usr/lib64/pkgconfig/libczmq.pc
Here is the information requested from upstream : host-triplet: x86_64-pc-linux-gnu shell: /bin/bash compiler: gcc compiler flags: -Wall -g -O2 linker: /usr/bin/ld -m elf_x86_64 (gnu? yes) libtool: (GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1 automake: automake (GNU automake) 1.11.6 autoconf: autoconf (GNU Autoconf) 2.69
(In reply to Justin Lecher from comment #17) > I see no difference. So, what did you do exactly, just emerge with your ebuild on comment #5 ? Is it a problem then with my system ? It is up-to-date, except the kernel : 2.6.37-tuxonice
No, sorry, my update does not include the dependencies and libtool is one. I have only sys-devel/libtool-2.4-r1 !!! I am updating and retrying now.....
Created attachment 355858 [details] czmq-9999.ebuild This time, it works (thanks to the update of libtool to version 2.4.2). I have all the files, with the same size and hash for all .h and manuals, except 3 manuals over 18, and same size for all .so but not the same hash. No files are missing, the portage log is generated, and the autotest has passed. Thanks deeply for your help Justin.
Still we need the live ebuild for =net-libs/zeromq-9999
It is here : https://bugs.gentoo.org/show_bug.cgi?id=339416 I am going to update it from your remarks on czmq.
WE don't have the necessary dependencies.