Thanks Roland!So you think linker flags should be set when building rdiff-backup? I'm a total python novice but I was thinking these linker flags would have to be set when building python. Anyhow, I'll try out what you're suggesting...
OK, well I opened up setup.py and I saw that I could the option "-- lflags" so I tried this and low it works a treat. So, here's what you do:
build command:python setup.py --librsync-dir=/usr/local --lflags="-R /usr/local/ lib" build
install command:
sudo python setup.py install --prefix=/usr/local
And now I can happily run /usr/local/bin/rdiff-backup without needing
to set LD_LIBRARY_PATH or putting a symlink to librsync.so.1 in /usr/
lib.
Thanks for you help. Cheers JessePS ... By the way, some newlines in your email aren't coming through for some reason so I had to guess where you had paragraph breaks, see below.
On 24/06/2006, at 22:53, roland wrote:
as the solaris sharedlib faq tells:Q. Why should I use -R when linking programs?A. The -R option to the linker allows you to specify directories (one per occurence or -R) where the program being linked should look for its shared libraries when it is run. It should be used whenever aprogram requires libraries stored in directories other than /usr/ lib,so that the program will find all the libraries it needs. On a properly configured system, all programs have been linked with -R if they need libraries from elsewhere than /usr/lib, and LD_LIBRARY_PATH need not be used.Instead of using the -R option, the same effect can be achieved by setting the LD_RUN_PATH variable at link time. If both LD_RUN_PATH and -R are used, -R supersedes.so - you need to have shared-libs linked with the appropriate run-path.the problem is: how to tell this to rdiff- backup setup.py ?
in setup.py there seems to be support for adding linker flags:if os.name == 'posix':
LIBRSYNC_DIR = os.environ.get('LIBRSYNC_DIR', '') LFLAGS = os.environ.get('LFLAGS', [])
LIBS = os.environ.get('LIBS', [])
but when trying to set "export LFLAGS="-R /usr/local/lib" build fails:
export LFLAGS="-R /usr/local/lib"
host:/tmp/rdiff-backup-1.1.5 # ./setup.py build
Traceback (most recent call last):
File "./setup.py", line 36, in ?
lflags_arg = LFLAGS + LIBS
TypeError: cannot concatenate 'str' and 'list' objects
you can probably try setting:
extra_link_args="-R /usr/local/lib"
in setup.py
this _may_ work (don`t have solaris around and cannot try here)
regards
roland
----- Original Message ----- From: "Jesse Reynolds" <[EMAIL PROTECTED]> To: "roland" <[EMAIL PROTECTED]>Cc: "Andrew Ferguson" <[EMAIL PROTECTED]>; <rdiff-backup- [EMAIL PROTECTED]>Sent: Saturday, June 24, 2006 1:59 PM Subject: Re: [rdiff-backup-users] build problem on solaris 10, x86Thanks Roland, and AndrewAs I said, I can get it working if I add /usr/local/lib to LD_LIBRARY_PATH, but it strikes me that either Python or rdiff- backup should store the location of librsync that I gave it when I ran setup.py.Unless I write a wrapper script (urgh) to set LD_LIBRARY_PATH, then calling rdiff-backup remotely will fail due to it not finding librsync. So for now I have symlinked /usr/lib/ librsync.so.1 -> /usr/ local/lib/librsync.so.1 (urgh again).Perhaps I could add the LD_LIBRARY_PATH setting into the rdiff- backup python script? Or is there a way to build it so that python knows to look in /usr/local/lib for libraries?Cheers Jesse On 24/06/2006, at 21:44, roland wrote:maybe it`s worth taking a look into: http://www.tzone.org/~vandry/shared-lib ? regards roland----- Original Message ----- From: "Jesse Reynolds" <[EMAIL PROTECTED]>To: "Jesse Reynolds" <[EMAIL PROTECTED]>Cc: "Andrew Ferguson" <[EMAIL PROTECTED]>; <rdiff-backup- [EMAIL PROTECTED]>Sent: Saturday, June 24, 2006 1:15 AM Subject: Re: [rdiff-backup-users] build problem on solaris 10, x86_______________________________________________ rdiff-backup-users mailing list at [email protected] http://lists.nongnu.org/mailman/listinfo/rdiff-backup-usersWiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/ RdiffBackupWikiJesse Reynolds [EMAIL PROTECTED] Virtual Artists Pty Ltd - 08 8223 2288 - http://www.va.com.au/
Jesse Reynolds [EMAIL PROTECTED] Virtual Artists Pty Ltd - 08 8223 2288 - http://www.va.com.au/
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ rdiff-backup-users mailing list at [email protected] http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
