From: Amit K. <ami...@gm...> - 2011-08-07 20:49:40
|
Hi, I am getting compile error when I try to compile with the package infrastructure in OpenBSD, but standalone compilation goes well. cc -std=gnu99 -I/usr/local/include -pipe -DHAVE_CONFIG_H -DNO_DEBUG -Wall -O3 -mmmx -msse -I../include -pthread -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -c unix.c unix.c: In function 'setup_trigger_signal': unix.c:668: error: 'SIGIO' undeclared (first use in this function) unix.c:668: error: (Each undeclared identifier is reported only once I find that SIGIO is protected by ifdef __BSD_VISIBLE in /usr/include/sys/signal.h (which is included by <signal.h>) http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/sys/signal.h?rev=1.22;content-type=text%2Fplain and that the reason this probably works on Linux is because SIGIO is equivalent to SIGPOLL? SIGIO is bsd specific, not POSIX. What are good candidates to replace the SIGIO call? Or can that part of code be rewritten? Thanks, amit On Mon, Aug 1, 2011 at 2:39 PM, Amit Kulkarni <ami...@gm...> wrote: > Hi Ralf, > > Here it is... Can somebody bump the minor version to 2.0.2? > I tried to minimize the diff so there is no unforeseen fallout. > > you need a dependency on z (zlib) on some platforms > for proper operation, see static linking of libbfd.a on Haskell (google) > > the below check will work by trying again for either ngettext or > dcgettext. This is based from Nigel Taylor's prodding here > http://marc.info/?l=openbsd-ports&m=131207361607369&w=2 > > If you have seperate intl checks, then the result gets cached and has_intl > fails. Now either of those will succeed on all supported platforms. > > I have updated the help text to point people at the right thing. > At least on OpenBSD, you need a ./configure like this. > > ./configure --with-extra-includes=/usr/local/include > --with-extra-libraries=/usr/local/lib > > After this, configure needs to be regenarated. I figure it can be done by > you, as the diff will be huge and pointless for me to send! > > thanks > > Index: configure.ac > =================================================================== > RCS file: /cvsroot/lush/lush/configure.ac,v > retrieving revision 1.55 > diff -u -r1.55 configure.ac > --- configure.ac 16 Sep 2008 15:59:27 -0000 1.55 > +++ configure.ac 1 Aug 2011 19:28:11 -0000 > @@ -136,6 +136,7 @@ > BFD_YES='' > has_bfd=yes > AC_CHECK_LIB(iberty, xmalloc) > + AC_CHECK_LIB(z, compress) > if test $ac_cv_lib_iberty_xmalloc = no; then > AC_CHECK_LIB(mmalloc, mmalloc) > AC_CHECK_LIB(iberty, xcalloc) > @@ -149,7 +150,8 @@ > if test x$has_bfd = xyes ; then > n_LIBS=$LIBS > has_intl= > - AC_CHECK_LIB(intl, dcgettext, [has_intl=yes],[has_intl=no]) > + AC_CHECK_LIB(intl, ngettext,[has_intl=yes], > + [AC_CHECK_LIB(intl, dcgettext,[has_intl=yes libintl_extra_libs=-linconv],[has_intl=no],-liconv)]) > i_LIBS=`echo $n_LIBS | sed -e 's/-liberty/& -lintl/'` > sn_LIBS=`echo $n_LIBS | sed -e 's/-lbfd\( -liberty\)*/-Wl,-Bstatic & -Wl,-Bdynamic/'` > si_LIBS=`echo $i_LIBS | sed -e 's/-lbfd\( -liberty\)*/-Wl,-Bstatic & -Wl,-Bdynamic/'` > @@ -214,8 +216,13 @@ > We were unable to locate required GNU binutils files. > - Some Linux distributions do not install these by default. > You need to install the 'libbinutils-devel' package. > -- On other platforms, get GNU binutils on www.fsf.org. > -You can configure Lush to run without these files by using > +- On other platforms, get GNU binutils from > + http://ftp.gnu.org/gnu/binutils/ > + > +Try to configure Lush using "--with-extra-includes" and > +/or "--with-extra-libraries". See "./configure --help" > + > +You can also configure Lush to run without these files by using > option "--without-bfd". The dynamic loader/linker/compiler > will not work and Lush will be seriously crippled. > -----------------------------------------------------------------]) > > On Sun, 31 Jul 2011, Ralf Juengling wrote: > >> Hi Amit, >> >> That's great news. Please send me your diff, I will test it >> on linux and MacOS. >> >> Ralf >> >> >> On Sun, 31 Jul 2011, Amit Kulkarni wrote: >> >> > Hi Ralf, >> > >> > I got configure.ac to work fine after a prodding from Nigel on >> > ports@OpenBSD mailing list. I will try and put a minimal diff which >> > worked sometime this week. >> > >> > Any volunteers to test on Linux, Mac? I don't want to break existing >> > stuff and do want to get the changes for configure.ac for OpenBSD into >> > lush cvs tree. >> > >> > I will try to submit a port to OpenBSD in a month after ports@ tree is >> > unlocked, late August. This will make any errors to be spotted on a >> > wide range of systems ranging from Alpha, VAX, arm, mips, sparc etc >> > (if they accept). >> > >> > thanks >> > >> > >> > On Sat, Jul 30, 2011 at 3:30 PM, Ralf Juengling <jue...@cs...> wrote: >> > > Hi Amit, >> > > >> > > Have you tried the advice in README.binutils? >> > > >> > > In your case, you could try >> > > >> > > ln -s /usr/local $LUSHDIR/gnu >> > > >> > > instead of installing binutils under $LUSHDIR. >> > > Secondly, you could try the --with-extra-includes option. >> > > >> > > I would consider regenerating configure.ac if it fixes >> > > your problem, but I don't have access to an openbsd machine. >> > > If you could try it yourself and let me know how it goes. >> > > >> > > Ralf >> > > >> > > >> > > >> > > On Wed, 27 Jul 2011, Amit Kulkarni wrote: >> > > >> > > > Hi, >> > > > >> > > > I am trying to build on OpenBSD amd64 as 64 bits. >> > > > >> > > > Here's the configure output >> > > > >> > > > checking for stdlib.h... yes >> > > > checking for string.h... yes >> > > > checking for memory.h... yes >> > > > checking for strings.h... yes >> > > > checking for inttypes.h... yes >> > > > checking for stdint.h... yes >> > > > checking for unistd.h... yes >> > > > checking bfd.h usability... no >> > > > checking bfd.h presence... no >> > > > checking for bfd.h... no >> > > > checking for bfd_init in -lbfd... no >> > > > configure: error: Unable to locate BFD development files. >> > > > ------------------------------------------------------------- >> > > > We were unable to locate required GNU binutils files. >> > > > - Some Linux distributions do not install these by default. >> > > > You need to install the 'libbinutils-devel' package. >> > > > - On other platforms, get GNU binutils on www.fsf.org. >> > > > You can configure Lush to run without these files by using >> > > > option "--without-bfd". The dynamic loader/linker/compiler >> > > > will not work and Lush will be seriously crippled. >> > > > ---------------------------------------------------------------- >> > > > >> > > > >> > > > But >> > > > ls -al /usr/local/include/bf* >> > > > -r--r--r-- 1 root bin 192122 Jul 26 19:08 /usr/local/include/bfd.h >> > > > -r--r--r-- 1 root bin 29506 Jul 26 19:08 >> > > > /usr/local/include/bfdlink.h >> > > > >> > > > and >> > > > >> > > > ls -al /usr/local/lib/*bfd* >> > > > -rw-r--r-- 1 root bin 1306090 Jul 26 19:08 /usr/local/lib/libbfd.a >> > > > -rw-r--r-- 1 root bin 684 Jul 26 19:08 /usr/local/lib/libbfd.la >> > > > >> > > > >> > > > Is there a way to change the configure.ac so that it picks up the >> > > > /usr/local/include/bfd*.h and a static library of bfd? >> > > > >> > > > The problem is that the stock bfd in OpenBSD from binutils 2.15 or gdb >> > > > 6.3 is heavily modified and is inaccessible due to modifications, so I >> > > > am using a port/package of binutils 2.20 which extracts the bfd and >> > > > disables the shared library. This is the configure argument here >> > > > >> > > > >> > > > http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/devel/libbfd/Makefile?rev=1.4;content-type=text%2Fplain >> > > > >> > > > Can you also regenerate the configure.ac for autoconf 2.65 or newer >> > > > (preferably 2.68!!!)? >> > > > >> > > > I am new to autotools and would appreciate some help in getting this >> > > > tackled! >> > > > >> > > > Thanks, >> > > > amit |