Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I've tried to install csync2 using apt-get, but I am getting the error below. I was wondering if anyone knew how to solve this or failing that, could you tell me if this problem could be because the dependencies haven't been ported to ARM?

I've tried this now with debian and occidentalis

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 csync2 : Depends: libgnutls-openssl27 but it is not going to be installed
          Depends: libgnutls26 (>= 2.12.17-0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
share|improve this question
    
have you tried "apt-get update" before you try and install csync2? –  Phorce Jan 26 '13 at 11:35
    
yeah I tried, thanks for the suggestion though –  Anake Jan 26 '13 at 14:34
    
try: sudo apt-get install --yes csync2 –  Phorce Jan 26 '13 at 14:44
    
That gave the same error –  Anake Jan 26 '13 at 14:53
    
Have you tried to install the dependencies separately (to see if any errors occur)? apt-get install libgnutls-openssl27 libgnutls26 –  Frederic Jan 28 '13 at 11:47
show 1 more comment

1 Answer

up vote 1 down vote accepted
+50

Okay here the results of a short investigation:

As you already know csync2 does not want to be installed using apt-get, the reason for this (as far as I can see) is that the debian people made a mistake in the dependencies of the libgnutls26 package. It states on a package line that it will break csync2 versions lower or equal then 1.34-2.2, which is odd because the version provided IS version 1.34-2.2, I guess the error is that the 'break' rule of the package should state versions LOWER then 1.34-2.2 and not LOWER OR EQUAL then version 1.34-2.2

What does it help to know this: NOTHING.

But there is a way to get csync2 installed anyway, here is how:

first we're only going in download the package using:

sudo apt-get download csync2

After running this command the package (csync2_1.34-2.2_armhf.deb) should be as a file in the directory you started the command in.

After that I needed to install using the normal way two additional packages:

sudo apt-get install librsync1
sudo apt-get install sqlite

And for a final working version you'll also need one of these installed:

openbsd-inetd OR inet-superserver

Now for the csync2 part, we're going to use this command to install it:

sudo dpkg --install csync2_1.34-2.2_armhf.deb

It will complain about the same stuff as apt-get did before, but it will install it anyway. One latest check to see if all library requirements are met:

ldd /usr/sbin/csync2

should output something like:

/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0x40249000)
libgnutls-openssl.so.27 => /usr/lib/arm-linux-gnueabihf/libgnutls-openssl.so.27 (0x400a3000)
libsqlite.so.0 => /usr/lib/libsqlite.so.0 (0x400b4000)
librsync.so.1 => /usr/lib/arm-linux-gnueabihf/librsync.so.1 (0x40081000)
libgnutls.so.26 => /usr/lib/arm-linux-gnueabihf/libgnutls.so.26 (0x4010b000)
libtasn1.so.3 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.3 (0x4027e000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x40294000)
libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x401c6000)
/lib/arm-linux-gnueabihf/ld-linux.so.3 => /lib/ld-linux-armhf.so.3 (0x40009000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x401dd000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x401fc000)
libgcrypt.so.11 => /lib/arm-linux-gnueabihf/libgcrypt.so.11 (0x403c3000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x40038000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x40056000)
libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0x40072000)

In the output shown above there should be no, 'File not Found' Errors, if there are you need to install those libs using the normal apt-get way.

Now you have a (as far as I can see) working version on csync2 on your RPi. starting csync2 does result in a help screen and not some coredump, error or otherwise not working thing, so I guess it is now a matter of configuring it and done...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.