Dave,
libaif is a stand-alone library, so adding a dependency on utils is not an option. Instead, I'd suggest disabling generating the testaif executable for AIX.
To do this, modify the libaif/configure.in as follows. Change:
os=`uname -s` if test "x$os" = "xAIX" ; then CFLAGS="$CFLAGS -qinfo=gen -qcpluscmt" else CFLAGS="$CFLAGS -Wall" fi
to:
os=`uname -s` if test "x$os" = "xAIX" ; then CFLAGS="$CFLAGS -qinfo=gen -qcpluscmt" AIX=1 else CFLAGS="$CFLAGS -Wall" AIX=0 fi AM_CONDITIONAL([AIX], [test "$AIX" = 1])
Next, add conditionals to the libaif/Makefile.am as follows:
if !AIX noinst_PROGRAMS = testaif endif
and:
if !AIX testaif_SOURCES = testaif.c testaif_CFLAGS = -I. $(AM_CFLAGS) -g testaif_LDFLAGS = -g testaif_LDADD = libaif.a endif
Then re-run autoconf followed by automake. Hopefully the library should still build, but the testaif executable won't be built any more.
Regards, Greg
Greg
Running autoconf and autolocal solved
my problems running automake but didn't solve the problem I have getting
the timestamp that is part of the directory name for org.eclipse.ptp.utils.
I looked at the configure.in for org.eclipse.ptp.rm.ibm.pe.proxy
where the build also requires libutils and copied part of that into the
configure.in in the SDM libaif subdirectory and discared my Makefile.am
changes.
The fragment I copied into configure.in
is
VERSION="_$PACKAGE_VERSION"
if test `expr "$VERSION" :
"_@@<:@^@@:>@*@"` -gt 0 ; then
VERSION=
fi
UTILS="`echo ../org.eclipse.ptp.utils${VERSION}`"
if test ! -d $UTILS; then
UTILS="`echo ../../core/org.eclipse.ptp.utils${VERSION}`"
fi
echo "=====> VERSION "
$VERSION
echo "=====? UTILS " $UTILS
LIBS="-L$UTILS -lutils"
I ran autoconf then ran the BUILD script.
The log file for libaif shows that VERSION is set to _2.1.0 but I'm not
sure where _$PACKAGE_VERSION gets it's value from or oif this is what I
should be doing to get the timestamp.
The link for libaif fails because the
path to libutils is improperly constructed.
Dave
From:
Greg Watson <g.watson@xxxxxxxxxxxx>
To:
Parallel Tools Platform
general developers <ptp-dev@xxxxxxxxxxx>
Date:
12/09/2012 09:24 PM
Subject:
Re: [ptp-dev]
Problems building sdb on AIX
Sent by:
ptp-dev-bounces@xxxxxxxxxxx
Dave,
You probably need to run autoconf (and possibly aclocal)
before automake in order to bring everything up to the correct version.
Greg
On Dec 4, 2012, at 12:26 PM, Dave Wootton <dwootton@xxxxxxxxxx>
wrote:
I'm trying to build the sdm module on
AIX and am running into problems.
The first problem, which I can fix, is that org.eclipse.ptp.utils/src/compat.c
has a function definition
vasprintf(char **strp, const char *fmt, va_list ap)
that needs to change to
vasprintf(char **ret, const char *fmt, va_list ap)
Once I change that and run the BUILD script for AIX, the build for the
sdm fails in libaif with an unresolved reference to asprintf, which is
only available in libutils.a for AIX. The asprintf function is not implemented
by standard AIX libraries.
I tried to fix this by changing the Makefile.am file in org.eclipse.ptp.drbug.sdm/libaif
to add -lutils to testaif_LDFLAGS, but when I tried to run automake I got
an error telling me the configuration files were built using autoconf 2.61
while I have version 2.63. So I can't rebuild the files.
I'm also not sure how to specify the -L flag to point to the org.eclipse.ptp.utils
directory since the directory hs a timestamp as part of its name, and I'm
not sure libaif is teh only directory where I need to change the Makefiles.
Dave_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________ ptp-dev mailing list ptp-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/ptp-dev
|