debbugs, and a FAQ, for Autotools

2011-02-13 Thread Ralf Wildenhues
[ Cross post; Reply-To and Mail-Followup-To set.  Please followup to
  the automake list only, to avoid excessive spammage.  Thank you.  ]

Hello everyone,

I've been advertising debbugs before, I think we should be a good
example.  So, two proposals:

1) Autoconf and Libtool should also use debbugs.

bug-automake has switched a few months ago, and I find it helpful to
avoid losing reports.  Given that we never have enough time on our
hands, it becomes more important to not lose track.

See http://debbugs.gnu.org/ and linked pages for details.

2) Autotools should have a FAQ document.  Not of the sort of the FAQ
chapter that answers seven random questions and that has a 1 year+
latency until it is updated, but one that answers both totally-newbie
kinds of questions that get asked over and over again, or cross-tool
bug questions like the infamous libtool echo problem (which was due to
an incompatible m4sugar change).  A document that, ideally, eventually
obsoletes many of the third-party here's how autotools work, in quick
kinds of pages.

See e.g., this most recent thread which made the need so clear again:
http://thread.gmane.org/gmane.comp.sysutils.automake.patches/5672


For (2) I'd suggest a wiki if we GNU the infrastructure, but something
like a new page http://www.gnu.org/software/automake/Autotools-FAQ.html
would certainly be good.  (And yes, I've been arguing against wikis in
the past.  I was wrong.  Sue me.)


Now, I have very little spare time on my hands.  Any volunteers on
managing such a document?  Any people interested in contributing answers
or even only questions?  I wouldn't mind handing out commit privs to any
of the regulars on these lists.

Thanks for feedback,
Ralf

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


-soname passed directly to the compiler

2011-02-13 Thread tom fogal
A package we're converting to the autotools is having an issue building
a library; it seems to think gcc supports a -soname option.

  /bin/sh ../libtool --tag=CC   --mode=link mpicc  -I/home/tfogal/sw/include
  -L/home/tfogal/sw/lib -o libH5Part.la -rpath
  /home/tfogal/dev/install-h5part/lib H5Part.lo H5PartAttrib.lo H5Block.lo
  H5BlockReadWrite.lo H5MultiBlock.lo H5MultiBlockReadWrite.lo  -lhdf5
  mpicc -shared  .libs/H5Part.o .libs/H5PartAttrib.o .libs/H5Block.o
  .libs/H5BlockReadWrite.o .libs/H5MultiBlock.o .libs/H5MultiBlockReadWrite.o
  -L/home/tfogal/sw/lib /home/tfogal/shigeru/lib/libhdf5.a -lc  -soname
  libH5Part.so.0 -o .libs/libH5Part.so.0.0.0
  gcc: libH5Part.so.0: No such file or directory
  gcc: unrecognized option '-soname'

I do not think I am doing anything all that special:

  lib_LTLIBRARIES = libH5Part.la

  libH5Part_la_SOURCES =  H5Part.c \
H5PartAttrib.c \
H5Block.c \
H5BlockReadWrite.c \
H5MultiBlock.c \
H5MultiBlockReadWrite.c

I tried adding -version-info in hopes it would avoid the soname
problems, to no avail.  Attached is the gzip'd output of the libtool
invocation, with --debug.  I also attached the full Makefile.am.

It seems like we should get a -Wl, in front of that -soname, but we are
not.  What am I doing wrong?

-tom

ltmain.sh (GNU libtool) 1.5.26 Debian 1.5.26-4+lenny1 (1.1220.2.493 2008/02/01
16:58:18)
automake (GNU automake) 1.10.1
autoconf (GNU Autoconf) 2.63

