Syncing your iPhone media database os 3.x from Fedora 12

So, Apple’s attempt to lock iPhone/iPod users to iTunes failed. Again. A solution for syncing from free Unix like platforms has existed for a few months now. Apple, please. Continuing this cat-and-mouse game is stupid. Stop it. Accessing the phones from other platforms than iTunes is fair usage.

This is how I got syncing my iPhone media database os 3.x from Fedora 12 to work. This is based on marcan’s blog. All kudos to marcan, the libgpod hackers and others who helped to hack the ipodhash. Please read his blog entry. The following concludes step 1-5 on a fedora 12 system.

Update: Got rhythmbox working on one box in addition to gtkpod.
Update: Rebuilt packages for f12, backported from f13. Latest packages here. Exchange “libiphone” with “libimobiledevice” in the following. Since all packages are more or less clean backports from f13, this will probably work out of the box on f13 :-)

In the following, I use sudo to gain root access.

If you have not got libusb installed yet, just install it. You also want gtkpod to do the actual ipod transfer.

sudo yum install libusb gtkpod

Get new versions of libiphone and dependencies from rawhide

sudo yum --enablerepo rawhide install usbmuxd-devel libplist-devel libiphone-devel ifuse

Set up usbmuxd. For security reasons, usbmuxd should run as its own user. (This is no longer necessary in newer packages. The rpm postscript adds the user if it’s not added already.)

sudo useradd -r -c "usbmuxd daemon user" -d /media -s /bin/false usbmuxd

Edit /lib/udev/rules.d/85-usbmuxd.rules as root, and add OWNER=”usbmuxd”.

ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmuxd", ...

You can also add “-v -v” to the RUN string, to get more syslog info. run sudo tail -f /var/log/messages in a separate window to see for example how plugging and unplugging happen.

Force a udev rules reload (should happen automatically, actually).

sudo udevadm control --reload-rules

Edit /etc/fuse.conf as root, and add a line

user_allow_other

Now check that you can mount and umount your ipod via ifuse. Inside, you should see iTunes database files. You will need to do this to get gtkpod to access your phone. Plug the phone, and do

sudo mkdir /media/iphone
sudo chown $(whoami) /media/iphone
ifuse /media/iphone/
ls /media/iphone/iTunes_Control/iTunes/
fusermount -u /media/iphone

Download and install a preview version of libgpod from http://users.linpro.no/ingvar/libgpod.

Now, you need some setup on the phone

ifuse /media/iphone
mkdir /media/iphone/iTunes_Control/Device

Read the uuid of your phone (some 40 characters string), then use ipod-read-sysinfo-extended with that value.

sudo lsusb -v | grep -i iSerial
ipod-read-sysinfo-extended your_uuid_string /media/iphone
ls -sh /media/iphone/iTunes_Control/Device/SysInfoExtended
fusermount -u /media/iphone

/media/iphone/iTunes_Control/Device/SysInfoExtended should now be an 20k+ xml file.

If you have come this far without errors, you can start gtkpod, plug and mount (ifuse) your phone, and sync. Remember to unmount (fusermount -u) the phone before unplugging it.

As my iPhone had not yet been synced with iTunes (and probably never will). I got a HashInfo file from http://ihash.marcansoft.com/, and put it into iTunes_control/Device. Then I cleared out the content of the database (removed Music/*, iTunesCDB, iTunesDB, all .ext files and the .itlp directory). Finally I let gtkpod reinit the database, and hey presto, syncs like a dream. The usbmuxd sync is also a lot faster than the sshfs method I used for the iPhone os v2.x.

As expected, amarok-1.4 is still broken, and can’t use the changed libgpod, and since it has no upstream support, this will probably never be fixed. I’ll miss amarok-1.4, but I can live with gtkpod. Perhaps some day even amarok2 will become usable.

