Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

subunit: add version 1.4.4 #24773

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

vsbogd
Copy link

@vsbogd vsbogd commented Jul 31, 2024

Summary

Changes to recipe: lib/1.4.4. Fixes: #24732

Motivation

Version 1.4.0 which is the current subunit version in Conan repo is not compatible with Python 3.12 (see subunit bug #2052948). Version 1.4.4 has compatibility issues fixed.

Details

Changes in PR:

  • add new version and add autoreconf() step because new version requires it f032952
  • replace ConanFile.env_info (which is deprecated) by ConanFile.runenv_info 37a10d4
  • add requirements to build project correctly on platforms other than Linux 2dcfbc8

Changes are tested with both 1.4.0 and 1.4.4 version using both Conan 1 and 2.


@CLAassistant
Copy link

CLAassistant commented Jul 31, 2024

CLA assistant check
All committers have signed the CLA.

@conan-center-bot

This comment has been minimized.

automake, libtool and pkgconfig are required to configure project
successfully
@conan-center-bot

This comment has been minimized.

@ErniGH ErniGH self-assigned this Aug 21, 2024
Building 1.4.0 version under MacOSX armv8 fails probably because
reconfiguration is done. Try to keep previous behavior to make build
successful.
@conan-center-bot

This comment has been minimized.

@vsbogd
Copy link
Author

vsbogd commented Aug 23, 2024

Not sure why build fails under MacOSX and cannot debug it without having access to the files on the build machine. Found some similar issue on StackOverflow https://stackoverflow.com/questions/14465667/errors-when-installing-a-perl-module-using-make-mac-osx-10-7. The answer says that XCode is probably configured incorrectly.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 4 (fa8f01be1b028763a25377e1633c00c8198b3ac4):

  • subunit/1.4.4:
    Didn't run or was cancelled before finishing

  • subunit/1.4.0:
    CI failed to create some packages (All logs)

    Logs for packageID a1208bb972fbeb0b42d401d599b1faf6015b80d0:
    [settings]
    arch=armv8
    build_type=Debug
    compiler=apple-clang
    compiler.libcxx=libc++
    compiler.version=13.0
    os=Macos
    [options]
    subunit:shared=False
    
    [...]
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating libsubunit.pc
    config.status: creating libcppunit_subunit.pc
    config.status: creating Makefile
    config.status: creating perl/Makefile.PL
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    
    ----Running------
    > . "/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/conan/conanbuild.sh" && make 'INSTALLARCHLIB=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/lib' 'INSTALLSITEARCH=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/archlib' 'INSTALLVENDORARCH=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/archlib' 'INSTALLSITEBIN=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/bin' 'INSTALLSITESCRIPT=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/bin' 'INSTALLSITEMAN1DIR=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/share/man/man1' 'INSTALLSITEMAN3DIR=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/share/man/man3' -j8
    -----------------
    /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/usr/bin/make  all-am
    mkdir -p perl
    cd perl && perl Makefile.PL INSTALLDIRS=site PREFIX=/ INSTALL_BASE=
    depbase=`echo c++/SubunitTestProgressListener.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    	/bin/sh ./libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.   -I/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/cppunit/1.15.1/_/_/package/42a10e89ce278d2cf0fa1c09abdd40b137b6e79b/include -Wall -Werror -Wextra -Wwrite-strings -Wno-variadic-macros -I./c/include -stdlib=libc++ -fPIC -g -MT c++/SubunitTestProgressListener.lo -MD -MP -MF $depbase.Tpo -c -o c++/SubunitTestProgressListener.lo c++/SubunitTestProgressListener.cpp &&\
    	mv -f $depbase.Tpo $depbase.Plo
    depbase=`echo c/lib/child.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.   -I/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/cppunit/1.15.1/_/_/package/42a10e89ce278d2cf0fa1c09abdd40b137b6e79b/include -Wall -Werror -Wextra -Wstrict-prototypes  -Wmissing-prototypes -Wwrite-strings  -Wno-variadic-macros  -I./c/include -fPIC -g -MT c/lib/child.lo -MD -MP -MF $depbase.Tpo -c -o c/lib/child.lo c/lib/child.c &&\
    	mv -f $depbase.Tpo $depbase.Plo
    libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/cppunit/1.15.1/_/_/package/42a10e89ce278d2cf0fa1c09abdd40b137b6e79b/include -Wall -Werror -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-variadic-macros -I./c/include -fPIC -g -MT c/lib/child.lo -MD -MP -MF c/lib/.deps/child.Tpo -c c/lib/child.c -o c/lib/child.o
    libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/cppunit/1.15.1/_/_/package/42a10e89ce278d2cf0fa1c09abdd40b137b6e79b/include -Wall -Werror -Wextra -Wwrite-strings -Wno-variadic-macros -I./c/include -stdlib=libc++ -fPIC -g -MT c++/SubunitTestProgressListener.lo -MD -MP -MF c++/.deps/SubunitTestProgressListener.Tpo -c c++/SubunitTestProgressListener.cpp -o c++/SubunitTestProgressListener.o
    /bin/sh ./libtool  --tag=CC   --mode=link gcc -Wall -Werror -Wextra -Wstrict-prototypes  -Wmissing-prototypes -Wwrite-strings  -Wno-variadic-macros  -I./c/include -fPIC -g  -L/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/cppunit/1.15.1/_/_/package/42a10e89ce278d2cf0fa1c09abdd40b137b6e79b/lib -o libsubunit.la -rpath //lib c/lib/child.lo  -lcppunit -lc++
    Generating a Unix-style Makefile
    Writing Makefile for Subunit
    Writing MYMETA.yml and MYMETA.json
    rm perl/Makefile.old > /dev/null
    /Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/usr/bin/make -C perl all
    libtool: link: ar cru .libs/libsubunit.a  c/lib/child.o
    libtool: link: ranlib .libs/libsubunit.a
    libtool: link: ( cd ".libs" && rm -f "libsubunit.la" && ln -s "../libsubunit.la" "libsubunit.la" )
    subunit/1.4.0: 
    rm: conftest.dSYM: is a directory
    rm: conftest.dSYM: is a directory
    rm: conftest.dSYM: is a directory
    rm: perl/Makefile.old: No such file or directory
    make[1]: [perl/Makefile] Error 1 (ignored)
    make[2]: *** No rule to make target `/Applications/conan/xcode/13.0/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Perl/5.34/darwin-thread-multi-2level/CORE/config.h', needed by `Makefile'.  Stop.
    make[1]: *** [all-local] Error 2
    make[1]: *** Waiting for unfinished jobs....
    make: *** [all] Error 2
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    subunit/1.4.0: ERROR: Package 'a1208bb972fbeb0b42d401d599b1faf6015b80d0' build failed
    subunit/1.4.0: WARN: Build folder /Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug
    ERROR: subunit/1.4.0: Error in build() method, line 150
    	autotools.make()
    	ConanException: Error 2 while executing make 'INSTALLARCHLIB=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/lib' 'INSTALLSITEARCH=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/archlib' 'INSTALLVENDORARCH=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/archlib' 'INSTALLSITEBIN=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/bin' 'INSTALLSITESCRIPT=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/package/a1208bb972fbeb0b42d401d599b1faf6015b80d0/bin' 'INSTALLSITEMAN1DIR=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/share/man/man1' 'INSTALLSITEMAN3DIR=/Users/jenkins/workspace/prod-v1/bsr@2/88779/ffacc/.conan/data/subunit/1.4.0/_/_/build/a1208bb972fbeb0b42d401d599b1faf6015b80d0/build-debug/share/man/man3' -j8
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

else:
# version >=1.4.4 is kept on GitHub without configuration built
self.tool_requires("libtool/2.4.7")
self.tool_requires("pkgconf/2.2.0")
Copy link
Contributor

@valgur valgur Aug 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.tool_requires("pkgconf/2.2.0")

There is no PkgConfigDeps generator used in the recipe. Is the pkgconf tool dependency really being used?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

configure.ac uses PKG_CHECK_... which fails if pkgconf is not installed: https://github.com/testing-cabal/subunit/blob/98aa1076f8aed666262022634ddccdf9e345b13f/configure.ac#L64-L66
I don't know autoconf well to understand whether it can be fixed by another way.

@valgur
Copy link
Contributor

valgur commented Aug 23, 2024

I would make the recipe simpler and always run autoreconf, even for the existing version. Not sure if others agree, though.

@vsbogd
Copy link
Author

vsbogd commented Aug 23, 2024

I would make the recipe simpler and always run autoreconf, even for the existing version. Not sure if others agree, though.

Yeah it was my first intention. I added this condition because code of the version 1.4.0 which is downloaded from lunchpad is preconfigured and I saw it built well previously. I guessed that current failure on MacOSX armv8 can be caused by this reconfiguration. But adding condition doesn't fix build failure, so I would revert last commit. But I would prefer doing it after build failure is fixed.

@vsbogd
Copy link
Author

vsbogd commented Aug 23, 2024

But adding condition doesn't fix build failure, so I would revert last commit.

Hm, it looks like in fact this commit fixes build for Conan 2.0 completely (see difference between #24773 (comment) and #24773 (comment)). Thus I think it is better to leave it as is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[request] subunit/1.4.4
5 participants