You are not logged in.

#1 2014-04-27 12:00:41

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

libgpod on Archlinux

Hi
I am trying to compile the libgpod-0.8.0 on my Archlinux and I am getting following error inconfiguration script:

checking whether to build python bindings... yes
checking for python... /usr/bin/python
checking whether /usr/bin/python version >= 2.1.1... yes
checking for /usr/bin/python version... 3.4
checking for /usr/bin/python platform... linux
checking for /usr/bin/python script directory... ${prefix}/lib/python3.4/site-packages
checking for /usr/bin/python extension module directory... ${exec_prefix}/lib/python3.4/site-packages
checking for python development headers...   File "<string>", line 1
    import sys; print sys.prefix
                        ^
SyntaxError: invalid syntax
  File "<string>", line 1
    import sys; print sys.exec_prefix
                        ^
SyntaxError: invalid syntax
not found

I am using Python 3.4.0

I have found something similar here :
http://forums.gentoo.org/viewtopic-t-93 … art-0.html

but don't really know how to use it in my case.

Here is part of the 'configure' file

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python development headers" >&5
$as_echo_n "checking for python development headers... " >&6; }
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
if test "$py_prefix" != "$py_exec_prefix"; then
  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi

Has anybody ideas what I can do ?

regards
Rafal

Offline

#2 2014-04-27 12:13:40

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

Hi
I was able to solve the syntaxt error issue ;-)
here is my new code in configure script

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python development headers" >&5
$as_echo_n "checking for python development headers... " >&6; }
#py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_prefix=`$PYTHON -c "import sys; print (sys.prefix)"`
#py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print (sys.exec_prefix)"` 
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
if test "$py_prefix" != "$py_exec_prefix"; then
  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi

now I see :

checking whether to build gtk-doc documentation... no
checking whether to build python bindings... yes
checking for python... /usr/bin/python
checking whether /usr/bin/python version >= 2.1.1... yes
checking for /usr/bin/python version... 3.4
checking for /usr/bin/python platform... linux
checking for /usr/bin/python script directory... ${prefix}/lib/python3.4/site-packages
checking for /usr/bin/python extension module directory... ${exec_prefix}/lib/python3.4/site-packages
checking for python development headers... not found

...so my next question is
How do I install in Archlinux "python development headers" ?

I have found something here:
https://bbs.archlinux.org/viewtopic.php?id=39935

and when I execute " python-config --cflags" I saw this:

[root@localhost libgpod-0.8.0]# python-config --cflags
-I/usr/include/python3.4m -I/usr/include/python3.4m  -Wno-unused-result -Werror=declaration-after-statement -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

why python3 ?

Could anybody please advise how quickly solve this issue?

regards
Rafal

Last edited by rafdre (2014-04-27 12:16:53)

Offline

#3 2014-04-27 12:33:21

Spider.007
Member
Registered: 2004-06-20
Posts: 1,176

Re: libgpod on Archlinux

You do realize that libgpod-0.8.3 is already in the extra-repository?

Last edited by Spider.007 (2014-04-27 12:33:29)

Offline

#4 2014-04-27 12:49:23

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

hi,
no...I haven't even checked, because thats not what I want ;-)
But thank you for pointing this out.

To make it short:

 Artwork support ..........: yes
 Mono bindings ............: yes
 Python bindings ..........: no
 PyGObject support ........: yes
 iPhone/iPod Touch support.: yes
 Temporary mount directory.: /tmp/

I like to compile myself because in that case I can control what is here (i.e.  Artwork support =  yes).
When I install it from extra repo than I do not have this control.
Apart of it: the reason I like Linux is: I can do whatever I want. If I want simple system, then I will take Windows or if Linux, then distros like Ubuntu ;-)

Coming back to the problem.
I have now solved the issue with headers.
I found header files:

[root@localhost libgpod-0.8.0]# find / -name 'Python.h'
/usr/include/python3.4m/Python.h
/usr/include/python2.7/Python.h

I am wondering why there is "m" here. Can anybody explain it to me?

