CPack Error: Problem running tar command: FIXED

Started by Jan Gruuthuse, November 20, 2012, 08:08:25 AM

Previous topic - Next topic

Jan Gruuthuse

fixed in r8287

Building did stop here:
QuoteCPack: Create package
CPack Error: Problem running tar command: /usr/bin/fakeroot "/usr/local/bin/cmake" -E tar cfz data.tar.gz  ./usr
Please check /home/jan/avidemux_2.6_branch_mean/buildCore/_CPack_Packages/Linux/DEB/Deb.log for errors
CPack Error: Problem compressing the directory
CPack Error: Error when generating package: avidemux3-core
make: *** [package] Error 1
** Failed at package**

deb.log and logbuildCore @ github:gist avidemux 2.6 fakeroot: nested operation not yet supported

has this something to do again with:
cmake --version | sed "s/^.*2/2/g"
Quote2.8.10.1

as we had before: Failed at package r7908 FIXED
_____________________________________________
Avidemux v2.6.0 ((r8286))
_____________________________________________
Compiler: GCC 4.6.3
cmake: 2.8.10.1
Build Target: Linux (x86-64)
User Interface: Qt (4.8.1)
_____________________________________________
Kernel: Linux 3.2.0-33-generic (x86_64)
Distribution: Linux Ubuntu 12.04.1 LTS (Precise Pangolin)
Desktop: Unity 2D 5.16.0

Display Server:  X Server 1.11.3
Display Driver: NVIDIA 304.64
Intel Core i5-2500K @ 3.30GHz (4 Cores) with 16 GB ram
Graphics: NVIDIA GeForce GT 520/PCIe/SSE2 1024MB (810/535MHz)
OpenGL render: 4.2.0 NVIDIA 304.64
_____________________________________________

plux7887

#1
Confirmed!

The code supports only cmake <= 2.8.9


export FAKEROOT_COMMAND="fakeroot"
CMAKE_VERSION=`cmake --version | sed "s/^.* 2\.\([0-9]*\.[0-9]*\).*/2\.\1/g"`
echo "CMAKE Version : $CMAKE_VERSION"
case "$CMAKE_VERSION" in
         2.8.8|2.8.7|2.8.9)
                echo "Cmake version >=2.8.7 doesnt need fakeroot"
                export FAKEROOT_COMMAND=""
        ;;
esac


We need mean to fix this:
https://gitorious.org/avidemux2-6/avidemux2-6/blobs/master/bootStrap.bash

The fastest way is to add 2.8.10 to 2.8.8|2.8.7|2.8.9  ->  2.8.8|2.8.7|2.8.9|2.8.10

But than the error is back with cmake version 2.8.11

A more lasting effect could have to handle the error message in the code instead of the output of cmake version.

Jan Gruuthuse

#2
adding 2.8.10 did work. Can we not make a test along these lines

if value left 3 positions < 2.8 then
   fakeroot solution required
elseif
   if test from position 5 (.) < 8 then fakeroot solution required
else
   no fakeroot
endif


hope logic is ok and you can put this in to bash somehow

plux7887

The problem is "2.8" is not a numeric value. It is a character string. You can't use the < operator with character strings.

mean


Jan Gruuthuse

@plux7887 could it not be done with get value from a string ${var} and get part of that string ${string:position:length}?

@mean: thanks, building works again.

plux7887

Hello Jan, mean,

here is my solution for the cmake/fakeroot problem:

In bootStrap.bash

change the line


$FAKEROOT_COMMAND make package DESTDIR=$FAKEROOT_DIR/tmp || fail package


to


fakeroot make package DESTDIR=$FAKEROOT_DIR/tmp || make package DESTDIR=$FAKEROOT_DIR/tmp || fail package


and delete the lines


export FAKEROOT_COMMAND="fakeroot"
CMAKE_VERSION=`cmake --version | sed "s/^.* 2\.\([0-9]*\.[0-9]*\).*/2\.\1/g"`
echo "CMAKE Version : $CMAKE_VERSION"
case "$CMAKE_VERSION" in
         2.8.8|2.8.7|2.8.9|2.8.10|2.8.11)
                echo "Cmake version >=2.8.7 doesnt need fakeroot"
                export FAKEROOT_COMMAND=""
        ;;
esac


I think a more better solution is


make package DESTDIR=$FAKEROOT_DIR/tmp || fakeroot make package DESTDIR=$FAKEROOT_DIR/tmp || fail package


but a build environment with cmake < 2.8.7 is needed to test if it works.

Jan Gruuthuse

Thanks, I'm sure developer(s) have a look at it.