mainGNU Libtool - Support: sr #100049, conveniece libraries under darwin?

 
 

sr #100049: conveniece libraries under darwin?

Submitter:  None
Submitted:  Wed 30 May 2001 05:53:56 AM UTC
   
 
Category:  None Priority:  3 - Low
Severity:  2 - Minor Status:  None
Privacy:  Public Assigned to:  gary
Originator Email:  -email is unavailable- Open/Closed:  Closed
Operating System:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 18 Jul 2003 01:21:03 PM UTC, comment #8: 


This was fixed in 1.4.(something) and remains fixed in
current cvs.

Okay to close this.

Peter

Peter O'Gorman <pogma>
Group Member
Mon 04 Feb 2002 04:07:24 AM UTC, comment #7: 


I just posted a new fix for the convenience library double-linking bug on Darwin. Patch #111 applies to 1.4.2, but I've tested it with libtool 1.4 through 1.4.2, and it has worked with three separate Darwin programs (gdk-pixbuf, nautilus and audiofile). All tests still pass on RH Linux 7.2 with the patch.

Invalid User ID <#5001>
Tue 11 Sep 2001 03:01:24 AM UTC, comment #6: 


Both of these patches cause the cdemo tests to FAILin their
respective branches, so I cannot apply them.

Gary V. Vaughan <gary>
Group Member
Sun 09 Sep 2001 09:21:19 PM UTC, comment #5: 


I've posted cleaned-up versions of the patch for HEAD and
branch-1-4 in the patch tracker, item #31 and #32.
Explanations are attached to #31. Errr.. were attached..
were lost by the site... Okay, I'll try to recall what I
wrote.

The problem is that convenience libraries are added to both
$convenience and $deplibs. That causes the library to be
listed twice on the final link command line. That's a
problem on platforms with pedantic linkers like Darwin,
which complain about duplicate symbols as a result. Note
that at the core this actually affects all platforms, not
just Darwin. (There may be some that rely on the current
errenous behaviour, though. whole_archive_flag_spec=' '
cough)

Hope this helps,
-chrisp

Invalid User ID <#1955>
Sun 09 Sep 2001 06:28:37 PM UTC, comment #4: 


I can verify this problem happening using latest libtool CVS (just made a fresh checkout). I was able to solve it using this fix based on what fjf posted. But I must admit I have no real idea why it works =)

--- ltmain.sh Sun Sep  9 19:06:13 2001+++ ltmain.sh.patched Sun Sep  9 19:58:44 2001@@ -1876,7 +1876,9 @@  if test "$pass" = conv; then   # Only check for convenience libraries-   deplibs="$lib $deplibs"+   if test "$libdir"; then+     deplibs="$lib $deplibs"+   fi   if test -z "$libdir"; then     if test -z "$old_library"; then       $echo "$modename: cannot find name of link library for \`$lib'" 1>&2

Max Horn <fingolfin>
Sun 09 Sep 2001 06:15:21 PM UTC, comment #3: 


I can verify this problem happening using latest libtool CVS (just made a fresh checkout). I was able to solve it using this fix based on what fjf posted. But I must admit I have no real idea why it works =)

--- ltmain.sh Sun Sep  9 19:06:13 2001+++ ltmain.sh.patched Sun Sep  9 19:58:44 2001@@ -1876,7 +1876,9 @@  if test "$pass" = conv; then   # Only check for convenience libraries-   deplibs="$lib $deplibs"+   if test "$libdir"; then+     deplibs="$lib $deplibs"+   fi   if test -z "$libdir"; then     if test -z "$old_library"; then       $echo "$modename: cannot find name of link library for \`$lib'" 1>&2

Max Horn <fingolfin>
Sun 24 Jun 2001 10:17:27 PM UTC, comment #2: 


Sorry, your patch doesn't apply -- and has no context =(O|

Please resubmit a patch generated with `diff -u' or `diff -c', and
supply a ChangeLog entry so that we can evaluate the patch
properly.

Cheers,
Gary.

Gary V. Vaughan <gary>
Group Member
Sun 24 Jun 2001 01:02:41 PM UTC, comment #1: 


Here's a patch against ltmain.sh to solve the problem on
Darwin/MacOSX (watch the tabs). I have no idea whether this
will screw other platforms, however...

1523c1523,1525
<   deplibs="$lib $deplibs"
---

>   if test "$libdir"; then
>     deplibs="$lib $deplibs"
>   fi

Anonymous
Wed 30 May 2001 05:53:56 AM UTC, original submission:  


I am learning to use libtool and its cohorts from the 
GNU autoconf book by Vaughan et al, and am
trying to follow the simple examples in chapter 9
for Using Convenience LIbraries. I run into this odd
behavior under Darwin:

When I try to build a library with a dependency on
my convenience library, using the command
(which I copied from the book):

glibtool cc -rpath `pwd`/_inst -o libhello.la hello.lo
libtrim.la

I notice the output:

cc -dynamiclib -undefined suppress -o .libs/
libhello.0.0.0.dylib  hello.lo -all_load  ./.libs/
libtrim.al  ./.libs/libtrim.al -lc -install_name  /Users/
kfitz/Gumballs/hello-1.0/intro-hello/_inst/
libhello.0.dylib -compatibility_version 1 -
current_version 1.0


which, not surprisingly, fails to link, because
libtrim.al appears twice on the link line.

Why is libtool causing libtrim.la to appear twice on
the link line? That cannot be correct.

I am using libtool1.4, built from source, and I am
copying the commands verbatim from the book,
except that I change "libtool" to "glibtool" to avoid
name conflicts with Apple's libtool.

Any insight will be apreciated.
-kel

Anonymous

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 4 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2003-09-16 gary support_status_id1
    Closed on- -
2001-06-24 gary Priority5 - Normal None
    Assigned toNone None

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code