Mailinglist Archive: opensuse-buildservice (273 mails)

< Previous Next >
[opensuse-buildservice] Re: solved: adding Boost::System library stops x64 bit peless builds
  • From: Paul Elliott <pelliott@xxxxxx>
  • Date: Mon, 19 Jan 2009 02:49:40 -0600
  • Message-id: <20090119084940.GA6159@xxxxxx>
I found the solution to this problem. In order to link to Boost::System
I had to move to the 2008 version of ax_boost_base macros:
http://autoconf-archive.cryp.to/ax_boost_base.html
http://randspringer.de/boost/index.html

These macros require the use of the switch --with-boost-libdir.
This is mentioned in the Changelog
http://randspringer.de/boost/changelog.html

The "--with-boost-libdir=%_libdir" must be added to the ./configure
statement. This solves the problem.

Thanks to all.


On Sun, Jan 18, 2009 at 06:56:17PM -0600, Paul Elliott wrote:

Help I have a problem getting 64 bit peless packages to build. It
started out building successfully with 64 bit. And then....

I have a package, peless, that uses the the boost libraries.
Specificly, libboost_filesystem. Recently, it failed to build for
Mandriva 2009. This failure occured because mandriva uses the newest
version of the boost library, version 36.

In version 36 the include file for Boost::Filesystem reference the
new libarary boost::System.

Since all distros will eventually use boost version 36 or later, I
must address this problem.

I therefore added the line
AX_BOOST_SYSTEM
to configure.ac and the
I added $(BOOST_SYSTEM_LIB) to my peless_LDADD in Makefile.am

This worked for all my 32 bit distros.

In the older distros that were still using earlier versions of boost,
./configure figured out that boost::System did not exist and did not link
to libboost_system......

Mandriva 2009 32 bit figured out that boost::System did exit and successfully
built.

HOWEVER, all my 64 bits packages failed to load. ./configure failed.
Here is a sample error message:
excerpt from:
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=peless&project=home%3Apelliott11&repository=openSUSE_10.3

checking for textdomain... yes
checking for an ANSI C-conforming const... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for x86_64-suse-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEPS... yes
checking for boostlib >= 1.32.1... yes
checking whether the Boost::Filesystem library is available... yes
configure: error: Could not link against !
error: Bad exit status from /var/tmp/rpm-tmp.98259 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.98259 (%build)
mount: can't find / in /etc/fstab or /etc/mtab
System halted.

---------------------------
Here is the same section from the corresponding 32 bit build:
https://build.opensuse.org/package/live_build_log?arch=i586&package=peless&project=home%3Apelliott11&repository=openSUSE_10.3


checking for textdomain... yes
checking for an ANSI C-conforming const... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for i686-suse-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEPS... yes
checking for boostlib >= 1.32.1... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex... yes
checking whether the Boost::System library is available... no
configure: creating ./config.status
config.status: creating po/Makefile.in
config.status: creating peless.desktop.in
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing intltool commands
config.status: executing default-1 commands
-------------------------------------------

The above problems do not occur with out my mods to configure.ac and
Makefile.am.


Can anyone figure out this bug? Unfortunately, I am between jobs and
can not afford to buy a 64 bit computer to test this on. I am using
suse build service.

The computer that I ran autoconfigre and automake was a 32bit one,
but the ./configure is being done on suse's 64 bit servers.

Help help help.


Thank You.

don't worry about mandriva 2007, there seems to be and unrelated dependancy
problem there.

also don't work about opensuse 11.1, it is afflicted by this bug:
Bug 430965 - brp-check-desktop for translation must not be enabled for third
party repos in OBS
https://bugzilla.novell.com/show_bug.cgi?id=430965

I must find a workaround for this or wait for it to be fixed.




--
Paul Elliott 1(512)837-1096
pelliott@xxxxxx PMB 181, 11900 Metric Blvd Suite J
http://www.io.com/~pelliott/pme/ Austin TX 78758-3117



--
Paul Elliott 1(512)837-1096
pelliott@xxxxxx PMB 181, 11900 Metric Blvd Suite J
http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
< Previous Next >
References