You are not logged in.

#1 2013-04-28 02:30:44

dsp
Member
Registered: 2013-03-12
Posts: 7
Website

Pacman: Pathname can't be converted from UTF-8 to current locale

Hello Forum,

I am stuck with a problem to which I cannot find any solution after spending half the day trying to solve it:

I have a package wich I installed from AUR -> MyCustomRepository working nicely on my main Arch system. Now I would like to add the package to a livecd using the archiso scripts. When I add it to my packages.both list it downloads fine.
However when installation into chroot should start pacman gives me the following error:

(378/378) loading package files                    [######################] 100%
error: error while reading package /var/cache/pacman/pkg/pd-extended-0.43.4-1-x86_64.pkg.tar.xz: Pathname can't be converted from UTF-8 to current locale.
error: failed to commit transaction (libarchive error)
Errors occurred, no packages were upgraded.

My System only uses en_US.UTF-8 as locale, so I don't really understand why any conversion should be neccesary.

I read about a similar error somewhere with a reply stating it had  to do with packaging. No solution was given however. Can this be the case? And if yes, why do I not have any problems installling in my main system? And more importantly, how can I fix it? i don't really know where to look for the right way now.

I already tried to include a different packages from AUR through my repository, which worked as expected.

the package is pd-extended from AUR with a slight modification to make the .desktop file actually start pdextended.

Any help is greatly appreciated.
Thank you,
Dominik

# Maintainer: <fero dot kiraly at gmail.com>
# Contributor: Dominik Schmidt-Philipp <dsp@tonmaschine.de>

pkgname=pd-extended
pkgver=0.43.4
pkgrel=1
pkgdesc="PureData Extended 0.43-4 version"
url="http://puredata.info/"
arch=('i686' 'x86_64' )
license=('BSD')
depends=('libdc1394' 'desktop-file-utils' 'libiec61883' 'fftw' \
  'jack' 'tk' 'freeglut' 'libquicktime' 'libdv' 'gsl' 'imagemagick' \
  'ftgl' 'libgl' 'hicolor-icon-theme' 'lua51')
makedepends=('dssi' 'git' 'libv4l' 'tcllib' 'subversion' 'swig' 'automake' 'curl')
conflicts=('pdp' 'zexy' 'puredata')
provides=( 'pd-extended' 'pd-gem' 'pdp' 'zexy')
optdepends=('puredata-utils' 'pd-vanilla')
replaces=(pd-extended)
backup=()
options=('!makeflags' '!libtool')
install=pd-extended.install
source=('change_gem_configure_file.patch' 's_inter.c.patch' 'tclpd.Makefile.patch'  'makefile.am.patch')
md5sums=('63a36c51706eaed98611aa4b4bb6ed0d'  '8b748d09e8bdf04540ba579d0a6b5318' '463de23166cef2dcf6c7f6989e636213' '5938b12a232004de15f5a383f95cedca'  )





build() {
  unset CFLAGS
  unset LDFLAGS
  unset INCLUDES
 
  #
  #downloading pd-extended----------------------------------------------------------
  #
    msg "Begin SVN checkout for pd-extended 0.43.4"
      cd $srcdir
      svn checkout https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.43 $pkgname
	  msg "SVN checkout done or server timeout"

 

  cd ..
  
   
  #FIXES -----------------------------------------------------------------------------
  # fix #1 lua
  #patch  $srcdir/$pkgname/externals/loaders/pdlua/src/Makefile ./repair_lua_lib_number.patch
  #fix #2 -- GEM configure.ac
  patch  $srcdir/$pkgname/externals/Gem/configure.ac ./change_gem_configure_file.patch
  #fix #3 -- repair wish8.6 (for tcl8.6)
  patch  $srcdir/$pkgname/pd/src/s_inter.c ./s_inter.c.patch
  #fix #4 -- repair version of tcl (8.6)
  patch  $srcdir/$pkgname/externals/loaders/tclpd/Makefile ./tclpd.Makefile.patch
  #fix #5 -- repair binary name to pd-extended (from pd)
  #patch  $srcdir/$pkgname/packages/Makefile ./program_name.patch 
  patch  $srcdir/$pkgname/pd/src/Makefile.am ./makefile.am.patch
 
  # 64 bit archutecure----------------------------------------------------------------
  if [ "$CARCH" = "x86_64" ]; then
  # fix -fPIC issue in PDP
    sed -e "s|CFLAGS =|CFLAGS = -fPIC|" \
      -i $srcdir/$pkgname/externals/pdp/opengl/Makefile.config || return 1
  # fix -fPIC issue in pddp
    sed -e "s|DEFINES =|DEFINES = -fPIC|" \
      -i $srcdir/$pkgname/externals/miXed/Makefile.common || return 1
  # setting additional variable
    FPIC_FLAG="-fPIC"
    else FPIC_FLAG=""
  fi


  #MAKE --------------------------------------------------------------------------
  cd "$srcdir/$pkgname/packages/linux_make" || return 1

  make BUILDLAYOUT_DIR=$srcdir/$pkgname/packages \
    GEM_EXTRA_CXXFLAGS="$FPIC_FLAG" \
    prefix=/usr \
    install || return 1

}


package() {

  cp -urv $srcdir/$pkgname/packages/linux_make/build/usr $pkgdir/
  mv $pkgdir/usr/share/man/man1/pd.1 $pkgdir/usr/share/man/man1/pdextended.1
  rm $pkgdir/usr/share/man/man1/pdreceive.1
  rm $pkgdir/usr/share/man/man1/pdsend.1
  rm $pkgdir/usr/include/m_pd.h
  rm $pkgdir/usr/bin/pd-gui.tcl
  cd $srcdir/$pkgname/

# PD License
  install -Dm644 pd/LICENSE.txt $pkgdir/usr/share/licenses/pd-extended/LICENSE.txt
  cd packages/
  install -p linux_make/default.pdextended $pkgdir/usr/lib/pd-extended/

# Gnome menu support
  install -d $pkgdir/usr/share/icons/hicolor/128x128/apps
  install -p -m0644 linux_make/pd-extended.png  $pkgdir/usr/share/icons/hicolor/128x128/apps/
  install -d $pkgdir/usr/share/icons/hicolor/48x48/apps
  install -p -m0644 linux_make/48x48/pd-extended.png $pkgdir/usr/share/icons/hicolor/48x48/apps/pd-extended.png
  install -d $pkgdir/usr/share/applications/ 
  install -p linux_make/pd-extended.desktop $pkgdir/usr/share/applications/
  sed -i "s/^Exec=.*/Exec=pdextended/" $pkgdir/usr/share/applications/pd-extended.desktop

# mime
  install -d $pkgdir/usr/share/mime/packages/ 
  install -p linux_make/pd-extended.xml $pkgdir/usr/share/mime/packages/
  install -d $pkgdir/usr/share/icons/hicolor/128x128/mimetypes 
  install -p linux_make/text-x-puredata.png $pkgdir/usr/share/icons/hicolor/128x128/mimetypes
   
# files for /etc
  cd "$srcdir/$pkgname"

  install -d $pkgdir/etc/bash_completion.d/
  install -p scripts/bash_completion/pd $pkgdir/etc/bash_completion.d
# emacs mode for .pd files
  install -d $pkgdir/usr/share/emacs/site-lisp/
  install -p scripts/pd-mode.el $pkgdir/usr/share/emacs/site-lisp/
# Pd-related scripts
  install -p scripts/pd-diff $pkgdir/usr/bin/
  install -p scripts/config-switcher.sh $pkgdir/usr/bin/


}

# vim:set ts=2 sw=2 et:

Offline

#2 2013-04-28 05:27:42

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,746

Re: Pacman: Pathname can't be converted from UTF-8 to current locale

Long shot but you may not have locale matching under chroot. Also assume custom repo is up to date (repo-add)


Mr Green

Offline

#3 2013-04-28 09:17:46

dsp
Member
Registered: 2013-03-12
Posts: 7
Website

Re: Pacman: Pathname can't be converted from UTF-8 to current locale

I chroot into workdir. uncommented en_US.UTF-8 in /etc/locale.gen, run locale-gen and now get this inside the chroot.

[root@dArch2 releng]# chroot work/x86_64/root-image/
[root@dArch2 /]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

this looks alright to me. Any more suggestions?

It's the first time I use a custom-repo and I set it up only for this purpose. So yes, it's up to date and can be used outside the chroot. Also a different package I put from AUR into my custom-repo installs fine and doesn't give this error.
How else could I test the custom-repo?

Offline

#4 2013-04-28 10:43:24

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,746

Re: Pacman: Pathname can't be converted from UTF-8 to current locale

Normally I load packages from package list into base system (via mkarchiso) provided pacman.conf is set up with your custom repo then pacman should load it to new root.

Only other thin I can think of is that I set locales in customize_root_image.sh (which is run under chroot)


Mr Green

Offline

Board footer

Powered by FluxBB