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@lists.sourceforge.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@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users