Saturday April 10, 2010

[Time] NameMessage
[08:52] mikko good morning
[08:52] sustrik mikko: morning
[09:02] mikko getSockOpt added
[09:02] sustrik !
[09:02] mikko ended up adding ifndef and
[09:04] sustrik 2.0.6 vs. 2.0.7 isn't sufficient?
[09:05] mikko if you do $z = new ZeroMq(ZeroMQ::SOCKET_REP); $z->connect("tcp://lo:5555"); unset($z); in 2.0.6 it will crash on assertion error
[09:10] mikko with 2.0.6 people need to remember that socket needs recv/send or when the object get garbage collected it might terminate the script
[09:10] mikko but other than that it should work with 2.0.6 as well
[09:26] mato sustrik: are you there?
[09:26] sustrik mato: yes
[09:27] mato sustrik: do you have the original patch for the debian packaging by peter busser? (that which is currently in git)
[09:27] sustrik i presume
[09:27] mato sustrik: can you find it please?
[09:27] sustrik but why not get it from git?
[09:28] mato sustrik: i need to see that he sent it under the MIT license
[09:28] mato sustrik: could you please find the email with the original patch and forward it to me? it must have gone to you privately since i don't see anything obvious in the list archive
[09:30] sustrik found couple of them
[09:30] sustrik forwarding...
[09:30] mato thanks
[09:31] sustrik anyway, it's just packaging, the license is irrelevant imo
[09:31] mato no it's not
[09:32] sustrik starting test env
[09:32] mato thanks
[09:42] mikko github is interesting: when you go to the wiki side it doesnt show you are logged in
[09:42] mikko shows "Pricing and signup"
[09:45] mikko have you got redhat packaging ?
[09:45] mato nope
[09:45] mikko i can do spec files if that is needed
[09:45] mikko i've been doing them at work for the past year and a half
[09:46] mato might be useful
[09:46] mato tho we'll have to figure out where the spec files will go
[09:46] mato i had to spend 3 days convincing sustrik that the debian packaging could be in debian/
[09:47] mikko redhat/ usually
[09:47] mato that'll just annoy him about "creating more mess in the top level directory" :-)
[09:47] mikko usually in release packages .spec is in the root of the release package
[09:48] mikko that allows building with rpmbuild -tb zeromq-x.x.x.tar.gz
[09:48] mato right
[09:48] mato well, we can figure something out
[09:48] mato it'd be nice to have RPM-land accounted for
[09:48] mikko maybe in builds/ ?
[09:48] mato yeah
[09:49] mato and make dist can copy them to the toplevel when making the tarball, sustrik will never know :-)
[09:49] mato that way the rpmbuild trick you mentioned will work
[09:49] mato if that's what people are used to
[09:49] mato i've not used a rpm-based distro for years
[09:49] mikko most of the companies where i've worked for use RHEL
[09:50] mato yeah, i know
[09:50] mato if you have the time, the contribution would be welcome
[09:50] mikko im already on it
[09:51] mato i suggest you copy the current debian packaging
[09:51] mato (that in adrian's hg repository)
[09:51] mato in terms of actual packages built
[09:51] mato you want something equivalent to:
[09:51] mato dpkg-deb: building package `libzmq0' in `../libzmq0_2.0.6beta.dfsg-2_amd64.deb'.
[09:51] mato dpkg-deb: building package `zeromq-bin' in `../zeromq-bin_2.0.6beta.dfsg-2_amd64.deb'.
[09:51] mato dpkg-deb: building package `libzmq-dev' in `../libzmq-dev_2.0.6beta.dfsg-2_amd64.deb'.
[09:51] mato dpkg-deb: building package `libzmq-dbg' in `../libzmq-dbg_2.0.6beta.dfsg-2_amd64.deb'.
[10:11] mikko hmm.. testing the spec file and i didn't have 'g++' but configure still passes
[10:13] mato that's strange :) I've not tried on a machine w/o g++
[10:33] mikko does --with-pgm add additional dependencies?
[10:37] mikko ah got it
[10:52] mato yes
[10:52] mato glib and gthread
[10:52] mato but you only want --with-pgm on x86 and amd64
[10:53] mikko 95% of the hosts?
[10:53] mikko maybe
[10:54] mato the point is pgm is not supported and won't build on anything else atm
[10:55] mato so on anything non-x86 you want to build packages w/o that
[10:55] mato which is what the debian package does
[10:55] mikko RHEL supports
[10:55] mikko # Intel Itanium2
[10:55] mikko # IBM POWER
[10:55] mikko # IBM System z and S/390
[10:55] mikko apart from the others
[10:55] mikko i'll add a condition for that
[11:18] mikko
[11:18] mikko initial version there
[11:18] mikko i'll do some tweaking later today
[11:30] CIA-5 zeromq2: 03Adrian von Bidder 07master * r8aa2acd 10/ (35 files in 2 dirs): Debian packaging update from Adrian von Bidder -
[11:30] CIA-5 zeromq2: 03Martin Lucina 07master * r1dc0380 10/ (4 files):
[11:30] CIA-5 zeromq2: Debian packaging fixes suitable for 0MQ git
[11:30] CIA-5 zeromq2: Removed README.source, TODO.source since these are irrelevant to a generic
[11:30] CIA-5 zeromq2: git package.
[11:30] CIA-5 zeromq2: Fixed spelling in debian/copyright.
[11:30] CIA-5 zeromq2: Removed RFC check in debian/rules, again irrelevant to a generic git package. -
[14:19] sustrik mato: ping
[14:19] mato sustrik: yes?
[14:19] sustrik still using the test env?
[14:19] mato no
[14:19] mato didnt get around to it at all
[14:19] sustrik can i switch it off?
[14:19] mato am mucking with the build stuff
[14:19] mato yes
[14:19] sustrik goodo, it's kind of noisy
[14:20] sustrik btw, can we set cia for the projects that don't support it yet?
[14:20] mato ?
[14:21] sustrik i have at least rbzmq and jzmq
[14:21] sustrik are those reported via CIA?
[14:21] mato just a moment
[14:21] mato let me finish what i'm doing :)
[14:21] sustrik fine, ping me then
[14:22] CIA-5 zeromq2: 03Martin Lucina 07master * r770aedb 10/ ( src/
[14:22] CIA-5 zeromq2: Build fixes for Solaris and non-GNU compilers
[14:22] CIA-5 zeromq2: Compiling C++ code with -D_POSIX_SOURCE on Solaris is unsupported, so remove it.
[14:22] CIA-5 zeromq2: Isolate GCC-isms inside checks that we are actually using GCC/G++.
[14:22] CIA-5 zeromq2: Only check for -lstdc++ when on GCC and doing static linking. -
[14:27] CIA-5 zeromq2: 03Martin Sustrik 07master * rc214a24 10/ (src/forwarder.cpp src/queue.cpp src/streamer.cpp): fix for Sun C++ 5.8 -
[14:33] mikko make[2]: *** No rule to make target `zmq_forwarder.1', needed by `dist-hook'. Stop.
[14:33] mikko during make dist
[14:33] mikko do i need to do something special?
[14:34] mato make dist generates documentation
[14:34] mato so you need asciidoc and xmlto installed
[14:34] mato then re-run configure and it'll work fine
[14:35] mikko mm
[14:35] mikko hefty package
[14:35] mikko Need to get 492MB/494MB of archives.
[14:35] mikko After this operation, 899MB of additional disk space will be used.
[14:35] mato :-)
[14:35] mato yeah, i know
[14:36] mato normal users need never see it though
[14:36] mato what are you doing 'make dist' for anyway? :-)
[14:37] mato crap
[14:37] mikko moved the spec file to builds/redhat/zeromq2.spec and making a dist-hook to copy to top-level
[14:37] mato sustrik: ping
[14:37] mikko and remove after distclean
[14:37] mato ah :)
[14:37] mato fair enough
[14:37] mikko also trying to look into why configure succeeds when g++ is missing
[14:38] mikko or why it tries to use g++ even though it's not there
[14:38] mato default behaviour
[14:38] mato
[14:38] sustrik mato: pong
[14:38] mato . If none of those checks succeed, then as a last resort set CXX to g++.
[14:38] mato sustrik: I have a problem with the perf tests
[14:38] mikko If none of those checks succeed, then as a last resort set CXX to g++.
[14:38] mikko ah
[14:39] sustrik yes?
[14:39] mato they need to link against the C++ runtime
[14:39] sustrik they do
[14:39] mato no they don't
[14:39] sustrik the libzmq does
[14:40] mato I have a heap of checks in to deal with exactly this
[14:40] mato No it doesn't
[14:40] mato let me explain
[14:40] mato the only case where it "just works" is if is a shared library
[14:40] sustrik ack
[14:40] mato even then only reliably on Linux/gcc
[14:41] mato now, I cannot realistically make all the other combinations work
[14:41] mato however there's a trivial way to make it "just work" for us
[14:41] mato which is to rename those source files to .cpp, which will cause them to be built with the C++ compiler, whatever that may be, which will just work
[14:41] sustrik sure, why not
[14:42] mato so, can i make that chage?
[14:42] mato good
[14:42] mato i'll do that, i just wanted you to understand why
[14:43] sustrik OO-macros for CV
[14:43] sustrik C
[14:43] mato go complain to Bjarne Stroustrup
[14:44] mikko Bjarne hates macros
[14:44] sustrik i mean, i am using nothing out of C++ runtime
[14:44] sustrik almost
[14:44] sustrik :|
[14:46] sustrik btw, what about linking C++ runtime statically?
[14:46] mato sustrik: there is *no* portable way to "link the C++ runtime" other than using the C++ compiler
[14:47] sustrik gh
[14:47] mato the libstdc++ stuff i had in configure was a hack for gcc
[14:47] mato and it's getting in the way
[14:47] sustrik go on, get rid of it
[14:47] mato which is why i want to compile/link all our binaries with the C++ compiler and not care about the problem
[14:52] CIA-5 rbzmq: 03Martin Sustrik 07master * rcd25ce4 10/ rbzmq.cpp : setting integer socket options fixed -
[14:59] sustrik mato: i've enabled CIA for jzmq and clrzmq in github, please update your part of it later on
[15:00] mato ok
[15:05] CIA-5 zeromq2: 03Martin Lucina 07master * rf6fa41d 10/ (10 files in 2 dirs):
[15:05] CIA-5 zeromq2: Compile perf tests with the C++ compiler
[15:05] CIA-5 zeromq2: This lets us build the binaries in a portable fashion w/o having to worry
[15:05] CIA-5 zeromq2: about how to link with the C++ runtime. -
[15:05] CIA-5 zeromq2: 03Martin Lucina 07master * rb668387 10/ (5 files in 5 dirs): Remove -Wxxx gcc-isms from subdir Makefiles -
[15:07] mikko ok, make dist in debian -> copy tarball to CentOS -> rpmbuild -tb zeromq-2.0.7.tar.gz seems to generate RPMs as expected
[15:08] mikko i wonder if the debian/ should be moved to builds and copied during make dist
[15:10] mato libtool: link: CC -g -o .libs/local_lat local_lat.o ../src/.libs/ -luuid -lrt -lnsl -lsocket -lpthread -R/usr/local/lib
[15:10] mato Undefined first referenced symbol in file
[15:10] mato bool std::operator==<char,std::char_traits<char>,std::allocator<char> >(const std::basic_string<__type_0,__type_1,__type_2>&,const __type_0*) ../src/.libs/
[15:10] mato ld: fatal: Symbol referencing errors. No output written to .libs/local_lat
[15:10] mato wtf
[15:11] mato mikko: cool
[15:11] mato mikko: maybe, i'd need to check with adrian
[15:12] sustrik i would guess the equality operator on string class should be in libstdc++
[15:16] mato grrr
[15:16] mato I don't know
[15:16] mato that is, it should
[15:16] mato and does pull in the relevant Sun C++ libraries
[15:16] mato but it doesn't work when linking the perf tests
[15:16] mato enough for today, I'll look at it again tomorrow
[15:21] mikko pull request sent
[15:21] mikko i think im gonna play for a minute
[15:21] mikko bbl
[15:26] mato i'm off into town
[15:26] mato bbl
[15:32] sustrik cyl