You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bigtop.apache.org by "Luca Toscano (Jira)" <ji...@apache.org> on 2021/03/16 14:43:00 UTC

[jira] [Created] (BIGTOP-3527) hadoop package build failures for Debian 10

Luca Toscano created BIGTOP-3527:
------------------------------------

             Summary: hadoop package build failures for Debian 10
                 Key: BIGTOP-3527
                 URL: https://issues.apache.org/jira/browse/BIGTOP-3527
             Project: Bigtop
          Issue Type: Improvement
    Affects Versions: 3.0.0
            Reporter: Luca Toscano


Hi everybody,

I have been trying to build hadoop for Debian 10 and this is what I got (consistently):

{code}
docker run --rm  -v `pwd`:/ws --workdir /ws
bigtop/slaves:trunk-debian-10 bash -c '. /etc/profile.d/bigtop.sh;
./gradlew allclean hadoop-pkg'

[..]
+ chmod 755 debian/tmp//usr/bin/yarn
+ for component in $HADOOP_DIR/bin/hadoop $HDFS_DIR/bin/hdfs
$YARN_DIR/bin/yarn $MAPREDUCE_DIR/bin/mapred
+ wrapper=debian/tmp//usr/bin/mapred
+ cat
+ chmod 755 debian/tmp//usr/bin/mapred
+ install -d -m 0755 debian/tmp/usr/lib/hadoop/libexec/
+ cp -r '/build/libexec/*' debian/tmp/usr/lib/hadoop/libexec//
cp: cannot stat '/build/libexec/*': No such file or directory
make[1]: *** [debian/rules:55: override_dh_auto_install] Error 1
make[1]: Leaving directory '/ws/output/hadoop/hadoop-3.2.2'
make: *** [debian/rules:27: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -b
 failed
{code}

The following change seems to be enough to make it work again:

{code}
diff --git a/bigtop-packages/src/deb/hadoop/rules
b/bigtop-packages/src/deb/hadoop/rules
index 17e59874..62e87d5c 100755
--- a/bigtop-packages/src/deb/hadoop/rules
+++ b/bigtop-packages/src/deb/hadoop/rules
@@ -56,7 +56,7 @@ override_dh_auto_install:
        bash debian/install_hadoop.sh \
          --prefix=debian/tmp/ \
          --distro-dir=debian \
-         --build-dir=${PWD}/build \
+         --build-dir=${CURDIR}/build \
          --system-lib-dir=debian/tmp/usr/lib/ \
          --system-libexec-dir=debian/tmp/usr/lib/hadoop/libexec/ \
          --system-include-dir=debian/tmp/usr/include \
{code}

I am wondering if I am doing something wrong or if the build process on Debian 10 changed in some way. From https://lintian.debian.org/tags/debian-rules-calls-pwd.html it seems that CURDIR is preferred for this use case, but not sure if relevant or not. Let me know :)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)