I have again corrected configure file like this (adding "m"):

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python development headers" >&5
$as_echo_n "checking for python development headers... " >&6; }
#py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_prefix=`$PYTHON -c "import sys; print (sys.prefix)"`
#py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print (sys.exec_prefix)"` 
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}m"
if test "$py_prefix" != "$py_exec_prefix"; then
  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}m"
fi

No it looks much better ;-)

checking whether to build python bindings... yes
checking for python... /usr/bin/python
checking whether /usr/bin/python version >= 2.1.1... yes
checking for /usr/bin/python version... 3.4
checking for /usr/bin/python platform... linux
checking for /usr/bin/python script directory... ${prefix}/lib/python3.4/site-packages
checking for /usr/bin/python extension module directory... ${exec_prefix}/lib/python3.4/site-packages
checking for python development headers... found
checking for python module mutagen >= 1.8... no

...so my last point it:
In which repo do I find python-mutagen ?
I have only found and installed mutagen

regards
Rafal

Offline

#5 2014-04-27 13:03:58

Spider.007
Member
Registered: 2004-06-20
Posts: 1,176

Re: libgpod on Archlinux

Okay; I don't really understand but I'm not gonna deny you doing anything you want. I'm not sure if you've read https://wiki.archlinux.org/index.php/Abs; but unless you have created a PKGBUILD yourself you are cluttering your system with files that are not managed by pacman; so you are creating a messy system.

Anyway; python-mutagen is in AUR: https://aur.archlinux.org/packages/python-mutagenx/; it might help you out

Offline

#6 2014-04-27 13:05:13

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

I have found mutagen file on my PC

/usr/lib/python2.7/site-packages/mutagen

... but I do not know why its in python2.7 and not python 3.4 (I have both).
Configurator is looking for it in Python 3.4 , since this is the version returned by command "python -V"

is there any way to force pacman to install it for python 3,4?
I have  installed mutagen with "pacman -S mutagen"

Offline

#7 2014-04-27 15:19:44

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

I have installed python-mutagenx but this is not a solution This is something different. Script was still not able to find mutagen.

I have found much better solution ;-)
I reversed all changes I did before and simply added one line:

PYTHON=$ac_cv_path_PYTHON
PYTHON="/usr/bin/python2.7"

I simply informed the configure script to use python 2.7.
Since mutagen is there (/usr/lib/python2.7/site-packages/mutagen), the rest worked very fine.

I have also found that I can force each python script to use proper version. It works like this:

#!/usr/bin/env python2.7

Thanks for all advices

Offline

#8 2014-04-27 17:24:22

Spider.007
Member
Registered: 2004-06-20
Posts: 1,176

Re: libgpod on Archlinux

Yes; if you're okay with python2 that is an easy fix; please remember to mark this thread as solved

Offline

#9 2014-04-27 20:13:36

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

ok...I will.

there is one last thing:
when I try to compile gtkpod, it says it cannot find libgpod library.
On other distro I usually solved it with 'ldconfig'
I have found the libraries have been installed in /usr/local/lib/

what will be quickest way to make them visible on Archlinux ?
should I set LD_LIBRARY_PATH ?

I think the program expects them to be in /usr/lib and not in /usr/local/lib

I also see some files in /usr/local/lib/python2.7/site-packages/gpod
and I think they should be in /usr/lib/python2.7/site-packages/gpod

Offline

#10 2014-04-27 21:24:48

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,893

Re: libgpod on Archlinux

rafdre, please post your PKGBUILD .

You probably need to add something like PREFIX=/usr to your configure command.

It does look like some of your other changes could have been solved by using configure options instead of changing the configure script directly.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#11 2014-04-28 19:44:14

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

hi Lone Wolf
could you please advise where do I find it? In sources which I have I do not see such file.
From what I have read here https://wiki.archlinux.org/index.php/PKGBUILD this is something to build packakes in Archlinux.

I downloaded libgpod-0.8.0.tar.gz from Internet and performed standard compilation like this:
./configure
make
make install


Installation wads successful, though now the library is not visible in the system. At least not for 'gtkpod-2.0.2' which I now try to compile.

after I start "./configure" I see this:

configure: error: *** No package 'libgpod-1.0' found

here is part of configure file :

