Re: -no_prelink and CC -ar on IRIX

2005-03-08 Thread Albert Chin
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

2005-03-08 Thread Ralf Wildenhues
* 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

2005-03-08 Thread Albert Chin
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

2005-03-08 Thread Ralf Wildenhues
* 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

2005-03-04 Thread Markus Christen
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

2005-03-04 Thread Ralf Wildenhues
* 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

2005-03-03 Thread Albert Chin
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

2005-03-03 Thread Peter O'Gorman
-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

2005-03-03 Thread Albert Chin
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