Re: -no_prelink and CC -ar on IRIX
On Tue, Mar 08, 2005 at 03:38:28PM +0100, Ralf Wildenhues wrote: > * Albert Chin wrote on Tue, Mar 08, 2005 at 03:21:58PM CET: > > On Tue, Mar 08, 2005 at 10:10:35AM +0100, Ralf Wildenhues wrote: > > > * Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: > > > > > > > > That won't help. After you copy over the .ii files, you must modify > > > > them. I have a solution but I'm running into another problem I need to > > > > solve. > > > > > > In what way do you have to modify them? Do they contain (absolute) path > > > references to other files? Is it necessary to also carry around the > > > source files (that would probably be the worst case)? > > > > The .ii files contain the relative path to the C++ object file. > > I was afraid of something like that. > Can you specify a replacement name for the ii_files directory? No. -- albert chin ([EMAIL PROTECTED]) ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
* Albert Chin wrote on Tue, Mar 08, 2005 at 03:21:58PM CET: > On Tue, Mar 08, 2005 at 10:10:35AM +0100, Ralf Wildenhues wrote: > > * Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: > > > > > > That won't help. After you copy over the .ii files, you must modify > > > them. I have a solution but I'm running into another problem I need to > > > solve. > > > > In what way do you have to modify them? Do they contain (absolute) path > > references to other files? Is it necessary to also carry around the > > source files (that would probably be the worst case)? > > The .ii files contain the relative path to the C++ object file. I was afraid of something like that. Can you specify a replacement name for the ii_files directory? That way it might be possible to both find the ii_files reliably plus somewhat better control the relative path stored therein. > I have something working now. However, there is another hiccup. Things > work fine if a libtool convenience library contains objects from *one* > directory. However, when the archive contains objects from multiple > directories, I don't know what to do. The archive at that point won't > give you an indication of where to find the .ii files. I don't think > there's a solution to this so my current solution will solve only part > of the problem. Oh well, I would probably like a part-solution better than nothing here. Especially when the user can work around the remaining limitations. Please post your changes if possible. A usage example would be even better. Thanks, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
On Tue, Mar 08, 2005 at 10:10:35AM +0100, Ralf Wildenhues wrote: > * Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: > > On Fri, Mar 04, 2005 at 10:19:02AM +0900, Peter O'Gorman wrote: > > > Albert Chin wrote: > > > | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: > > > | > > > | Ok, this sucks. -no_prelink causes other problems. The SGI compiler > > > | leaves template droppings in the ii_files directory that *must* be > > > | copied when we extract the convenience library. Ugh. > > > | > > > > > > At the end of func_extract_archives it does a find: > > > > > > my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name > > > \*.lo -print | $NL2SP` > > > > > > Does adding -o -name \*.ii to the list help at all? > > > > That won't help. After you copy over the .ii files, you must modify > > them. I have a solution but I'm running into another problem I need to > > solve. > > In what way do you have to modify them? Do they contain (absolute) path > references to other files? Is it necessary to also carry around the > source files (that would probably be the worst case)? The .ii files contain the relative path to the C++ object file. I have something working now. However, there is another hiccup. Things work fine if a libtool convenience library contains objects from *one* directory. However, when the archive contains objects from multiple directories, I don't know what to do. The archive at that point won't give you an indication of where to find the .ii files. I don't think there's a solution to this so my current solution will solve only part of the problem. -- albert chin ([EMAIL PROTECTED]) ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
* Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: > On Fri, Mar 04, 2005 at 10:19:02AM +0900, Peter O'Gorman wrote: > > Albert Chin wrote: > > | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: > > | > > | Ok, this sucks. -no_prelink causes other problems. The SGI compiler > > | leaves template droppings in the ii_files directory that *must* be > > | copied when we extract the convenience library. Ugh. > > | > > > > At the end of func_extract_archives it does a find: > > > > my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name > > \*.lo -print | $NL2SP` > > > > Does adding -o -name \*.ii to the list help at all? > > That won't help. After you copy over the .ii files, you must modify > them. I have a solution but I'm running into another problem I need to > solve. In what way do you have to modify them? Do they contain (absolute) path references to other files? Is it necessary to also carry around the source files (that would probably be the worst case)? Regards, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
Ralf Wildenhues wrote: * Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: On Fri, Mar 04, 2005 at 10:19:02AM +0900, Peter O'Gorman wrote: Albert Chin wrote: | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: | | Ok, this sucks. -no_prelink causes other problems. The SGI compiler | leaves template droppings in the ii_files directory that *must* be | copied when we extract the convenience library. Ugh. At the end of func_extract_archives it does a find: my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` Does adding -o -name \*.ii to the list help at all? That won't help. After you copy over the .ii files, you must modify them. I have a solution but I'm running into another problem I need to solve. Just a note on this: C++ and templates need more support from Libtool, not just with this compiler. There have been other bug reports (with Portland's pgcc, for example). icc surely suffers as well. icc (at least on debian and gentoo) does well. (for me, that is) i am using templates quite a lot with convenience libraries and libraries... I'd really appreciate if someone knowledgeable would look into this. Otherwise, I plan to eventually do this, but it looks like it could be more than a little work, I don't have much time ATM. Regards, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool smime.p7s Description: S/MIME Cryptographic Signature ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
* Albert Chin wrote on Fri, Mar 04, 2005 at 04:33:39AM CET: > On Fri, Mar 04, 2005 at 10:19:02AM +0900, Peter O'Gorman wrote: > > Albert Chin wrote: > > | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: > > | > > | Ok, this sucks. -no_prelink causes other problems. The SGI compiler > > | leaves template droppings in the ii_files directory that *must* be > > | copied when we extract the convenience library. Ugh. > > > > At the end of func_extract_archives it does a find: > > > > my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name > > \*.lo -print | $NL2SP` > > > > Does adding -o -name \*.ii to the list help at all? > > That won't help. After you copy over the .ii files, you must modify > them. I have a solution but I'm running into another problem I need to > solve. Just a note on this: C++ and templates need more support from Libtool, not just with this compiler. There have been other bug reports (with Portland's pgcc, for example). icc surely suffers as well. I'd really appreciate if someone knowledgeable would look into this. Otherwise, I plan to eventually do this, but it looks like it could be more than a little work, I don't have much time ATM. Regards, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
On Fri, Mar 04, 2005 at 10:19:02AM +0900, Peter O'Gorman wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Albert Chin wrote: > | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: > | > | Ok, this sucks. -no_prelink causes other problems. The SGI compiler > | leaves template droppings in the ii_files directory that *must* be > | copied when we extract the convenience library. Ugh. > | > > At the end of func_extract_archives it does a find: > > my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name > \*.lo -print | $NL2SP` > > Does adding -o -name \*.ii to the list help at all? That won't help. After you copy over the .ii files, you must modify them. I have a solution but I'm running into another problem I need to solve. -- albert chin ([EMAIL PROTECTED]) ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Albert Chin wrote: | On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: | | Ok, this sucks. -no_prelink causes other problems. The SGI compiler | leaves template droppings in the ii_files directory that *must* be | copied when we extract the convenience library. Ugh. | At the end of func_extract_archives it does a find: my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` Does adding -o -name \*.ii to the list help at all? Peter - -- Peter O'Gorman - http://www.pogma.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.6 (Darwin) iQCVAwUBQie3hbiDAg3OZTLPAQJVUgP+IReeCYyGBwx6z24PujjNCIKiasCxeYJV ai4tQ1wy6ELXk59w+Mig5IMRT0fy/0WxFBFEoL7Y8WUdO4u81UM+iwxAjuKUdXUd 19pCHoQsPJZsDY5G0uOiTB7xRqQUt2F+PvSu3NYbdqIC1EBCWYHfDlegaZXr8UyY Qu5re7ePLTA= =dKa5 -END PGP SIGNATURE- ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: -no_prelink and CC -ar on IRIX
On Thu, Mar 03, 2005 at 01:23:44PM -0600, Albert Chin wrote: > Will bad things happen if -no_prelink is used in combination with CC > -ar? When GNU libtool creates an archive library which is comprised of > objects from other libtool archive libraries (convenience libraries), > it extracts the object files from the convenience libraries and adds > them to the archive library being created. When this is done, the .ii > files from the archive libraries being added are lost because the > object files are extracted to a temporary directory. So, C++ > prelinking might fail. > > It seems the easiest solution is adding -no_prelink to CC -ar. > > I'm trying to find a solution to a build problem with kdepim-3.3.2 on > IRIX using the SGI C++ compiler: > ... > /bin/sh ../libtool --mode=link --tag=CXX CC ... > rm -fr .libs/knotes_local.lax > mkdir .libs/knotes_local.lax > rm -fr .libs/knotes_local.lax/libknotesresources.a > mkdir .libs/knotes_local.lax/libknotesresources.a > (cd .libs/knotes_local.lax/libknotesresources.a && ar x > /opt/build/kdepim-3.3.2/knotes/./.libs/libknotesresources.a) > rm -fr .libs/knotes_local.lax/libknotesconfig.a > mkdir .libs/knotes_local.lax/libknotesconfig.a > (cd .libs/knotes_local.lax/libknotesconfig.a && ar x > /opt/build/kdepim-3.3.2/knotes/./.libs/libknotesconfig.a) > CC -ar -WR,-u -o .libs/knotes_local.a resourcelocal_plugin.o > .libs/knotes_local.lax/libknotesresources.a/resourcemanager.o > .libs/knotes_local.lax/libknotesresources.a/resourcenotes.o > .libs/knotes_local.lax/libknotesresources.a/resourcelocal.o > .libs/knotes_local.lax/libknotesconfig.a/knoteconfig.o > .libs/knotes_local.lax/libknotesconfig.a/knotesglobalconfig.o > C++ prelinker: error: file > ".libs/knotes_local.lax/libknotesconfig.a/ii_files/knoteconfig.ii" is > read-only Ok, this sucks. -no_prelink causes other problems. The SGI compiler leaves template droppings in the ii_files directory that *must* be copied when we extract the convenience library. Ugh. -- albert chin ([EMAIL PROTECTED]) ___ http://lists.gnu.org/mailman/listinfo/libtool