if test -n "$LIBGPOD_CFLAGS"; then
    pkg_cv_LIBGPOD_CFLAGS="$LIBGPOD_CFLAGS"
 elif test -n "$PKG_CONFIG"; then
    if test -n "$PKG_CONFIG" && \
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.7.0\""; } >&5
  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.7.0") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
  pkg_cv_LIBGPOD_CFLAGS=`$PKG_CONFIG --cflags "libgpod-1.0 >= 0.7.0" 2>/dev/null`
else
  pkg_failed=yes
fi
 else
    pkg_failed=untried
fi
if test -n "$LIBGPOD_LIBS"; then
    pkg_cv_LIBGPOD_LIBS="$LIBGPOD_LIBS"
 elif test -n "$PKG_CONFIG"; then
    if test -n "$PKG_CONFIG" && \
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.7.0\""; } >&5
  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.7.0") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
  pkg_cv_LIBGPOD_LIBS=`$PKG_CONFIG --libs "libgpod-1.0 >= 0.7.0" 2>/dev/null`
else
  pkg_failed=yes
fi
 else
    pkg_failed=untried
fi

regards
Rafal

Offline

#12 2014-04-28 20:07:46

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,426
Website

Re: libgpod on Archlinux

Not an Installation issue, moving to NC...


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#13 2014-04-29 12:10:00

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,893

Re: libgpod on Archlinux

Well, that makes clear you have been using a manual installation method for libgpod.

On archlinux, manual installation has a major drawback : our package manager pacman is NOT aware you have it installed.
This has the potential to cause many problems and conflicts.
a simple example :
let's assume you get libgpod working the way you want it by manually installing it.
sometime in the near future you want to try out the music player clementine.
clementine depends on libgpod.
you run pacman -S clementine to install it, pacman sees you don't have the libgpod package installed and tries to install it.
it checks for fileconflicts, and sees libgpod files it doesn't know anything about, so aborts instalaltion with 'file exists in filesystem' message.

The correct way to install any application on archlinux is :
create a PKGBUILD for it
run makepkg to build a package
install with pacman

A PKGBUILD is basically a bash script that builds a package to be processed by pacman.
For packages in official repos, the arch devs take care of the first 2 steps, for aur packages another archuser has done the first step.



The above is just a summary, I suggest you read https://wiki.archlinux.org/index.php/Ar … _standards



Here's  summary of how changing something in an official package should be done

Download the official PKGBUILD
libgpod PKGBUILD is here :
https://projects.archlinux.org/svntogit … es/libgpod

Edit the PKGBUILD file :
change the name of the package to something like libgpod-rfadre
Add provides=('libgpod)' & conflicts=('libgpod') lines
those lines will tell pacman your libgpod-rfadre offers the same functionality as the stock libgpod, and they can't both be installed at the same time.

Then make the changes you desire, test , build , install.
The endresult is that you got your customized libgpod program, integrated with pacman/archlinux .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#14 2014-05-04 15:17:56

rafdre
Member
From: Gdansk
Registered: 2013-09-21
Posts: 79

Re: libgpod on Archlinux

Hello Lone_Wolf,

thanks a lot ;-)
I have now followed those instructions and my libgpod is installed and visible.
When I checked output after "makepkg" I saw that everthing was as I wanted, so I basically only downloaded the file PKGBUILD and did "makepkg" followed by "makepkg -i".

I was able to make libgpod visible, though with gtkpod 2.0.2 it seems to be more complicated.
I have not found any PKGBUILD file on the page you provided.
I have found old discussion about it here https://bbs.archlinux.org/viewtopic.php?id=6389

The issue I have is now releated to

*** No package 'libanjuta-1.0' found

this is when I check "./configure" for gtkpod 2.0.2

I think it might be difficult to solve http://www.gtkpod.org/bugs/index.php?do … task_id=69.

I can of course use shortcut and install "gtkpod 2.1.4-1" with pacman and make my life more easy, but if anybody knows if I can install libanjuta (old version, not 3+) please provide me information how can I do it. I need libraries for gtkpod 2.0.2.

reagrds
Rafal

Offline

Board footer

Powered by FluxBB