Bacula-users

Re: [Bacula-users] USB tape drives?

2013-09-20 15:45:42
Subject: Re: [Bacula-users] USB tape drives?
From: Josh Fisher <jfisher AT pvct DOT com>
To: Greg Woods <greg AT gregandeva DOT net>
Date: Fri, 20 Sep 2013 15:42:42 -0400

On 9/20/2013 2:17 PM, Greg Woods wrote:
On Tue, 2013-09-17 at 13:13 +0300, Guy wrote:
Yes I do this with vchanger... 
I've run into a wall trying to get vchanger to compile on Raspbian (a
limited version of Debian for the Raspberry Pi).

When I run configure, it notes that I do not have libuuid. I believe
this is correct; there is a shared library (.so) version, but there is
no development (.a) version. However, it still tries to use -luuid
anyway, and I get linker errors:

libtool: link: g++ -g -O2 -o vchanger vchanger-vchanger_common.o
vchanger-compat_util.o vchanger-junctions.o vchanger-uuidlookup.o
vchanger-util.o vchanger-vconf.o vchanger-loghandler.o
vchanger-diskchanger.o vchanger-changerstate.o vchanger-vchanger.o
-L/lib/arm-linux-gnueabihf -luuid -lblkid
/usr/bin/ld: cannot find -luuid
/usr/bin/ld: cannot find -lblkid
collect2: ld returned 1 exit status
make: *** [vchanger] Error 1

I tried manually editing the Makefile in the src directory to comment
out this line:

#vchanger_LDADD = -L/usr/local/lib -luuid -lblkid

I didn't really expect that to work, since manually editing Makefiles
produced by configure seldom does, and it didn't:

vchanger-uuidlookup.o: In function `GetMountpointFromUUID':
/usr/local/src/vchanger/src/uuidlookup.c:236: undefined reference to
`blkid_get_devname'
collect2: ld returned 1 exit status

Is there any hope of getting vchanger to compile? A set of configure
options that will prevent the linker errors, perhaps?

Yes. The quick and dirty way is to comment out the vchanger_LDADD line in the Makefile.am in the src directory and replace the uuidlookup.c file with a version having a single function as follows:

/* * uuidlookup.c ( to disable UUID lookups ) */ #include "config.h" #include <stdlib.h> int GetMountpointFromUUID(char *mountp, size_t mountp_sz, const char *uuid_str)
{   /* Always fail as if for a system error */
return -1;
}
This uuidlookup.c will not call any libuuid or libblkid functions, and so prevent the attempt to link with those libraries. Of course, you must specify magazines by their mountpoint directories and never by UUID.

The other approach is to snag the libuuid and libblkid headers from the Rasbian source and manually put them in /usr/include before running configure. If the libraries are installed and haven't been patched too heavily from their Debian versions, then that may well work. I know nothing about Rasbian, so can't really say.



Thanks,
--Greg

P.S. It doesn't appear that -dev packages are available for these
libraries:

r# dpkg -l '*uuid*'
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  libuuid1:armhf 2.20.1-5.3   armhf        Universally Unique ID
library
ii  uuid-runtime   2.20.1-5.3   armhf        runtime components for the
Univer
root@bstore:/usr/local/src/vchanger# dkpg -l '*blkid*"
^C
root@bstore:/usr/local/src/vchanger# ^"^'
dkpg -l '*blkid*'
bash: dkpg: command not found
root@bstore:/usr/local/src/vchanger# dpkg -l '*blkid*'
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  libblkid1:armh 2.20.1-5.3   armhf        block device id library



------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users