Opened 8 years ago

Closed 7 years ago

Last modified 3 years ago

#14518 closed enhancement (fixed)

update zeromq 3.2.0

Reported by: vbraun Owned by: tbd
Priority: major Milestone: sage-5.10
Component: packages: optional Keywords:
Cc: jason, rbeezer Merged in:
Authors: Volker Braun Reviewers: Christian Stump, Jose Guzman
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

There have been reports on build failures with the current zeromq optional spkg. It is also quite outdated and we should update. Here is a new spkg:

http://boxen.math.washington.edu/home/vbraun/spkg/zeromq-3.2.0.p0.spkg

Change History (22)

comment:1 Changed 8 years ago by kcrisman

  • Cc jason rbeezer added

The changes are fine

  • SPKG.txt

    diff --git a/SPKG.txt b/SPKG.txt
    a b  
    2929
    3030== Changelog ==
    3131
     32=== zeromq-2.2.0.p0 (Volker Braun, 2 May 2013) ===
     33 * Updated to latest upstream version
     34
    3235=== zeromq-2.2.0.p0 (Volker Braun, William Stein, 14 April 2012) ===
    3336
    3437 * Initial version
  • spkg-install

    diff --git a/spkg-install b/spkg-install
    a b  
    11#!/usr/bin/env sh
    22
    3 unset RM
     3if [ -z "$SAGE_LOCAL" ]; then
     4    echo >&2 "SAGE_LOCAL undefined ... exiting"
     5    echo >&2 "Maybe run 'sage --sh'?"
     6    exit 1
     7fi
    48
    59cd src
    610
    711./configure --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL"/lib
    8 
    912if [ $? -ne 0 ]; then
     13    echo "Failed to configure zeromq!"
    1014    exit 1
    1115fi
    1216
    13 make install
    14 
     17$MAKE
    1518if [ $? -ne 0 ]; then
     19    echo "Failed to build zeromq!"
    1620    exit 1
    1721fi
     22
     23$MAKE -j1 install
     24if [ $? -ne 0 ]; then
     25    echo "Failed to install zeromq!"
     26    exit 1
     27fi

why did we unset RM in the past? But I note that if you updated then perhaps you should have

+=== zeromq-2.2.0.p0 (Volker Braun, 2 May 2013) ===

changed by one character :-) Also, probably it doesn't need to be a p0, since we aren't making any changes to upstream, are we?

What parts of Sage depend on this? Just the notebook?

Jason, will having this zeromq be fine for the sage cell server, since that was the source of at least one of the ask.sagemath questions about this?

comment:2 follow-up: Changed 8 years ago by vbraun

The infamous RM was removed in #3537.

We don't have a particular policy about whether or not to start with .p0.

comment:3 Changed 8 years ago by vbraun

I fixed the version number in SPKG.txt

comment:4 in reply to: ↑ 2 Changed 8 years ago by kcrisman

We don't have a particular policy about whether or not to start with .p0.

Don't we now? See here for at least a strong indication that p0 means patched - and I've seen this discussed on various tickets. Typically I think it makes sense to have it without the p if there aren't any patches.

Naturally, this discussion is bikeshedding and so I'm not going to complain (and I hope people try this out for solving their zeromq problems), but it's not a complete waste of time to make things clear what is patched and what isn't...

comment:5 Changed 8 years ago by vbraun

From the page that you linked:

If you start afresh from an upstream release without any patches to its source code, the resulting spkg need not have any patch-level labels (appending ”.p0” is allowed, but is optional).

comment:6 Changed 8 years ago by kcrisman

Hilarious! Way at the bottom - I was looking at this spot, which says

Note that “p0” denotes the patch level of the spkg

Maybe we should have a policy; it's kind of confusing, and in principle it would be nice to be able to tell with sage -i at a glance which packages we could just slap in and which ones needed a little care and feeding. In particular, should p0 mean no patches and p1 means patches? I bet there is inconsistency here, too - I certainly feel like I've seen packages that were labeled p1 but then someone (perhaps the release manager) said they should be p0 since it was the first (zeroth, but we use Python, of course (!)) patch... sorry for even wasting time on this but it does seem just this side of useful, again.

comment:7 Changed 8 years ago by vbraun

Its hard to get excited about that, all that matters in the end is that you can tell which one of two spkgs is newer.

comment:8 Changed 8 years ago by jason

Sagecell currently uses libzmq 2.2, but it doesn't look like there should be any problems upgrading to 3.2. This spkg would allow us to remove a zmq dependency in the sagecell spkg, so thanks for looking at this!

Last edited 8 years ago by jason (previous) (diff)

comment:9 Changed 8 years ago by stumpc5

