You are not logged in.

#1 2008-03-28 22:13:55

secretfox
Member
Registered: 2007-03-27
Posts: 11

Compiler problem with makepkg

Hi all!
I'm trying to make package of frei0r plugins (http://www.piksel.org/frei0r).
It has a problem compiling with gcc 4, but compilation goes fine with gcc 3.3.
If I do in command line

CC=gcc-3.3 CXX=g++-3.3 ./configure --prefix=/usr

and after a call make it works.
The same command line doesn't work with makepkg. I wrote the above line in PKGBUILD and it doesn't work showing following error

checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
See `config.log' for more details.
make: *** No targets specified and no makefile found.  Stop.

I don't understand why, it's strange, it's the same command line.
Where is the problem?

Following my PKGBUILD

pkgname=frei0r-plugins
pkgver=1.1.20
pkgrel=1
pkgdesc="It is a minimalistic plugin API for video sources and filters."
arch=('i686')
url="http://www.piksel.org/frei0r"
license=('GPL')
depends=()
makedepends=('gcc3')
source=(http://propirate.net/frei0r/$pkgname-$pkgver.tar.gz)
md5sums=('3545a7075d9ebc7d5466755fd5e25105')

build() {
  cd $startdir/src/$pkgname-$pkgver
  CC=gcc-3.3 CXX=g++-3.3 ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install
}

Thanks.

Last edited by secretfox (2008-03-28 22:15:44)

Offline

#2 2008-03-28 22:47:57

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Compiler problem with makepkg

maybe fakeroot changes something.

grep fakeroot /usr/bin/makepkg

Offline

#3 2008-03-28 23:41:23

secretfox
Member
Registered: 2007-03-27
Posts: 11

Re: Compiler problem with makepkg

brebs wrote:

maybe fakeroot changes something.

grep fakeroot /usr/bin/makepkg

Following the result of grep

29:#   awk, bsdtar (libarchive), bzip2, coreutils, fakeroot, find (findutils),
62:# Forces the pkgver of the current PKGBUILD. Used by the fakeroot call
118:# the fakeroot call, the error message will be printed by the main call.
136:        # Don't clean up when leaving fakeroot, we're not done yet.
797:        echo "# using $(fakeroot -v)" >>.PKGINFO
996:        # calls to makepkg via fakeroot will explicitly pass the version
1042:        # Version number retrieved from fakeroot->makepkg argument
1174:        #hidden opt used by fakeroot call for svn/cvs/etc PKGBUILDs to set pkgver
1257:    elif [ "$(check_buildenv fakeroot)" = "y" -a $EUID -gt 0 ]; then
1258:        if [ ! $(type -p fakeroot) ]; then
1259:            error "$(gettext "Fakeroot must be installed if using the 'fakeroot' option")"
1265:        plain "$(gettext "ownership of the packaged files. Try using the fakeroot environment by")"
1266:        plain "$(gettext "placing 'fakeroot' in the BUILDENV array in makepkg.conf.")"
1349:# We need to run devel_update regardless of whether we are in the fakeroot
1368:# Run the bare minimum in fakeroot
1369:# fix flyspray bug 6208 -- using makepkg with fakeroot gives an error
1380:    msg "$(gettext "Leaving fakeroot environment.")"
1472:        # if we are root, then we don't need to recall makepkg with fakeroot
1483:        msg "$(gettext "Entering fakeroot environment...")"
1486:            fakeroot -- $0 --forcever $newpkgver -F $ARGLIST || exit $?
1488:            fakeroot -- $0 -F $ARGLIST || exit $?

Fakeroot is enabled in my makepkg.conf.
What I have to do?

Offline

#4 2008-07-11 21:40:21

azleifel
Member
Registered: 2007-10-28
Posts: 486

Re: Compiler problem with makepkg

Just in case anyone's interested, I've been evaluating Open Movie Editor and thought that I'd have a go at building the frei0r-plugins becuase I couldn't find a PKGBUILD in AUR.  It turns out that they will compile under gcc 4.3 with a couple of fixes and the few filters I have tried so far seem to work.

PKGBUILD

pkgname=frei0r-plugins
pkgver=1.1.21
pkgrel=1
pkgdesc="frei0r is a minimalistic plugin API for video sources and filters."
arch=(i686 x86_64)
url="http://www.piksel.org/frei0r"
license=('GPL')
depends=('gcc-libs' 'gavl>=1.0.0')
source=(http://freshmeat.net/redir/frei0r/72056/url_tgz/$pkgname-$pkgver.tar.gz $pkgname-$pkgver-gcc43.patch)
md5sums=('0a383f02f28bb60fc6210bf29719139b' '57289b0947dd80cb02a93bd1b822ec39')

build() {
  cd "$srcdir/$pkgname-$pkgver"

  patch -p1 < ../$pkgname-$pkgver-gcc43.patch

  ./configure --prefix=/usr
  make || return 1
  make DESTDIR="$pkgdir" install
}

frei0r-plugins-1.1.21-gcc43.patch

diff -Naur frei0r-plugins-1.1.21/src/filter/equaliz0r/equaliz0r.cpp frei0r-plugins-1.1.21.fixed/src/filter/equaliz0r/equaliz0r.cpp
--- frei0r-plugins-1.1.21/src/filter/equaliz0r/equaliz0r.cpp    2008-03-26 07:48:41.000000000 +0000
+++ frei0r-plugins-1.1.21.fixed/src/filter/equaliz0r/equaliz0r.cpp    2008-07-11 21:30:52.000000000 +0100
@@ -18,6 +18,7 @@
  */
 
 #include "frei0r.hpp"
+#include <string.h>
 
 /* Clamps a int32-range int between 0 and 255 inclusive. */
 unsigned char CLAMP0255(int32_t a)
diff -Naur frei0r-plugins-1.1.21/src/filter/sobel/sobel.cpp frei0r-plugins-1.1.21.fixed/src/filter/sobel/sobel.cpp
--- frei0r-plugins-1.1.21/src/filter/sobel/sobel.cpp    2008-03-26 07:48:41.000000000 +0000
+++ frei0r-plugins-1.1.21.fixed/src/filter/sobel/sobel.cpp    2008-07-11 21:33:44.000000000 +0100
@@ -18,6 +18,7 @@
  */
 
 #include "frei0r.hpp"
+#include <stdlib.h>
 
 /* Clamps a int32-range int between 0 and 255 inclusive. */
 unsigned char CLAMP0255(int32_t a)

Offline

Board footer

Powered by FluxBB