You are not logged in.

#1 2007-10-09 03:24:46

scj
Member
From: Sweden
Registered: 2007-09-23
Posts: 158

[request] taglib-sharp

I've run into some trouble with my own attempts at writing a PKGBUILD for taglib# and I was hoping someone more versed in how to build mono projects could take a look at it. This is the PKGBUILD I've got so far:

pkgname=taglib-sharp
pkgver=2.0.2.0
pkgrel=1
pkgdesc="mono implementation of taglib"
arch=('i686')
url=""
license=('GPL')
groups=()
depends=('mono')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=(http://www.taglib-sharp.com/Download/$pkgname-$pkgver.tar.gz)
noextract=()
md5sums=('3db8f773a7fc85b9ba3c169affdc0c8a')

build() {
  export MONO_SHARED_DIR=${startdir}/src/.wabi
  mkdir -p "${MONO_SHARED_DIR}"
  cd "$startdir/src/$pkgname-$pkgver"

  if [[ -n "`pacman -Q | grep monodoc`" ]]; then
    ./configure --prefix=/usr
  else
    ./configure --prefix=/usr --disable-docs
  fi

  make || return 1

  cd $startdir/src/$pkgname-$pkgver/src
  /usr/bin/gacutil -root $startdir/pkg/usr/lib -package taglib-sharp -i taglib-sharp.dll || return 1
  /usr/bin/gacutil -root $startdir/pkg/usr/lib -package taglib-sharp -i policy.2.0.taglib-sharp.dll || return 1

  mkdir -p $startdir/pkg/usr/lib/pkgconfig
  /bin/install -c -m 644 $startdir/src/$pkgname-$pkgver/taglib-sharp.pc \
    $startdir/pkg/usr/lib/pkgconfig/taglib-sharp.pc

  if [[ -n "`pacman -Q | grep monodoc`" ]]; then
    mkdir -p $startdir/pkg/usr/lib/monodoc/sources
    for doc in {zip,tree,source}; do
        /bin/install -c -m 644 $startdir/src/$pkgname-$pkgver/docs/taglib-sharp-docs.$doc \
           $startdir/pkg/usr/lib/monodoc/sources/taglib-sharp-docs.$doc
    done
  fi

  rm -r $MONO_SHARED_DIR
}
# vim:set ts=4 sw=4 et:

The package gets built, but I get System.TypeLoadException's when I try to build it with monodevelop.

Last edited by scj (2007-10-09 07:50:17)

Offline

#2 2007-10-09 04:51:11

tardo
Member
Registered: 2006-07-15
Posts: 526

Re: [request] taglib-sharp

post the output from monodevelop.

Offline

#3 2007-10-09 05:37:43

scj
Member
From: Sweden
Registered: 2007-09-23
Posts: 158

Re: [request] taglib-sharp

This is the output I get from trying to build a test project:

** (/usr/lib/mono/1.0/mcs.exe:6772): WARNING **: The class System.Collections.Generic.List`1 could not be loaded, used in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Unhandled Exception: System.TypeLoadException: Could not load type 'TagLib.File' from assembly 'taglib-sharp, Version=2.0.2.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0'.
  at <0x00000> <unknown method>
  at (wrapper managed-to-native) System.MonoType:GetMethodsByName (string,System.Reflection.BindingFlags,bool,System.Type)
  at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000] 
  at Mono.CSharp.MemberCache.AddMethods (BindingFlags bf, System.Type type) [0x00000] 
  at Mono.CSharp.MemberCache.AddMethods (System.Type type) [0x00000] 
  at Mono.CSharp.MemberCache..ctor (IMemberContainer container) [0x00000] 
  at Mono.CSharp.TypeHandle..ctor (System.Type type) [0x00000] 
  at Mono.CSharp.TypeHandle.GetTypeHandle (System.Type t) [0x00000] 
  at Mono.CSharp.TypeHandle.GetMemberCache (System.Type t) [0x00000] 
  at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t, MemberTypes mt, BindingFlags bf, System.String name, System.Boolean& used_cache) [0x00000] 
  at Mono.CSharp.TypeManager.RealMemberLookup (System.Type invocation_type, System.Type qualifier_type, System.Type queried_type, MemberTypes mt, BindingFlags original_bf, System.String name, IList almost_match) [0x00000] 
  at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type, System.Type qualifier_type, System.Type queried_type, MemberTypes mt, BindingFlags original_bf, System.String name, IList almost_match) [0x00000] 
  at Mono.CSharp.Expression.MemberLookup (System.Type container_type, System.Type qualifier_type, System.Type queried_type, System.String name, MemberTypes mt, BindingFlags bf, Location loc) [0x00000] 
  at Mono.CSharp.Expression.MemberLookup (System.Type container_type, System.Type qualifier_type, System.Type queried_type, System.String name, Location loc) [0x00000] 
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression right_side) [0x00000] 
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00000] 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Assign.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean& unreachable) [0x00000] 
  at Mono.CSharp.EmitContext.EmitTopBlock (IMethodData md, Mono.CSharp.ToplevelBlock block) [0x00000] 
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace parent) [0x00000] 
  at Mono.CSharp.Method.Emit () [0x00000] 
  at Mono.CSharp.TypeContainer.EmitType () [0x00000] 
  at Mono.CSharp.RootContext.EmitCode () [0x00000] 
  at Mono.CSharp.Driver.MainDriver (System.String[] args) [0x00000] 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] 


Build complete -- 1 error, 0 warnings

But I am beginning to doubt that it actually is something wrong with the PKGBUILD file, since I get the same error if I install the library via the makefile.

Offline

#4 2007-10-09 06:42:13

tardo
Member
Registered: 2006-07-15
Posts: 526

Re: [request] taglib-sharp

I dunno, it seems to find the lib, maybe you're just not accessing it right? (I haven't done much development in C# to help).

Offline

#5 2007-10-09 08:03:25

scj
Member
From: Sweden
Registered: 2007-09-23
Posts: 158

Re: [request] taglib-sharp

Silly me, spent way too much time fiddling with the PKGBUILD, turns out it was just a matter of changing the runtime option from 1.1 to 2.0 in the project preferences. Ohwell, guess I should add it to the AUR now that it's working.

Offline

Board footer

Powered by FluxBB