Installing gvfs-afc from rawhide, I got rhythmbox syncing with my i686 box at home, but not with my x86_64 box at work. I haven’t been able to track down why*. With rhythmbox, you don’t have to use ifuse. It will happily pick up the phone via gvfs when it’s plugged. Press Cancel on the camera stuff, and don’t use ifuse and gvfs-afc at the same time. Rhythmbox can’t transfer other content than music, so if you want to transfer video or other stuff, you need to use gtkpod/ifuse.

I’d like feedback from others getting rhythmbox working on x86_64.

Great thanks to marcan and teuf for excellent help on irc.

*)
Update: This is resolved. gvfs does not support home on NFS. It works with no problems with an account with home on local disk on the x86_64 box.

40 Responses to “Syncing your iPhone media database os 3.x from Fedora 12”

  1. aronparsons says:

    Rhythmbox does work without modifications the the gvfs AFC backend. I’ve been using libgpod from git for 1-2 months to sync with my iPhone 3G (3.1.2). I’m hoping they do an official release soon so that the support will be available in the repos.

  2. Federico says:

    Thank you!

    works perfectly with F12 and iPhone 3GS with latest software! You freed me from the iTunes slavery ;-)

  3. Philip Trickett says:

    Hi,

    I am following your guide, and I don’t seem to have an /etc/fuse.conf

    I am having trouble mounting the iphone once connected, my logs are:
    Jan 8 13:00:46 localhost kernel: usb 2-2: new high speed USB device using ehci_hcd and address 12
    Jan 8 13:00:46 localhost kernel: usb 2-2: New USB device found, idVendor=05ac, idProduct=1294
    Jan 8 13:00:46 localhost kernel: usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    Jan 8 13:00:46 localhost kernel: usb 2-2: Product: iPhone
    Jan 8 13:00:46 localhost kernel: usb 2-2: Manufacturer: Apple Inc.
    Jan 8 13:00:46 localhost kernel: usb 2-2: SerialNumber: b7f2a134e043692c54739f0d12240e3f28ad5d41
    Jan 8 13:00:46 localhost kernel: usb 2-2: configuration #1 chosen from 4 choices
    Jan 8 13:00:46 localhost usbmuxd[11906]: [3] usbmuxd v1.0.0 starting up
    Jan 8 13:00:46 localhost usbmuxd[11908]: [4] Creating socket
    Jan 8 13:00:46 localhost usbmuxd[11908]: [3] Successfully dropped privileges to ‘usbmux’
    Jan 8 13:00:46 localhost usbmuxd[11908]: [4] Initializing USB
    Jan 8 13:00:46 localhost usbmuxd[11908]: [4] Found new device with v/p 05ac:1294 at 2-12
    Jan 8 13:00:46 localhost usbmuxd[11908]: [2] Could not open device 2-12: -3
    Jan 8 13:00:46 localhost usbmuxd[11908]: [4] 0 devices detected
    Jan 8 13:00:46 localhost usbmuxd[11908]: [3] Initialization complete
    Jan 8 13:00:46 localhost usbmuxd[11908]: [4] New client on fd 5

    And when I try to mount the iphone:
    [phil@maki ~]$ ifuse /media/iphone/
    No device found, is it connected?
    If it is make sure that your user has permissions to access the raw usb device.
    If you’re still having issues try unplugging the device and reconnecting it.

    The logs say:
    Jan 8 13:01:30 localhost usbmuxd[11908]: [4] New client on fd 10
    Jan 8 13:01:31 localhost usbmuxd[11908]: [4] Client 10 connection closed
    Jan 8 13:01:31 localhost usbmuxd[11908]: [4] Disconnecting client fd 10

    I’m a bit mystified. I have tried running ifuse /meda/iphone as root with no success, and checked the permissions of /media/iphone which are 777.

    Also, just for completeness, the contents of /lib/udev/rules.d/85-usbmuxd.rules:
    [phil@maki ~]$ cat /lib/udev/rules.d/85-usbmuxd.rules
    # usbmuxd (iPhone “Apple Mobile Device” MUXer listening on /var/run/usbmuxd)

    # Forces iPhone 1.0, 3G, 3GS and iPodTouch 1 and 2 to USB configuration 3 and run usbmuxd
    ACTION==”add”, SUBSYSTEM==”usb”, ATTR{idVendor}==”05ac”, ATTR{idProduct}==”129[0-9]“, ATTR{bConfigurationValue}!=”$attr{bNumConfigurations}”, ATTR{bConfigurationValue}=”$attr{bNumConfigurations}”, RUN+=”/usr/sbin/usbmuxd -u -U -v -v” OWNER=”usbmux”

    # Exit usbmuxd when the last phone is removed
    ACTION==”remove”, SUBSYSTEM==”usb”, ENV{PRODUCT}==”5ac/129[0-9]/*”, ENV{INTERFACE}==”255/*”, RUN+=”/usr/sbin/usbmuxd -x”

    THanks,

    Phil

  4. ingvar says:

    OWNER must be in the right place. My first action line looks like this:

    ACTION==”add”, SUBSYSTEM==”usb”, OWNER=”usbmux”, ATTR{idVendor}==”05ac”, ATTR{idProduct}==”129[0-9]“, ATTR{bConfigurationValue}!=”$attr{bNumConfigurations}”, ATTR{bConfigurationValue}=”$attr{bNumConfigurations}”, RUN+=”/usr/sbin/usbmuxd -u -U -v -v ”

    I’m not sure if this helps. If not, you might want to run usbmuxd as root, just to test. Change RUN to use “-U root” or something like that.

    I’d advice you to add more comments, and look at the other comments at marcan’s blog.

    Good luck,
    Ingvar

  5. smconvey says:

    When I attempt to install a preview version of libgpod from http://users.linpro.no/ingvar/libgpod, as follow:
    # rpm -i libgpod-0.7.3-0.git20100105.fc12.i686.rpm

    I get the following error message:

    file /usr/bin/ipod-read-sysinfo-extended from install of libgpod-0.7.3-0.git20100105.fc12.i686 conflicts with file from package libgpod-0.7.2-6.fc12.i686
    file /usr/lib/hal/scripts/libgpod-callout from install of libgpod-0.7.3-0.git20100105.fc12.i686 conflicts with file from package libgpod-0.7.2-6.fc12.i686
    file /usr/lib/libgpod.so.4 from install of libgpod-0.7.3-0.git20100105.fc12.i686 conflicts with file from package libgpod-0.7.2-6.fc12.i686
    file /usr/share/hal/fdi/policy/20thirdparty/20-libgpod-sysinfo-extended.fdi from install of libgpod-0.7.3-0.git20100105.fc12.i686 conflicts with file from package libgpod-0.7.2-6.fc12.i686
    file /usr/share/locale/de/LC_MESSAGES/libgpod.mo from install of libgpod-0.7.3-0.git20100105.fc12.i686 conflicts with file from package libgpod-0.7.2-6.fc12.i686

    When I use the following command:
    ipod-read-sysinfo-extended my_uuid_string /media/itouch

    I get the following error message:
    Couldn’t read xml sysinfo from 912817df64cbb1a2dded6719794d33187b3668b2

    Any thoughts on how to fix?

  6. ingvar says:

    * smconvey
    > # rpm -i libgpod-0.7.3-0.git20100105.fc12.i686.rpm
    >
    > I get the following error message:
    >
    > file /usr/bin/ipod-read-sysinfo-extended from install of (…)

    If you have an older version of libgpod installed, you want to upgrade, not install.

    rpm -Uvh libgpod-0.7.3-0.git20100105.fc12.i686.rpm

    > When I use the following command:
    > ipod-read-sysinfo-extended my_uuid_string /media/itouch
    >
    > I get the following error message:
    > Couldn’t read xml sysinfo from
    > 912817df64cbb1a2dded6719794d33187b3668b2
    >
    > Any thoughts on how to fix?

    Did you first mount your ipod with ifuse?

    Do you have any directory /media/itouch/iTunes_Control/Device ? If not, create it.

    # Make sure you have a valid mountpoint, accessible by your normal user
    sudo mkdir -p /media/itouch
    sudo chown `whoami` /media/itouch

    # Mount your ipod
    ifuse /media/itouch

    # Check if you have a Device catalog. If not, create it
    ls /media/itouch/iTunes_Control/Device || mkdir /media/itouch/iTunes_Control/Device

    Good luck

    Ingvar

  7. smconvey says:

    # rpm -Uvh libgpod-0.7.3-0.git20100105.fc12.i686.rpm
    error: Failed dependencies:
    libgpod = 0.7.2-6.fc13 is needed by (installed) python-gpod-0.7.2-6.fc13.i686
    libgpod = 0.7.2-6.fc13 is needed by (installed) libgpod-devel-0.7.2-6.fc13.i686

  8. ingvar says:

    smconvey:

    If you need those packages, you must update python-gpod and libgpod-devel as well. Matching packages at the same place:

    http://users.linpro.no/ingvar/libgpod/0.7.3-0.git20100105/i686/

    Ingvar

  9. Mike says:

    Awsome!! it works perfect!! thank you for this post! is fast, easy and well explained!

  10. Philip says:

    If you use Rhythmbox, do you still have to do the ipod-read-sysinfo-extended or can you just install te usbmux and libgpod stuff + gvfs-afc?

  11. Ingvar says:

    Philip,

    I think you have to, but I’m not sure. It probably depends on if you have a working db, synced from iTunes or not. Please test and report back. The result will be interesting for others too, so drop a comment on marcan’s blog as well.

    Ingvar

  12. Philip says:

    Just in the of trying this. Is there a typo for the OWNER= section of the rules. Should that be OWNER== (double equals sign)?

  13. ingvar says:

    Philip,

    No, I use a single equals sign.

  14. Philip says:

    Well I’ve got gtkpod working. But I can’t get Rhythmbox to load – it’s crashing on start due to the ipod. I even updated rhythmbox to rawhide. Trying to solve now.

  15. Steph says:

    Hello!
    I’m using Fedora 12 and am following the steps in this tutorial.

    However when I got to the point of installing your x86_64 RPMs in
    http://users.linpro.no/ingvar/libgpod/0.7.3-0.git20100105/x86_64/
    I hit a roadblock.

    I did this:

    yum –enablerepo rawhide install *.rpm

    and got this:


    –> Processing Dependency: pkgconfig(pixman-1) >= 0.12.0 for package: cairo-devel-1.8.8-3.fc12.x86_64
    —> Package gtk2.i686 0:2.19.3-1.fc13 set to be updated
    —> Package gtk2.x86_64 0:2.19.3-1.fc13 set to be updated
    —> Package libXcomposite-devel.x86_64 0:0.4.1-2.fc13 set to be updated
    –> Processing Dependency: libXcomposite = 0.4.1-2.fc13 for package: libXcomposite-devel-0.4.1-2.fc13.x86_64
    —> Package libXcursor-devel.x86_64 0:1.1.10-3.fc13 set to be updated
    –> Processing Dependency: libXcursor = 1.1.10-3.fc13 for package: libXcursor-devel-1.1.10-3.fc13.x86_64
    —> Package libXi-devel.x86_64 0:1.3-1.fc13 set to be updated
    –> Processing Dependency: libXi = 1.3-1.fc13 for package: libXi-devel-1.3-1.fc13.x86_64
    —> Package libXinerama-devel.x86_64 0:1.1-1.fc13 set to be updated
    –> Processing Dependency: libXinerama = 1.1-1.fc13 for package: libXinerama-devel-1.1-1.fc13.x86_64
    —> Package libgpod.x86_64 0:0.7.3-0.git20100105.fc12 set to be updated
    –> Processing Dependency: libplist.so.0()(64bit) for package: libgpod-0.7.3-0.git20100105.fc12.x86_64
    —> Package pango-devel.x86_64 0:1.26.2-1.fc12 set to be updated
    –> Running transaction check
    —> Package atk.i686 0:1.29.4-2.fc13 set to be updated
    —> Package atk.x86_64 0:1.29.4-2.fc13 set to be updated
    —> Package libXcomposite.i686 0:0.4.1-2.fc13 set to be updated
    —> Package libXcomposite.x86_64 0:0.4.1-2.fc13 set to be updated
    —> Package libXcursor.i686 0:1.1.10-3.fc13 set to be updated
    —> Package libXcursor.x86_64 0:1.1.10-3.fc13 set to be updated
    —> Package libXi.i686 0:1.3-1.fc13 set to be updated
    —> Package libXi.x86_64 0:1.3-1.fc13 set to be updated
    —> Package libXinerama.i686 0:1.1-1.fc13 set to be updated
    —> Package libXinerama.x86_64 0:1.1-1.fc13 set to be updated
    —> Package libgpod.x86_64 0:0.7.3-0.git20100105.fc12 set to be updated
    –> Processing Dependency: libplist.so.0()(64bit) for package: libgpod-0.7.3-0.git20100105.fc12.x86_64
    —> Package pixman-devel.x86_64 0:0.17.4-1.fc13 set to be updated
    –> Processing Dependency: pixman = 0.17.4-1.fc13 for package: pixman-devel-0.17.4-1.fc13.x86_64
    –> Running transaction check
    —> Package libgpod.x86_64 0:0.7.3-0.git20100105.fc12 set to be updated
    –> Processing Dependency: libplist.so.0()(64bit) for package: libgpod-0.7.3-0.git20100105.fc12.x86_64
    —> Package pixman.i686 0:0.17.4-1.fc13 set to be updated
    —> Package pixman.x86_64 0:0.17.4-1.fc13 set to be updated
    –> Finished Dependency Resolution
    libgpod-0.7.3-0.git20100105.fc12.x86_64 from /libgpod-0.7.3-0.git20100105.fc12.x86_64 has depsolving problems
    –> Missing Dependency: libplist.so.0()(64bit) is needed by package libgpod-0.7.3-0.git20100105.fc12.x86_64 (/libgpod-0.7.3-0.git20100105.fc12.x86_64)
    Error: Missing Dependency: libplist.so.0()(64bit) is needed by package libgpod-0.7.3-0.git20100105.fc12.x86_64 (/libgpod-0.7.3-0.git20100105.fc12.x86_64)
    You could try using –skip-broken to work around the problem
    You could try running: package-cleanup –problems
    package-cleanup –dupes
    rpm -Va –nofiles –nodigest
    [Exit 1]

    Can you suggest a work-around?

    Thanks again,

  16. Markus says:

    I feel like I’m so close to getting this working ….
    I followed instructions to the word and read all the posts …
    Everything is installed as far as I know …
    I am able to mount and unmount and see all the files …
    here is where i get hung up ….

    [mark@scorpion ~]$ ls /media/iphone/iTunes_Control/iTunes/
    IC-Info.sidb iTunesDB Rentals.plist VoiceMemos.plist
    IC-Info.sidv iTunes Library.itlp Ringtones.plist
    iTunesCDB iTunesPrefs ShowMarketing
    iTunesControl iTunesPrefs.plist ShowRegistration

    [mark@scorpion ~]$ sudo lsusb -v | grep -i iSerial iSerial 1 0000:00:1d.1
    iSerial 3 8dc60b124e697aa33411cc5576b8365a257cfe07
    iSerial 1 0000:00:1d.7
    iSerial 1 0000:00:1d.2
    iSerial 1 0000:00:1d.0
    iSerial 1 0000:00:1d.3
    iSerial 0

    [mark@scorpion ~]$ ipod-read-sysinfo-extended 8dc60b124e697aa33411cc5576b8365a257cfe07 /media/iphone
    Segmentation fault

  17. Markus says:

    update …

    rebooted and now i can’t even mount device ???

    [mark@scorpion ~]$ ifuse /media/iphone/
    usbmuxd_get_device_list: error opening socket!
    No device found, is it connected?
    If it is make sure that your user has permissions to access the raw usb device.
    If you’re still having issues try unplugging the device and reconnecting it.

  18. ingvar says:

    Markus,

    I have never seen that before. What Fedora version do you run? Please post to marcan’s blog. You should probably try to recompile the package for your platform yourself, using my src rpm. I have uploaded a couple of newer versions of the source rpm, you may try git20100113 (works for me) and git20100129 (untested).

    rpmbuild –rebuild libgpod-0.7.3-0.1.git20100113.fc12.src.rpm

    You may have to install some deps to be able to compile the package. rpmbuild will tell you.

  19. Markus says:

    I’m running Fedora 12 !!!

  20. Markus says:

    I now got iphone to mount and unmount sucessfully by removing and re-installing everything but i still can\’t get thru
    ls -sh /media/iphone/iTunes_Control/Device/SysInfoExtended

    here is my output …

    [mark@scorpion ~]$ ipod-read-sysinfo-extended 8dc60b124e697aa33411cc5576b8365a257cfe07 /media/iphone
    Couldn\’t read xml sysinfo from 8dc60b124e697aa33411cc5576b8365a257cfe07

    any idea whats going on here?

  21. Markus says:

    i can’t rebuild your rpm without errors
    what am i missing ??????

    itdb_iphone.c: In function ‘itdb_iphone_post_notification’:
    itdb_iphone.c:51: error: passing argument 3 of ‘lockdownd_start_service’ from incompatible pointer type
    /usr/include/libiphone/lockdown.h:77: note: expected ‘uint16_t *’ but argument is of type ‘int *’
    itdb_iphone.c: In function ‘itdb_iphone_start_sync’:
    itdb_iphone.c:105: error: too few arguments to function ‘lockdownd_client_new’
    itdb_iphone.c:111: error: passing argument 3 of ‘lockdownd_start_service’ from incompatible pointer type
    /usr/include/libiphone/lockdown.h:77: note: expected ‘uint16_t *’ but argument is of type ‘int *’
    itdb_iphone.c: In function ‘itdb_iphone_stop_sync’:
    itdb_iphone.c:250: error: too few arguments to function ‘lockdownd_client_new’
    make[2]: *** [libgpod_la-itdb_iphone.lo] Error 1
    make[2]: Leaving directory `/home/mark/rpmbuild/BUILD/libgpod-0.7.3/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/mark/rpmbuild/BUILD/libgpod-0.7.3′
    make: *** [all] Error 2
    error: Bad exit status from /var/tmp/rpm-tmp.H4pnHB (%build)

    RPM build errors:
    user ingvar does not exist – using root
    group ingvar does not exist – using root
    user ingvar does not exist – using root
    group ingvar does not exist – using root
    user ingvar does not exist – using root
    group ingvar does not exist – using root
    user ingvar does not exist – using root
    group ingvar does not exist – using root
    user ingvar does not exist – using root
    group ingvar does not exist – using root
    Bad exit status from /var/tmp/rpm-tmp.H4pnHB (%build)

  22. Cr1s says:

    Yeah, I get that
    itdb_iphone.c:51: error: passing argument 3 of ‘lockdownd_start_service’ from incompatible pointer type

    too, using archlinux. git from <20. january worked for me

  23. ingvar says:

    Markus,

    You may double-check that the phone is still mounted. I found that the mount is a bit flaky, and I often need to reestablish the connectino. try to unmount and remount it like this:

    fusermount -u /media/iphone
    # unplug the phone
    # replug the phone
    ifuse /media/iphone

    Then retry the sysinfo command again

    Note that I’m just a packager, that luckily got this to work. A more efficient support channel is probably one of these options:

    - Comments on marcan’s blog – that’s where I got my info from
    - The libgpod mailing list
    - The #gtkpod irc channel on the Freenode irc network

  24. Blogs Search Engine…

    Blogs Search Engine…

  25. Christophe Fergeau says:

    any chance you could put packages for libimobiledevice (just a rename of libiphone) and libgpod 0.7.90 in your repository? This would probably make things much easier for some people.

  26. ingvar says:

    Hello, Christophe.

    First, this is not a repo, just a bunch of rpms that works for me.

    Second, the software used here is in constant motion, and not stabilized yet. I’ll update the packages with current names when I build new packages for myself. The last time I did, latest git checkout of libgpod did not even compile against latest libiphone/libimobiledevice.

    So, perhaps, later.

  27. Mark says:

    Hi, I followed your steps and mostly things work. However, when I try to update the gpod libraries I get the following dependencies issues:

    Error: Failed dependencies:
    libiphone.so.0()(64bit) is needed by libgpod-0.7.3-0.git20100105.fc12.x86_64
    libplist.so.0()(64bit) is needed by libgpod-0.7.3-0.git20100105.fc12.x86_64
    libiphone.so.0()(64bit) is needed by python-gpod-0.7.3-0.git20100105.fc12.x86_64

    Any suggestions how to fix this? I’ve installed libplist and libiphone.

    Thanks!

  28. ingvar says:

    Hello, Mark. These packages have become a bit old. Some of the libraries have changed name, and some are updated to newer versions. I have not had the time to recompile the packages to the newer versions that works with latest update of f12, sorry.

    Ingvar

  29. David says:

    I get this when the iPhone is mounted and 16 gig black is selected:

    bash-4.0$ gtkpod

    (gtkpod:3969): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkImageMenuItem

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
    gtkpod: symbol lookup error: /usr/lib64/libgpod.so.4: undefined symbol: g_malloc0_n
    bash-4.0$

    Any thoughts would be appricated!

  30. ingvar says:

    * David
    > I get this when the iPhone is mounted and 16 gig black is selected:
    > bash-4.0$ gtkpod
    >
    > (gtkpod:3969): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

    This is just a warning to the developer. You can ignore this.

    > gtkpod: symbol lookup error: /usr/lib64/libgpod.so.4: undefined symbol: g_malloc0_n

    You forgot to update glib2.

    Ingvar

  31. David says:

    I tried this:

    root@localhost ~]# yum -y update glib2
    Loaded plugins: dellsysidplugin2, refresh-packagekit
    adobe-linux-i386 | 951 B 00:00
    fedora | 4.2 kB 00:00
    fedora-debuginfo | 3.0 kB 00:00
    livna | 2.4 kB 00:00
    rpmfusion-free-updates | 2.8 kB 00:00
    rpmfusion-nonfree-updates | 2.8 kB 00:00
    updates | 4.4 kB 00:00
    updates-debuginfo | 3.0 kB 00:00
    Setting up Update Process
    No Packages marked for Update
    You have new mail in /var/spool/mail/root
    [root@localhost ~]#

    here is what I have:
    root@localhost ~]# rpm -qa|grep glib2
    pulseaudio-libs-glib2-0.9.21-5.fc12.x86_64
    glib2-2.22.5-1.fc12.i686
    glib2-devel-2.22.5-1.fc12.x86_64
    glib2-2.22.5-1.fc12.x86_64
    [root@localhost ~]#

    It’s driving me nuts. has to be something simple!

  32. Flynn says:

    David,

    You’ve probably been enabling rawhide with yum –enablerepo rawhide, try that.

    Although, I do have to ask…how can one install a new version of gtkpod using that and NOT have glib2 be a dependency?

  33. ingvar says:

    * Flynn
    > Although, I do have to ask…how can one install a new version of
    > gtkpod using that and NOT have glib2 be a dependency?

    Can’t be done, at least not without patching. Upgraded libgpod needs newer glib2.

    Easiest way through, though: Wait for fedora 13 (or install the beta). I installed the fedora 13 beta yesterday on a laptop, and plugged my iPhone in. Just worked. No special patching or configuration needed at all. (Tested with iPhone 2G, 3GS, and iPod Touch).

    Ingvar

  34. Flynn says:

    That’s odd. I was able to use the instructions above on F12, and no update was requested for gtkpod. It updated, but I had to manually “yum update –enablerepo rawhide glib2″ to get it to run again. Must be because of the force enable of rawhide.

  35. David says:

    ok, tried it and got this:

    bash-4.0$ su -
    Password:
    [root@localhost ~]# yum update –enablerepo rawhide glib2
    Loaded plugins: dellsysidplugin2, refresh-packagekit
    adobe-linux-i386 | 951 B 00:00
    fedora | 4.2 kB 00:00
    fedora-debuginfo | 3.0 kB 00:00
    livna | 2.4 kB 00:00
    rpmfusion-free-updates | 2.8 kB 00:00
    rpmfusion-nonfree-updates | 2.8 kB 00:00
    rpmfusion-nonfree-updates/primary_db | 80 kB 00:00
    updates | 4.4 kB 00:00
    updates/primary_db | 5.0 MB 00:03
    updates-debuginfo | 3.0 kB 00:00
    updates-debuginfo/primary_db | 498 kB 00:00
    Setting up Update Process
    Traceback (most recent call last):
    File “/usr/bin/yum”, line 29, in
    yummain.user_main(sys.argv[1:], exit_code=True)
    File “/usr/share/yum-cli/yummain.py”, line 254, in user_main
    errcode = main(args)
    File “/usr/share/yum-cli/yummain.py”, line 109, in main
    result, resultmsgs = base.doCommands()
    File “/usr/share/yum-cli/cli.py”, line 356, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
    File “/usr/share/yum-cli/yumcommands.py”, line 204, in doCommand
    return base.updatePkgs(extcmds)
    File “/usr/share/yum-cli/cli.py”, line 642, in updatePkgs
    if not self.update(pattern=arg):
    File “/usr/lib/python2.6/site-packages/yum/__init__.py”, line 3226, in update
    self.logger.critical(_(‘No Match for argument: %s’) % arg)
    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe2 in position 0: ordinal not in range(128)
    You have new mail in /var/spool/mail/root
    [root@localhost ~]#

    Installing 13 beta on my mule. If that works then the laptop :)

  36. Hey…..nice post!!

    Awesome, No more words to explain :) :) :D just….cool blog.

  37. gregor says:

    hi,

    thanks for the tutorial.
    i have some troubles after connecting the iphone. these message i get from /var/log/messages:
    usbmuxd[9536]: [0] Dropping privileges failed, check if user ‘usbmux’ exists!

    what can be wrong?
    greetings
    gregor

  38. gregor says:

    sry, for the last post. i found a solution in /lib/udev/rules.d/85-usbmuxd.rules on the last line der was a typo. there i found: “RUN+=”/usr/sbin/usbmuxd -u -U usbmux”" changed it to “RUN+=”/usr/sbin/usbmuxd -u -U usbmuxd”"
    now i didn’t get the above message

    gregor

  39. gregor says:

    hi,

    sry for the “spam” these tutorial works fine with gtkpod but when i connect and reconnect the iphone i get no gnome menu what i would to with the device so i have to mount it manually with ifuse.
    then i tried to use the ipod plugin for banshee in there i see these message after connecting the phone:
    Caught an exception – System.Exception: org.freedesktop.Hal.NoSuchDevice: No device with id /org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial (in `NDesk.DBus.Proxies’)

    is it needed the register the device anywhere in gnome for gvfs?

    gregor

  40. hi,

    sry for the “spam” these tutorial works fine with gtkpod but when i connect and reconnect the iphone i get no gnome menu what i would to with the device so i have to mount it manually with ifuse.
    then i tried to use the ipod plugin for banshee in there i see these message after connecting the phone:
    Caught an exception – System.Exception: org.freedesktop.Hal.NoSuchDevice: No device with id /org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial (in `NDesk.DBus.Proxies’)

    is it needed the register the device anywhere in gnome for gvfs?

    gregor

Leave a Reply