Re: Making shared libraries (DLLs) on Windows: -no-undefined

2007-04-30 Thread Christian Biesinger

Brian Dessent wrote:

So yes, you
need to either use -no-undefined unconditionally, or conditionalized on
PE targets.


What's the point of doing this only on PE targets? Surely the library 
will either have undefined symbols or not, independent of target... (and 
note that Windows is not the only platform that needs -no-undefined for 
shared libraries)



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: libtool / SkyOS / ELF

2006-05-13 Thread Christian Biesinger

Ralf Wildenhues wrote:

I think that should be possible.  But of course, that will limit the
ways in which you will be able to upgrade your shared libraries later.
Also, since I think version_type=none may not have seen so much usage
exposure in Libtool, there may have been bit rot.


There's still the problem of 
http://article.gmane.org/gmane.comp.gnu.libtool.general/7325 AFAIK.



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: [png-mng-implement] -version-number and BeOS

2006-05-13 Thread Christian Biesinger

Nicolas Mendoza wrote:

I've seem to have run into a similar problem, what _is_ really the problem?


Like I wrote in my original mail on the problem... the problem seems to 
be that a version type of none is not correctly handled:


But, the code in ltmain.sh around line 3236 
does not handle a value of none. Only for the specific list of cases 
does it assign a value to current, age and revision.


But the check later, in line 3261, expects current to be initialized to 
a number, and shows an error if it's empty.

