Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 219998 - app-benchmarks/acovea-5.1.1 emerge failure
Summary: app-benchmarks/acovea-5.1.1 emerge failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2008-05-02 02:02 UTC by M. Edward Borasky
Modified: 2008-06-01 17:04 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info from my system (info,4.68 KB, text/plain)
2008-05-02 02:03 UTC, M. Edward Borasky
Details
Patch to fix compilation errors (acovea-5.1.1-evocosm-latest.patch,3.51 KB, patch)
2008-05-31 03:22 UTC, John Brooks
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description M. Edward Borasky 2008-05-02 02:02:47 UTC
Newer versions of the dependencies showed up in Portage. They are libcoyotl and libevocosm. Revdep-rebuild recognized that acovea needed to be rebuilt. Unfortunately, that rebuild creashes:

DreamScape ~ # emerge -v acovea

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-benchmarks/acovea-5.1.1  0 kB 

Total: 1 package (1 reinstall), Size of downloads: 0 kB

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) app-benchmarks/acovea-5.1.1 to /
 * libacovea-5.1.1.tar.gz RMD160 SHA1 SHA256 size ;-) ...                 [ ok ]
 * checking ebuild checksums ;-) ...                                      [ ok ]
 * checking auxfile checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                    [ ok ]
 * checking libacovea-5.1.1.tar.gz ;-) ...                                [ ok ]
>>> Unpacking source...
>>> Unpacking libacovea-5.1.1.tar.gz to /var/tmp/portage/app-benchmarks/acovea-5.1.1/work
 * Applying acovea-5.1.1-asneeded.patch ...                               [ ok ]
 * Applying acovea-5.1.1-free-fix.patch ...                               [ ok ]
 * Automake used for the package (1.9.6) differs from
 * the installed version (1.10.1).
 * Running eautoreconf in '/var/tmp/portage/app-benchmarks/acovea-5.1.1/work/libacovea-5.1.1' ...
 * Running aclocal ...                                                    [ ok ]
 * Running libtoolize --copy --force --automake ...                       [ ok ]
 * Running aclocal ...                                                    [ ok ]
 * Running autoconf ...                                                   [ ok ]
 * Running automake --add-missing --copy ...                              [ ok ]
 * Running elibtoolize in: libacovea-5.1.1
 *   Applying install-sh-1.5.4.patch ...
 *   Applying portage-1.5.10.patch ...
 *   Applying sed-1.5.6.patch ...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-benchmarks/acovea-5.1.1/work/libacovea-5.1.1 ...
 * econf: updating libacovea-5.1.1/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating libacovea-5.1.1/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... gcc3
checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes
checking dependency style of x86_64-pc-linux-gnu-g++... gcc3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
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 dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E
checking for x86_64-pc-linux-gnu-g77... no
checking for x86_64-pc-linux-gnu-xlf... no
checking for x86_64-pc-linux-gnu-f77... no
checking for x86_64-pc-linux-gnu-frt... no
checking for x86_64-pc-linux-gnu-pgf77... no
checking for x86_64-pc-linux-gnu-cf77... no
checking for x86_64-pc-linux-gnu-fort77... no
checking for x86_64-pc-linux-gnu-fl32... no
checking for x86_64-pc-linux-gnu-af77... no
checking for x86_64-pc-linux-gnu-xlf90... no
checking for x86_64-pc-linux-gnu-f90... no
checking for x86_64-pc-linux-gnu-pgf90... no
checking for x86_64-pc-linux-gnu-pghpf... no
checking for x86_64-pc-linux-gnu-epcf90... no
checking for x86_64-pc-linux-gnu-gfortran... x86_64-pc-linux-gnu-gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether x86_64-pc-linux-gnu-gfortran accepts -g... yes
checking the maximum length of command line arguments... 98304
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for objdir... .libs
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for correct ltmain.sh version... yes
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by x86_64-pc-linux-gnu-g++... /usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the x86_64-pc-linux-gnu-g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for x86_64-pc-linux-gnu-g++ option to produce PIC... -fPIC
checking if x86_64-pc-linux-gnu-g++ PIC flag -fPIC works... yes
checking if x86_64-pc-linux-gnu-g++ static flag -static works... yes
checking if x86_64-pc-linux-gnu-g++ supports -c -o file.o... yes
checking whether the x86_64-pc-linux-gnu-g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for x86_64-pc-linux-gnu-gfortran option to produce PIC... -fPIC
checking if x86_64-pc-linux-gnu-gfortran PIC flag -fPIC works... yes
checking if x86_64-pc-linux-gnu-gfortran static flag -static works... yes
checking if x86_64-pc-linux-gnu-gfortran supports -c -o file.o... yes
checking whether the x86_64-pc-linux-gnu-gfortran linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
checking whether build environment is sane... yes
checking for ANSI C header files... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... no
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking libcoyotl/prng.h usability... yes
checking libcoyotl/prng.h presence... yes
checking for libcoyotl/prng.h... yes
checking libcoyotl/mwc1038.h usability... yes
checking libcoyotl/mwc1038.h presence... yes
checking for libcoyotl/mwc1038.h... yes
checking libcoyotl/mtwister.h usability... yes
checking libcoyotl/mtwister.h presence... yes
checking for libcoyotl/mtwister.h... yes
checking libevocosm/evocosm.h usability... yes
checking libevocosm/evocosm.h presence... yes
checking for libevocosm/evocosm.h... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating acovea.pc
config.status: creating libacovea/Makefile
config.status: creating cmdline/Makefile
config.status: executing depfiles commands
Making all in libacovea
make[1]: Entering directory `/var/tmp/portage/app-benchmarks/acovea-5.1.1/work/libacovea-5.1.1/libacovea'
/bin/sh ../libtool --tag=CXX   --mode=compile x86_64-pc-linux-gnu-g++ -I. -I. -I. -I.. -DACOVEA_VERSION=\"5.1.1\" -DACOVEA_CONFIG_DIR=\""/usr/share/libacovea/config/"\" -DACOVEA_BENCHMARK_DIR=\""/usr/share/libacovea/benchmarks/"\"    -march=athlon64 -O2 -MT acovea.lo -MD -MP -MF .deps/acovea.Tpo -c -o acovea.lo acovea.cpp
mkdir .libs
 x86_64-pc-linux-gnu-g++ -I. -I. -I. -I.. -DACOVEA_VERSION=\"5.1.1\" -DACOVEA_CONFIG_DIR=\"/usr/share/libacovea/config/\" -DACOVEA_BENCHMARK_DIR=\"/usr/share/libacovea/benchmarks/\" -march=athlon64 -O2 -MT acovea.lo -MD -MP -MF .deps/acovea.Tpo -c acovea.cpp  -fPIC -DPIC -o .libs/acovea.o
acovea.cpp: In member function 'virtual void acovea::option::randomize()':
acovea.cpp:89: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp: In constructor 'acovea::tuning_option::tuning_option(const std::string&, bool, int, int, int, int, char)':
acovea.cpp:249: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In member function 'virtual void acovea::tuning_option::mutate()':
acovea.cpp:307: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp:312: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp: In constructor 'acovea::enum_option::enum_option(const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool)':
acovea.cpp:338: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In constructor 'acovea::enum_option::enum_option(const char**, size_t, bool)':
acovea.cpp:347: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In constructor 'acovea::enum_option::enum_option(const char*, bool)':
acovea.cpp:372: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In member function 'virtual void acovea::enum_option::randomize()':
acovea.cpp:410: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp:413: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In member function 'virtual void acovea::enum_option::mutate()':
acovea.cpp:420: error: 'class libevocosm::prng' has no member named 'get_rand'
acovea.cpp:438: error: 'class libevocosm::prng' has no member named 'get_rand_index'
acovea.cpp: In member function 'acovea::chromosome acovea::application::breed(const acovea::chromosome&, const acovea::chromosome&) const':
acovea.cpp:918: error: 'class libevocosm::prng' has no member named 'get_rand'
acovea.cpp: In member function 'void acovea::application::mutate(acovea::chromosome&, double) const':
acovea.cpp:934: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp: In member function 'virtual std::vector<acovea::acovea_organism, std::allocator<acovea::acovea_organism> > acovea::acovea_reproducer::breed(const std::vector<acovea::acovea_organism, std::allocator<acovea::acovea_organism> >&, size_t)':
acovea.cpp:1099: error: 'class libevocosm::prng' has no member named 'get_rand_real2'
acovea.cpp: In function 'double run_test(const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::string, libevocosm::listener&, acovea::optimization_mode)':
acovea.cpp:1221: warning: deprecated conversion from string constant to 'char*'
make[1]: *** [acovea.lo] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-benchmarks/acovea-5.1.1/work/libacovea-5.1.1/libacovea'
make: *** [all-recursive] Error 1
 * 
 * ERROR: app-benchmarks/acovea-5.1.1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2580:  Called die
 * The specific snippet of code:
 *           emake || die "emake failed";
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-benchmarks/acovea-5.1.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-benchmarks/acovea-5.1.1/temp/environment'.
 * 

 * Messages for package app-benchmarks/acovea-5.1.1:

 * 
 * ERROR: app-benchmarks/acovea-5.1.1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2580:  Called die
 * The specific snippet of code:
 *           emake || die "emake failed";
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-benchmarks/acovea-5.1.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-benchmarks/acovea-5.1.1/temp/environment'.
 * 
DreamScape ~ #
Comment 1 M. Edward Borasky 2008-05-02 02:03:36 UTC
Created attachment 151576 [details]
emerge --info from my system
Comment 2 Radko Lazarov 2008-05-05 18:08:11 UTC
The same issue here, but I think the problem is due to dev-libs/libevocosm-3.3.0.
Since I've upgraded to dev-libs/libevocosm-3.3.0, acovea need to be reemerged but doesn't compile.
Comment 3 John Brooks 2008-05-31 03:22:32 UTC
Created attachment 154903 [details, diff]
Patch to fix compilation errors

Here is a patch against version 5.1.1 to fix the compile errors related to changes in the API of libevocosm. Confirmed locally to compile and work. Note that these errors occur with both the stable and unstable versions of libevocosm in portage; there is currently no way to actually compile this package (!)
Comment 4 John Brooks 2008-05-31 15:44:23 UTC
I didn't do much research into the actual problem last night, so for clarification:

There are two problems here; acovea 4.0.0 (which is currently stable) fails to compile with the stable version of libcoyotl (3.1.0), which is too new. Version 4.0.0 will work only with libcoyotl 3.0.1. This means that the stable versions of both packages will result in acovea failing to compile, obviously a serious problem.

acovea 5.1.1 (currently ~x86) is built to work with libcoyotl 3.1.0 (stable, latest) and libevocosm 3.1.0 (~x86). It will NOT work with libevocosm 2.5.2 (stable) or with libevocosm 3.3.0 (~x86).

There are a few solutions here; 4.0.0 could be fixed (by blocking/masking libcoyotl 3.1.0, to force the use of the older 3.0.1), but acovea 4.0.0 is very old now, and that solution doesn't really make sense to me, since it involves using even older versions of the packages.

The other options would be to fix and stabilize acovea 5.1.1 and stabilizing libevocosm 3.1.0 or 3.3.0. This could be done either by blocking libevocosm 3.3.0 and unmasking 3.1.0, or by patching acovea to work properly with libevocosm 3.3.0, and stabilizing that as well. Patching is my preferred solution.

The patch is attached in my previous comment. It simply changes the names (and in two cases, slightly changes the method but retains the same functionality) of the randomness functions in libevocosm to their counterparts in version 3.3.0. The fix would be to apply this patch to acovea 5.1.1 and have it depend on libevocosm >=3.3.0. I intend to bring this patch to upstream as well.

Whichever solution is chosen, this needs to be dealt with - currently there is no way to build either version of acovea in portage without strange manual masking or unmasking.
Comment 5 Panagiotis Christopoulos (RETIRED) gentoo-dev 2008-06-01 17:04:21 UTC
Patch added in cvs, Thanks Special(John Brooks).