[This is an IPv6-only e-mail address, if you have any need to
 respond to this and send me a copy but do not have IPv6-
 capability, strip out the obvious part of the address, okaybye]


Moin moin!

The newer versions of lame, retrieved from the CVS repository, fail
to build (link) under the NetBSD 1.6-current that I'm running.  The
problem seems to be in libtool/ltconfig.

After giving commands `./configure' and `make', the linking stage
in libmp3lame/i386 bombs with an error that I didn't bother to copy,
concerning something like libvorbis.lo being an unrecognized command,
in a `/usr/bin/ld -Bshareable ...' line.

Eventually one realizes that `-Bshareable' isn't even supported by
this `ld'.

If one looks in the supplied (dated 2000) `ltconfig' file and searches
for `netbsd', one sees three instances of it.  Looking at all of them,
one seems to be inconsistent with the others.  I've looked at all the
copies of `ltconfig' that I could find in the source packages I've
built for NetBSD to see if I could find a more recent clue, but all
the ones I saw looked similar (or older, with no ELF support)...

In any case, what I needed to do to the supplied `ltconfig' to get
it to build with ``i386-unknown-netbsdelf1.6A'' is to swap around the
result of the ELF check, to make it use the `-shared' line rather
than the `a.out' line...

--- /var/tmp/lame/ltconfig-unhacked     Sun Oct 22 14:06:32 2000
+++ /var/tmp/lame/ltconfig      Fri Jun  7 10:31:34 2002
@@ -1202,11 +1202,11 @@
 
   netbsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname 
-o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname 
$wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
       # can we support soname and/or expsyms with a.out? -oliva
+    else
+      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname 
+-o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname 
+$wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
     fi
     ;;
 

After this, re-running `make' causes everything to be built properly
on my system, and I become unbearably happy.


I don't know if this is the right fix -- if the logic of the netbsd*)
cases is backwards (someone with more compiler knowledge than I have
would have to say), or if the test simply is outdated for NetBSD-current
but may be correct for earlier ELF NetBSDen, and needs to be updated,
or if there's a more correct ltconfig out there...  so please don't
blindly apply the above patch, but rather, do whatever is needed to
fix it properly for other NetBSD users.

(Actually, a g00gle search turned up someone else who seemed to have
found the same thing, so...)


thanks!
barry bouwsma

_______________________________________________
mp3encoder mailing list
[EMAIL PROTECTED]
http://minnie.tuhs.org/mailman/listinfo/mp3encoder

Reply via email to