(quoting http://article.gmane.org/gmane.comp.gnu.libtool.general/7325)



___
http://lists.gnu.org/mailman/listinfo/libtool


-no-undefined and GNU ld

2006-04-11 Thread Christian Biesinger

Hi,

since GNU ld supports -z defs (or the equivalent --no-undefined), I was 
wondering why libtool doesn't use this to enforce its -no-undefined 
flag? It does seem to do this on Solaris (and of course on platforms 
where that's the only supported behaviour).


Or is the issue just that nobody made a patch for this yet? :)

-christian


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: [png-mng-implement] -version-number and BeOS

2006-04-01 Thread Christian Biesinger

Ralf Wildenhues wrote:

Except that hack fixes a symptom, but not the underlying issue.


It seems to me that this is a bug in any case. Not only is 
-version-number inconsistent with -version-info here. Even if BeOS has a 
versioning system for libraries and libtool gets support for that, this 
would still leave -version-number broken for other platforms where 
version_type=none (seems to be amigaos, os2 and sysv4 (in some cases)).


Or are you saying that -version-* should not be passed to libtool if the 
target doesn't have versioning support?



It would great if someone with BeOS access and experience investigate
the versioning system they use for shared libraries, and we could code
that into Libtool then, to really fix this.


That would be preferrable but still leave the other mentioned platforms 
broken.



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: [png-mng-implement] -version-number and BeOS

2006-03-31 Thread Christian Biesinger

John Bowler wrote:

For BeOS try adding 'none' to the end of the test for darwin|linux|osf|windows
on line 3237 of ltmain.sh.  We can ship libpng with that because it won't
break anything which isn't already broken.  


Yep, that fixes it, thanks. Will 1.2.9 contain that fix?


___
http://lists.gnu.org/mailman/listinfo/libtool


-version-number and BeOS

2006-03-31 Thread Christian Biesinger
[sending to the libtool mailing list; cc'ing the libpng one as this 
makes it impossible for me to compile libpng 1.2.9rc on BeOS using 
configure/libtool]


Hi,

I think I found a bug in libtool on BeOS with -version-number. Tested 
libtool version is 1.5.22 (as part of libpng 1.2.9 RC)


The problem is:
make[1]: Entering directory 
`/boot/home/tmp/libpng-rc-testing/libpng-1.2.9rc1'
/bin/sh ./libtool --tag=CC --mode=link gcc  -g -O2   -o libpng12.la 
-rpath /usr/local/lib -no-undefined -export-dynamic -version-number 
0:9:0 -Wl,--version-script=libpng.vers  png.lo pngset.lo pngget.lo 
pngrutil.lo pngtrans.lo pngwutil.lo pngread.lo pngrio.lo pngwio.lo 
pngwrite.lo pngrtran.lo pngwtran.lo pngmem.lo pngerror.lo pngpread.lo 
pnggccrd.lo  -lz

libtool: link: CURRENT `' must be a nonnegative integer
libtool: link: `0:9:0' is not valid version information
make[1]: *** [libpng12.la] Error 1

(Note that libpng 1.2.8 is OK (in this regard), as it uses -version-info 
rather than -version-number)


The cause of this problem seems to be this:
For BeOS, version_type=none. But, the code in ltmain.sh around line 3236 
does not handle a value of none. Only for the specific list of cases 
does it assign a value to current, age and revision.


But the check later, in line 3261, expects current to be initialized to 
a number, and shows an error if it's empty.


Shouldn't the case $version_type do something with "none" too?

-biesi


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: large messages

2005-10-30 Thread Christian Biesinger

Ralf Wildenhues wrote:

However, I guess some readers of this list might be annoyed by large
messages as yours.  First, please take my apology: we have moderation
turned on for messages >100KB, still I just allowed it through while my
mind was somewhere else.  Second, Christian, it would be nice if you
could pack attachments the next time (bzip2 or gzip are fine).  Thank
you.


I have to apologize; I didn't realize that the mail was so large. I'll 
pack the attachment next time.


-biesi


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Support for creating shared C++ libraries on BeOS

2005-10-30 Thread Christian Biesinger

Ralf Wildenhues wrote:

By the way: does BeOS need the "lib" prefix for modules at all?
To test a hypothetical "no" answer, I think this should work:
  configure
  $EDITOR ./libtool  # set need_lib_prefix=no
  make check TESTS='tests/mdemo-shared.test'


This passed (HEAD; I interrupted the testsuite)


  $EDITOR tests/mdemo/libtool  # set need_lib_prefix=no
  make check TESTS='tests/mdemo-make.test tests/mdemo-exec.test'


mdemo-exec.test failed here. Output:
mdemo-exec.test: ===  Running mdemo-exec.test
mdemo-exec.test: ===  Executing uninstalled programs in
Welcome to GNU libtool mdemo!
error during initialization: invalid loader
mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute 
tests/mdemo/mdemo_static tests/mdemo/foo1.la tests/mdemo/libfoo2.la

Welcome to GNU libtool mdemo!
error during initialization: invalid loader
mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute 
tests/mdemo/mdemo tests/mdemo/foo1.la tests/mdemo/libfoo2.la



| mdemo-exec.test: ===  Running mdemo-exec.test
| mdemo-exec.test: ===  Executing uninstalled programs in 
| error during initialization: invalid loader

| Welcome to GNU libtool mdemo!
| mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute tests/mdemo/mdemo_static tests/mdemo/foo1.la tests/mdemo/libfoo2.la 
| error during initialization: invalid loader

| Welcome to GNU libtool mdemo!
| mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute tests/mdemo/mdemo tests/mdemo/foo1.la tests/mdemo/libfoo2.la 
| FAIL: tests/mdemo-exec.test


So that seems to be the same error.

-biesi



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Support for creating shared C++ libraries on BeOS

2005-10-09 Thread Christian Biesinger

Ralf Wildenhues wrote:

Also, we love to
see testsuite output.. ;-)


And here, the log of make test for HEAD. 5 tests failed... most with 
"invalid loader". Something wrong with libltdl?


-biesi


checklog-head.gz
Description: PostScript document
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Support for creating shared C++ libraries on BeOS

2005-10-09 Thread Christian Biesinger

Ralf Wildenhues wrote:

Maybe you could take a look at the FIXME mentioned?  Also, we love to
see testsuite output.. ;-)


I attached the gzipped verbose "make check" output. Seems to me like the 
problem is with accessing symbols in executables?


-biesi


checklog.gz
Description: PostScript document
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Support for creating shared C++ libraries on BeOS

2005-10-09 Thread Christian Biesinger

Hi Ralf,

Ralf Wildenhues wrote:

branch-2-0 is dead, 2.0 will be released from what is now CVS HEAD.
I have checked in the following patches to CVS HEAD and branch-1-5,
respectively.


Ah, thank you for the checkins. The 2.0 branch status is somewhat 
unclear on the webpage, which says:


HEADThe main development trunk, working towards release 2.0
branch-1-5 	The 1.5 release branch. Patch releases for 1.5.x will come 
from here

branch-2-0  The 2.0 release branch. Release for 2.0 will come from here

There is a contradiction here! :)

Maybe you could take a look at the FIXME mentioned? 


Hm, the gcc I have here (the one shipped with Zeta 1.0) does not accept 
--undefined... it seems to convert it to -fundefined and then complains 
about "unrecognized option -fundefined". ld doesn't accept it either.



Also, we love to
see testsuite output.. ;-)


Hmm, 8 testsuite failures on the current branch-1-5 on Zeta 1.0. 
mdemo-exec and mdemo-inst fail 3 times each, mdemo2-exec fails once, and 
link-order fails.


link-order has apparently some unresolved references to b_new and c in 
liba.a.


I'll try to get a log of all the failures.

-biesi


___
http://lists.gnu.org/mailman/listinfo/libtool


Support for creating shared C++ libraries on BeOS

2005-10-08 Thread Christian Biesinger

Hi,
the attached patch fixes (implements) C++ support for shared libraries 
on BeOS. It just copies the C part to the C++ section; this works fine, 
I tested on Zeta.


The patch was made against libtool 1.5.16; it seems to apply to 1.5.20 
as well.


Would be great if you could check it in. Looking at branch-2-0, it seems 
that the same idea can be applied there, as well as on HEAD (assuming 
libltdl/m4/libtool.m4 is the right file to look at).


-biesi
--- /usr/share/aclocal/libtool.m4.old   2005-10-09 02:37:34.0 +0200
+++ /usr/share/aclocal/libtool.m4   2005-10-09 02:43:35.0 +0200
@@ -2925,8 +2925,19 @@ case $host_os in
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $compiler_flags 
${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
   fi
 fi
 ;;
+  beos*)
+  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+   _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+   # Joseph Beckenbach <[EMAIL PROTECTED]> says some releases of gcc
+   # support --undefined.  This deserves some investigation.  FIXME
+   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'
+  else
+   _LT_AC_TAGVAR(ld_shlibs, $1)=no
+  fi
+  ;;
+
   chorus*)
 case $cc_basename in
   *)
# FIXME: insert proper C++ library support
___
http://lists.gnu.org/mailman/listinfo/libtool