Thanks for providing a new spkg! Unfortunately, I still get the same problem on one VM (to which I have root access, but which I haven't set up myself. If you need more info about the machine let me know how to get it). The old and as well the new version of the spkg do compile on my own 64bit Ubuntu computer.

asdf@findstatroot:~/sage-5.8$ ./sage -i http://boxen.math.washington.edu/home/vbraun/spkg/zeromq-3.2.0.p0.spkg

Attempting to download package zeromq-3.2.0.p0
>>> Downloading zeromq-3.2.0.p0.spkg.
[............................................................]
zeromq-3.2.0.p0

...

Host system:
Linux FindstatServer 3.5.0-27-generic #46-Ubuntu SMP Mon Mar 25 19:58:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
****************************************************
C compiler: gcc
C compiler version:
...
Thread model: posix
gcc version 4.6.3 (GCC) 
****************************************************

...

checking alloca.h usability... no
checking alloca.h presence... yes
configure: WARNING: alloca.h: present but cannot be compiled
configure: WARNING: alloca.h:     check for missing prerequisite headers?
configure: WARNING: alloca.h: see the Autoconf documentation
configure: WARNING: alloca.h:     section "Present But Cannot Be Compiled"
configure: WARNING: alloca.h: proceeding with the compiler's result
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to zeromq-dev@lists.zeromq.org ##
configure: WARNING:     ## ------------------------------------------ ##
checking for alloca.h... no
checking whether SOCK_CLOEXEC is supported... no
checking whether SO_KEEPALIVE is supported... no
checking whether TCP_KEEPCNT is supported... no
checking whether TCP_KEEPIDLE is supported... no
checking whether TCP_KEEPINTVL is supported... no
checking whether TCP_KEEPALIVE is supported... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating perf/Makefile
config.status: creating src/libzmq.pc
config.status: creating builds/msvc/Makefile
config.status: creating tests/Makefile
config.status: creating foreign/openpgm/Makefile
config.status: creating builds/redhat/zeromq.spec
config.status: creating src/platform.hpp
config.status: executing depfiles commands
config.status: executing libtool commands
Making all in src
make[1]: Entering directory `/home/findstatroot/sage-5.8/spkg/build/zeromq-3.2.0.p0/src/src'
make  all-am
make[2]: Entering directory `/home/findstatroot/sage-5.8/spkg/build/zeromq-3.2.0.p0/src/src'
  CXX    libzmq_la-address.lo
  CXX    libzmq_la-clock.lo
  CXX    libzmq_la-ctx.lo
  CXX    libzmq_la-decoder.lo
  CXX    libzmq_la-devpoll.lo
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:223:0,
                 from /usr/include/x86_64-linux-gnu/sys/epoll.h:23,
                 from epoll.hpp:30,
                 from poller.hpp:35,
                 from devpoll.hpp:26,
                 from devpoll.cpp:22:
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:33:36: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:36:36: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
/usr/include/x86_64-linux-gnu/sys/sysmacros.h:39:1: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:271:0,
                 from /usr/include/x86_64-linux-gnu/sys/epoll.h:23,
                 from epoll.hpp:30,
                 from poller.hpp:35,
                 from devpoll.hpp:26,
                 from devpoll.cpp:22:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:121:19: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:122:19: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:123:19: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:129:17: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
cc1plus: all warnings being treated as errors
make[2]: *** [libzmq_la-devpoll.lo] Error 1
make[2]: Leaving directory `/home/findstatroot/sage-5.8/spkg/build/zeromq-3.2.0.p0/src/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/findstatroot/sage-5.8/spkg/build/zeromq-3.2.0.p0/src/src'
make: *** [all-recursive] Error 1
Failed to build zeromq!

comment:10 follow-ups: Changed 8 years ago by vbraun

I've added -Wno-long-long to spkg-install, can you try again?

comment:11 in reply to: ↑ 10 Changed 8 years ago by stumpc5

Replying to vbraun:

I've added -Wno-long-long to spkg-install, can you try again?

great, it does work now -- thanks!

comment:12 follow-up: Changed 8 years ago by vbraun

Feel free to review the ticket then :-P

comment:13 in reply to: ↑ 12 Changed 8 years ago by stumpc5

Replying to vbraun:

Feel free to review the ticket then :-P

I will give the ticket a positive review once the following question is positively answered:

Jason, will having this zeromq be fine for the sage cell server, since that was the source of at least one of the ask.sagemath questions about this?

I can say that the provided zeromq spkg does install smoothly on one machine that had troubles before, it should thus solve my question on ask.sagemath. But I don't know if the new version of zeromq does interact properly with the sage cell.

comment:14 follow-up: Changed 8 years ago by JGuzman

It worked fabulously in my hands! I tested with Sage 5.8 for both IPython notebook and Sage cell in Debian (2.6.32-5-amd64) and Ubuntu (3.2.0-36-generic).

comment:15 in reply to: ↑ 14 Changed 8 years ago by stumpc5

  • Reviewers set to Christian Stump
  • Status changed from new to needs_review
  • Type changed from defect to enhancement

Replying to JGuzman:

It worked fabulously in my hands! I tested with Sage 5.8 for both IPython notebook and Sage cell in Debian (2.6.32-5-amd64) and Ubuntu (3.2.0-36-generic).

Thanks for checking, I then give it a positive review! Feel free to add your name as a reviewer...

comment:16 Changed 8 years ago by stumpc5

  • Status changed from needs_review to positive_review

comment:17 follow-up: Changed 8 years ago by JGuzman

  • Reviewers changed from Christian Stump to Christian Stump JGuzman

My pleasure, is there anything I should do to review it more carefully?

comment:18 in reply to: ↑ 17 ; follow-up: Changed 8 years ago by stumpc5

Replying to JGuzman:

My pleasure

I think, reviewer names should be plain names, if possible.

comment:19 in reply to: ↑ 18 Changed 8 years ago by JGuzman

  • Reviewers changed from Christian Stump JGuzman to Christian Stump, Jose Guzman

Replying to stumpc5:

Replying to JGuzman:

My pleasure

I think, reviewer names should be plain names, if possible.

Good idea

comment:20 Changed 7 years ago by schilly

added to the optional packages on the server

comment:21 Changed 7 years ago by jdemeyer

  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:22 in reply to: ↑ 10 Changed 3 years ago by jdemeyer

Replying to vbraun:

I've added -Wno-long-long to spkg-install, can you try again?

That would also be fixed by #24143.

Note: See TracTickets for help on using tickets.