�jJXM~����+%�*��:�hԽA8�f�����7*�F���Ũ� �9XC� 
5��(��b�G��+�2.�:�WX
���Oew��U5��{+o1��\C�]���'b5��8���V�$��q/��;V@ܸ���i�,'���
��쀙IbphZ� {I���O�{��㹽
!V:�}0���J$��Ge���\$��,#�9
�0�����?W%���(x���a��HI^���o�R˻
gSF�/�EY����46Ҫ��Y��fJX�����8a�g�1�k� +�ƴ޼y�b��P$\°�{��fBrۡ 
b*��Ҫ!=+�D�H@�����m\ʫ%.��xԍU�a��n|���?'��$1��ڔ�
��kf���Ϡs2�ڔ��T�׬�4�x����-1�qo{A*@z3�v�Ev�FC�p���(�O� 
ׅza�N}w��^��@]�m��V�w�p?�(gOud�3\�c��   
�F�?Nm��G���l���CN6\�d7��x���p��|����w�V���̫�큜� *����v'�i��iK�-Ч��
�S�9�'�vc��kt�fN#�u���ٺ��)I��|221+wc�`��,�v�\6G6�Y�9o1]o�B�Y�]��nQ˥����I*�c���U���9ף�.��k�E��=Z�$�L_at��l
05+O.C�u����#�t�nC��t��aH�L�;��Oq�У��FƎmP���s���0�+-j�v���rBDw�9�ūI�K�`P�IX�KH���#�g�I�DO0���J1�퐭�؈-Z�
��w=6lzt6/!sҢ�a=dJ-��CR�y���Y�ܬ�d���c�-�n�s�1u�'��3��j�˽��O秀��
8���|�bܘ�A���+Q��f���O��@+�5���ՄV�D���Y���
F��(��0N��Sd7�!�iz��@�6�'��J{?)ǧ@3Ԁ���[t�V��!ʎ�G�䇿}��Ǫ�ͷ�)�[�Y���v��2M
 �AC�O�����bK �ˢ��ik���-�����'-^�C�b�|\�â
x%�]I;��
�ђy����Dم���yA0�)�-���Ya�޹z�VY]�@[���X�D@�]!�����a 
kx�\�t�Ŏ���4ݱڧ�ed�xL�(P��TxC+G��ZjQ�cq3ܺ�5�5ç���d{�k��F?��P��j�d]���.�Fw���7��L����J=�Vh�a���^�zس
�`ڴ[`c������.Z$��~��C��ᙶ/D��4ɆL�(��];��Y�W:��7ʜ��ma�-   
p�[ɲw7;cqC�u'T�G�5^- 
�j,�;c*��E,UwH�+k,CG-����H�3��f`�DR�(Cx��,�K���k���
�9����\_؞BP����e�сӌ�oъ-�l�  
�Z�Ek��~mk@�^���6���g��cG���w.B�$���qbG���ai=�i�����᫟���۴��n��j��Eњ�?�`|?���P�Re�:����+v��@���`���$�60R�2�����z�+��H��*=r����B�:y�vp��Fz�7lSt3�3�_�a35�}���q`�E��6l�%���
�lPz8�6
$��q��p�~��‚���A7# src level Makefile.am

#OBJEXT=o

INCLUDES = -I@HDF5ROOT@/include @MPIINC@

EXTRA_HEADERS = H5PartPrivate.h \
H5BlockPrivate.h \
H5MultiBlockPrivate.h \
H5PartAttrib.h

# Extra files that I wish to include in the dist tar ball.
EXTRA_DIST =TestUnderscoreC.c \
TestUnderscore.f \
generate-attr.py \
generate-h5bl-readwrite.py \
generate-h5multi-readwrite.py \
H5Part.f90 \
H5PartAttrib.f90 \
H5Block.f90 \
H5BlockReadWrite.f90 \
$(EXTRA_HEADERS)

# Files that I don't want to include in the dist tar ball
nodist_include_HEADERS = H5PartF.h @UNDERSCORE_H@

# What to build... Will be determined by configure script.
lib_LTLIBRARIES = libH5Part.la

# Listing of all possible targets that I may build.
#EXTRA_LTLIBRARIES = libH5Part.la libH5PartF.la

# Header files that I wish to install in $(prefix)/include
include_HEADERS =   H5Part.h \
H5PartTypes.h \
H5PartErrors.h \
H5PartAttrib.h \
H5Block.h \
H5BlockTypes.h \
H5BlockErrors.h \
H5BlockReadWrite.h \
H5MultiBlock.h \
H5MultiBlockTypes.h \
H5MultiBlockErrors.h \
H5MultiBlockReadWrite.h \
H5PartF.h \

Re: -soname passed directly to the compiler

2011-02-13 Thread Ralf Wildenhues
Hello Tom,

* tom fogal wrote on Sun, Feb 13, 2011 at 10:23:30PM CET:
 A package we're converting to the autotools is having an issue building
 a library; it seems to think gcc supports a -soname option.
 
   /bin/sh ../libtool --tag=CC   --mode=link mpicc  -I/home/tfogal/sw/include
   -L/home/tfogal/sw/lib -o libH5Part.la -rpath
   /home/tfogal/dev/install-h5part/lib H5Part.lo H5PartAttrib.lo H5Block.lo
   H5BlockReadWrite.lo H5MultiBlock.lo H5MultiBlockReadWrite.lo  -lhdf5
   mpicc -shared  .libs/H5Part.o .libs/H5PartAttrib.o .libs/H5Block.o
   .libs/H5BlockReadWrite.o .libs/H5MultiBlock.o .libs/H5MultiBlockReadWrite.o
   -L/home/tfogal/sw/lib /home/tfogal/shigeru/lib/libhdf5.a -lc  -soname
   libH5Part.so.0 -o .libs/libH5Part.so.0.0.0
   gcc: libH5Part.so.0: No such file or directory
   gcc: unrecognized option '-soname'

 ltmain.sh (GNU libtool) 1.5.26 Debian 1.5.26-4+lenny1 (1.1220.2.493 2008/02/01
 16:58:18)

Hmm, even libtool 1.5.26 should be detecting mpicc as gcc but apparently
it isn't.  You could look in config.log to find out why.  I'd really
really suggest using a newer Libtool though, 2.4 is the current version,
and I'm not eager to debug issues in the 1.5 branch (which has been dead
for almost three years now) any more.

Thanks,
Ralf

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