LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   Compiling Quantum LTFS Software on Debian (http://www.linuxquestions.org/questions/linux-software-2/compiling-quantum-ltfs-software-on-debian-894103/)

phillc 07-27-2011 12:03 PM

Compiling Quantum LTFS Software on Debian
 
I am trying to compile Quantum's LTFS software from source on a Debian Squeeze system.

Software here:

http://www.quantum.com/Products/Tape...TFS/Index.aspx
http://www.quantum.com/ServiceandSup...TFS/Index.aspx

They provide binaries for Red Hat and SUSE, but not Debian, thus I need to compile myself.

I have installed the dependancies:

> sudo apt-get install libicu-dev libfuse-dev uuid uuid-dev libxml++2.6-2 libxml++2.6-dev

./configure completes without error.

However, when attempting to "make" I see the following:

sudo make
make all-recursive
make[1]: Entering directory `/home/station/Downloads/qtmltfs-1.2.0'
Making all in messages
make[2]: Entering directory `/home/station/Downloads/qtmltfs-1.2.0/messages'
genrb number of files: 3
sh: ./icu-config: not found
pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O option)
required parameter is missing: -O is required for static and shared builds.
Run 'pkgdata --help' for help.
make[2]: *** [bin_mkltfs_dat.o] Error 1
make[2]: Leaving directory `/home/station/Downloads/qtmltfs-1.2.0/messages'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/station/Downloads/qtmltfs-1.2.0'
make: *** [all] Error 2

I've tried exporting the path to icu-config (/usr/bin), I've tried manually editing some of the pkgdata paths in the Makefile, but still receive the same error.

I am a bit stuck now and at the end of my Linux knowledge. Any assistance much appreciated.

--

[12 hours later....]

Sitting at Heathrow airport with 30 minutes to spare, I decided to have another look at this. I have with me a 3 year old netbook running Ubuntu 10.04 Lucid Lynx NBR. Not exactly the machine I want to connect up to a Quantum LTO5 tape drive, but nonetheless, something I thought I could at least trouble shoot on.

Anyway, the software compiled without error on this machine.

This leads me to the conclusion that there is some library or path linking problem with vanilla Debian. If anyone has some insight into this, I'd certainly appreciate it. Otherwise, I guess I will be installing Ubuntu on the workstation when I'm back in the office.

the trooper 07-28-2011 07:57 AM

Do you have build-essential installed on your Debian machine?.
I'd guess Ubuntu installs this by default where Debian can often not.

knudfl 07-28-2011 09:18 AM

( 'build-essential' provides g++ ( and the g++ dependencies ) + make : No 'configure'
would work in qtmltfs with no gcc etc.)


Debian Squeeze :
The issue is the libicu44 devel files (icu-config ?) ( libicu-dev version "44".)
Solution : 1) # apt-get remove libicu-dev ( Can be reinstalled later.)
( Don't remove libicu44, several libicu* can be installed at the same time.)

2) # dpkg -i libicu42* ( From Ubuntu 10.04 : No libicu42 avavilable for i386, amd64 Debian.).
http://packages.ubuntu.com/lucid/libicu42

3) # dpkg -i libicu-dev_4.2.1-3_<arch>.deb
http://packages.ubuntu.com/lucid/libicu-dev

( I tried some other workarounds for qtmltfs, only the above worked.)

..

the trooper 07-28-2011 09:40 AM

I stand corrected.Thanks knudfl.

phillc 08-03-2011 06:20 AM

Apologies it has taken me so long to reply, but only just back with access to this machine today.

The good news is that your solution worked, knudfl. Thank you for your assistance with this.

I can now hopefully back up data to LTO5 tape to my heart's content.

phillc 08-04-2011 01:02 PM

If you're interested, I also needed to compile a custom kernel with legacy scsi support turned on, to finally get this drive working:

http://stream0.org/2011/08/04/settin...ive-on-debian/

timmcart 05-30-2012 03:50 PM

LTFS on Fedora 16
 
Hi all,

I am having the same problem building the LTFS package from source on a system running Fedora 16. I get the exact same error when I run the make command. The default libicu for the build is 4.6-4. There are a ton of packages that have dependancies to the current libicu. That being said I don't want to remove the current version.

I downloaded an .rpm for 4.2, but when I try to install it I get an error saying that I have a newer version and the older version cannot be installed.

Any suggestions on how to get around?

knudfl 06-05-2012 07:39 AM

# 7. LTFS, a random example, that works on the 64bits Fedora 16.

# yum install fuse-devel libuuid-devel
# yum remove icu libicu-devel

# rpm -ivh --force libicu-4.2.1-9.el6.x86_64.rpm
ftp://ftp.pbone.net/mirror/ftp.sourc...1-6.x86_64.rpm

# rpm -Uvh libicu-devel-4.2.1-9.el6.x86_64.rpm
ftp://ftp.isu.edu.tw/pub/Linux/CentO...el6.x86_64.rpm

# rpm -Uvh icu-4.2.1-9.el6.x86_64.rpm
ftp://ftp.isu.edu.tw/pub/Linux/CentO...el6.x86_64.rpm

cd qtmltfs-1.2.0/ && ./configure && make ; su ; make install : No errors.

.

aureus 08-29-2012 01:03 PM

LTFS on Ubuntu 11.04
 
Hello, the problem below is solved. I was using HP's source code and there seemed to be some issue with the makefile (I had also copied the files from a windows machine to the linux blade using CIFS and it seems few files got dropped.). Downloading the source code from the quantum link mentioned above, directly onto my linux server solved the issue. No trouble building the code.

Thanks


Hello

I followed the above mentioned instructions but I am getting the following output when I perform "make"


root@lnx164-13:~/ltfs# sudo make
make all-recursive
make[1]: Entering directory `/root/ltfs'
Making all in messages
make[2]: Entering directory `/root/ltfs/messages'
make[2]: Leaving directory `/root/ltfs/messages'
Making all in src
make[2]: Entering directory `/root/ltfs/src'
Making all in tape_drivers/generic/file
make[3]: Entering directory `/root/ltfs/src/tape_drivers/generic/file'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/ltfs/src/tape_drivers/generic/file'
Making all in tape_drivers/linux/ltotape
make[3]: Entering directory `/root/ltfs/src/tape_drivers/linux/ltotape'
make[3]: *** No rule to make target `ltotape.c', needed by `libdriver_ltotape_la-ltotape.lo'. Stop.
make[3]: Leaving directory `/root/ltfs/src/tape_drivers/linux/ltotape'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/ltfs/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ltfs'
make: *** [all] Error 2


Any tips on how to overcome this?

Thanks

knudfl 08-30-2012 05:17 AM

Post # 9, @aureus : Welcome to LQ.

For the sake of completeness:
The proof source code, and the Ubuntu example I anyway wrote yesterday ..
qtmltfs http://downloads.quantum.com/open_so...5-00732-03.zip

sudo apt-get install \
libfuse-dev uuid uuid-dev libxml++2.6-2 libxml++2.6-dev build-essential

sudo apt-get remove libicu-dev

sudo dpkg -i \
libicu42_4.2.1-3ubuntu0.10.04.1_i386.deb libicu-dev_4.2.1-3ubuntu0.10.04.1_i386.deb

Assume a build directory in /home/<user-name>/ :
cd qtmltfs-1.2.1/ && ./configure && make && sudo make install
... No errors Ubuntu 11.04 .

.

arjanvl 11-16-2012 05:42 AM

Hey All,

I am trying to get it to work on Ubuntu 12.04 LTS.
Compiling was a bit of an issue, but I managed with tips from above.

Nevertheless, I have an issue after it completes.
When running the mkltfs command, the following appears:
Code:

LTFS11261E Cannot load plugin: /usr/local/lib/ltfs/libdriver-ltotape.so: undefined symbol: fuse_opt_parse
It appears there a function being called to fuse, which is not available in the 2.8.6 on the Ubuntu 12.04 release. No issues whatsoever on 10.x and 11.x.

I could compile it on a 10.x system and the copy the binaries to the new system, but i'd like to have it working directly from the box of course :)

Thanks for the input!

nicolasavru 01-07-2013 04:42 PM

arjanvl, did you ever resolve that issue? I was able to compile it on Ubuntu 11.04 and copied the binaries onto an Ubuntu 12.04 LTS system. mkltfs runs fine, but I am unable to mount the ltfs volume after formatting the tape. An obvious suspect is the version difference of fuse.

The relevant output from "ltfs /tmp/lto5" follows:
Code:

LTFS17160I Maximum device block size is 524288
LTFS11005I Mounting the volume
LTFS12015I Attempting to load the medium
LTFS11175E Cannot read ANSI label: expected 80 bytes, but received 524288
LTFS11170E Failed to read label (-1012) from partition 0
LTFS11009E Cannot mount volume: failed to read partition labels.
LTFS14013E Cannot mount the volume

Unfortunately the 11.04 machine is at a remote location, so I can't test the tape drive directly with it. I am using LTFS code from HP and an HP drive.

Thanks

arjanvl 01-08-2013 03:49 AM

Hey nicolasavru,

No, I have never resolved this issue either than copying the binaries.
Looks like on your system all works, but the tape is defective. I'd try a different tape if I were you.

Cheers

knudfl 01-08-2013 05:05 AM

# 11 : Ubuntu 12.04 / qtmltfs.

Back in November, when your question appeared, I tried to compile qtmltfs
with all the versions of fuse that I could think of : No luck.
They all returned : `undefined symbol: fuse_opt_parse'

I never reached that far as to try out a working version from another OS.
But : An old version is often the solution, when the OS is too new
for an old application.


.

arjanvl 01-08-2013 05:29 AM

After reading the post of nicolasavru again, I realised the "error" is simple to explain... if you are using "ltfs /tmp/lto5" as mount command, it will never work. Try using the following:

Code:

ltfs -o devname=/dev/st0 /tmp/lto5
Assuming your device is /dev/st0

Give it a go and let us know.

At this moment I have installed a dedicated LTO server using CentOs5... as there's a woring RPM available. I know... thats a lame solution, as company policy is Ubuntu... (mad that policy myself), but wanted a good and operational system. Don't have time to hassle anymore :)


All times are GMT -5. The time now is 04:09 AM.