patchGNU Autoconf Archive - Patches: patch #7125, AX_BOOST_BASE libdir improvments...

 
 

patch #7125: AX_BOOST_BASE libdir improvments for Gentoo and multilib

Submitter:  Nathan Phillip Brink <ohnobinki>
Submitted:  Fri 19 Mar 2010 05:18:18 AM UTC
   
 
Priority:  5 - Normal Status:  Works For Me
Assigned to:  None Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 19 Mar 2010 04:03:13 PM UTC, comment #5: 

Well, thanks for thinking of the archive, all the same!  The more contributions, the better it gets.

Dustin J. Mitchell <djmitche>
Group Member
Fri 19 Mar 2010 04:00:11 PM UTC, comment #4: 

Ah, sorry for this whole mess. The first hunk of the patch will probably never be useful to anybody as one who's compiling x86 code on an amd64 machine will properly give --with-boost-libdir. The second hunk tries to address a problem that's already fixed in the git version of autoconf-archive. It was my fault to have an old snapshot installed and not test the git copy before modifying the git copy :-/. (I'll hopefully remember to do so next time).

Sorry for this whole bother and please close this bug :-). And thanks for your good maintainance of the autoconf-archive.

Nathan Phillip Brink <ohnobinki>
Fri 19 Mar 2010 02:11:03 PM UTC, comment #3: 

The patch looks fine, but yes, a bit more supporting evidence would be great.

Thanks -- doubly so for re-uploading the patch!

Dustin J. Mitchell <djmitche>
Group Member
Fri 19 Mar 2010 01:20:10 PM UTC, comment #2: 

Well, here's the patch again ;-).

I don't really know how a ./configure script is supposed to determine the libdir except through the --libdir switch. It seems to me that this is the only way such information is transmitted. Maybe if there was a separate --with-libdir switch which one could pass ``lib'', ``lib32'', or ``lib64'' would make sense; but such a thing would require a lot of changes. One purpose of the boost autoconf macros is to guess where the boost libraries are to be found, so maybe making guesses based on the value of --libdir is one way.

I'll see if I can get more correct information from somewhere other than my head, though ;-).

(file #19985)

Nathan Phillip Brink <ohnobinki>
Fri 19 Mar 2010 05:28:56 AM UTC, comment #1: 

OK, first, I'm an idiot and just deleted the attachment.  Apparently the blue cylinder icon means "delete" and not "download".  Who knew?  If you can upload it again, I'd be very grateful.

Second, in my experience the Gentoo folks are very knowledgeable about both multilib build systems and about autoconf (especially flameeyes), so it would be great if you could point us toward some discussion by Gentoo devs of the "right" way to do #1.

Dustin J. Mitchell <djmitche>
Group Member
Fri 19 Mar 2010 05:18:18 AM UTC, original submission:  

I'm going to submit one patch that contains two slightly unrelated changes (sorry).

1. The first change in the patch is an attempt at supporting linking against a 32-bit boost on systems with both 64-bit and 32-bit copies installed. It would take whatever the user passes to --libdir as a hint for the proper libdir suffix. I can't think of a better way to do something like this. All I can say is that if one is on an x86_64 machine and wants to compile 32-bit code (see gcc's -m32 option), using $(uname -m) won't help that person (see the existing code for deciding to use lib64 or not).

2. The second change takes into account Gentoo's apparently unique boost library symlink installation locations. It would be great if ./configure scripts using boost worked out of the box for a Gentoo system, but this has not been my experience. For boost versions newer than 1.35 (IIRC), Gentoo supports side-by-side installations of multiple versions of boost. Thus we get file structure like the following:

lrwxrwxrwx 1 root root 25 Dec  6 16:22 /usr/lib64/boost-1_39/libboost_system.a -> ../libboost_system-1_39.a
lrwxrwxrwx 1 root root 26 Dec  6 16:22 /usr/lib64/boost-1_39/libboost_system.so -> ../libboost_system-1_39.so

This minor second change eliminates the need for me to pass --with-boost-libdir just to manually compile a boost application on Gentoo. Note that -rpath does not need to be expanded because the SONAME of the libraries matches the filename of the libraries which are in the default search path.



I do not really know and cannot test if either of these changes would break non-Gentoo systems, etc. IMO, both of these are improvements but, if anything, please consider the second change. I will not worry if first multilib-related change is postponed ;-).

Nathan Phillip Brink <ohnobinki>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by simons (Boost Macro Author)
  • -email is unavailable- added by djmitche (Posted a comment)
  • -email is unavailable- added by ohnobinki (Submitted the item)
  •  

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-03-19 djmitche StatusNone Works For Me
        Open/ClosedOpen Closed
    2010-03-19 ohnobinki Attached File- Added 0001-Support-autodetection-of-library-locations-for-boost.patch, #19985
    2010-03-19 simons Carbon-Copy- Added thomas porschberg <thomas@randspringer.de>
    2010-03-19 djmitche Attached File#19980 Removed
    2010-03-19 ohnobinki Attached File- Added 0001-Support-autodetection-of-library-locations-for-boost.patch, #19980

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code