Opened 2 years ago

Last modified 2 years ago

#54063 new update

libzookeeper: update to 3.4.10

Reported by: JacksonIsaac (Jackson Isaac) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: ryandesign (Ryan Schmidt)
Port: libzookeeper

Description

I am trying to create port for Apache Kafka which depends on zookeeper. I have been working on updating libzookeeper to latest version but the files under zookeeper/bin are not been installed. Trying to find out how to do so and will update the patchfile.

Attachments (1)

patch-libzookeeper.diff (2.1 KB) - added by JacksonIsaac (Jackson Isaac) 2 years ago.

Download all attachments as: .zip

Change History (4)

Changed 2 years ago by JacksonIsaac (Jackson Isaac)

Attachment: patch-libzookeeper.diff added

comment:1 Changed 2 years ago by ryandesign (Ryan Schmidt)

The cppunit build dependency is overriding the apache-ant build dependency which is probably not what you wanted.

Why use autoreconf? It fails for me:

Executing:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-ports_devel_libzookeeper/libzookeeper/work/zookeeper-3.4.10/src/c" && autoreconf -fvi 
DEBUG: system:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-ports_devel_libzookeeper/libzookeeper/work/zookeeper-3.4.10/src/c" && autoreconf -fvi 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: /opt/local/bin/aclocal --force 
configure.ac:37: warning: macro 'AM_PATH_CPPUNIT' not found in library
autoreconf: configure.ac: tracing
autoreconf: running: /opt/local/bin/glibtoolize --copy --force
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './ltmain.sh'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:37: warning: macro 'AM_PATH_CPPUNIT' not found in library
autoreconf: running: /opt/local/bin/autoconf --force
configure.ac:37: error: possibly undefined macro: AM_PATH_CPPUNIT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /opt/local/bin/autoconf failed with exit status: 1

Traditionally in MacPorts --prefix=${prefix} goes not in configure.args but in configure.pre_args. It's there by default so you don't need to add anything to the portfile to make that happen.

I'm confused that you're adding the flag --without-cppunit, which one would think would tell the build system not to use cppunit, but then you're also adding a cppunit dependency.

I'm also not sure why you're disabling dependency tracking. It builds fine for me with it enabled.

comment:2 Changed 2 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign added
Keywords: haspatch added

comment:3 in reply to:  1 Changed 2 years ago by JacksonIsaac (Jackson Isaac)

Replying to ryandesign:

The cppunit build dependency is overriding the apache-ant build dependency which is probably not what you wanted.

Why use autoreconf? It fails for me:

Executing:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-ports_devel_libzookeeper/libzookeeper/work/zookeeper-3.4.10/src/c" && autoreconf -fvi 
DEBUG: system:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-ports_devel_libzookeeper/libzookeeper/work/zookeeper-3.4.10/src/c" && autoreconf -fvi 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: /opt/local/bin/aclocal --force 
configure.ac:37: warning: macro 'AM_PATH_CPPUNIT' not found in library
autoreconf: configure.ac: tracing
autoreconf: running: /opt/local/bin/glibtoolize --copy --force
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './ltmain.sh'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:37: warning: macro 'AM_PATH_CPPUNIT' not found in library
autoreconf: running: /opt/local/bin/autoconf --force
configure.ac:37: error: possibly undefined macro: AM_PATH_CPPUNIT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /opt/local/bin/autoconf failed with exit status: 1

Traditionally in MacPorts --prefix=${prefix} goes not in configure.args but in configure.pre_args. It's there by default so you don't need to add anything to the portfile to make that happen.

I'm confused that you're adding the flag --without-cppunit, which one would think would tell the build system not to use cppunit, but then you're also adding a cppunit dependency.

I'm also not sure why you're disabling dependency tracking. It builds fine for me with it enabled.

I was trying to take ideas from homebrew formulae. The patch file was more like a WIP thing so that I can get some ideas on what to do. Also there would be python and perl variants to be added.

The .sh files under devel/libzookeeper/work/zookeeper-3.4.10/bin/ (destroot phase) are not installed when I run sudo port install libzookeeper. Only some libraries were shown when I ran port contents libzookeeper. According to the documentation of zookeeper we need to run make and make install from src/c that is defined by "worksrcdir ${distname}/src/c" but for some reason it doesn't install the files from bin/ (zkServer.sh, etc.).

It would be helpful if you could share some insights into this. I do not get any error for autoreconf, though. Maybe I am missing some step or running it incorrectly.

Note: See TracTickets for help on using tickets.