make[3]: Entering directory `/export/scratch0/GentooPrefix/var/tmp/portage/app-portage/eix-0.9.2/work/eix-0.9.2/src/output' i386-pc-solaris2.10-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -g -O2 -MT formatstring.o -MD -MP -MF .deps/formatstring.Tpo -c -o formatstring.o formatstring.cc i386-pc-solaris2.10-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -g -O2 -MT formatstring-print.o -MD -MP -MF .deps/formatstring-print.Tpo -c -o formatstring-print.o formatstring-print.cc formatstring-print.cc: In function 'std::string get_inst_use(const Package&, InstVersion&, const PrintFormat&, const char**)': formatstring-print.cc:78: error: 'asprintf' was not declared in this scope make[3]: *** [formatstring-print.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f .deps/formatstring.Tpo .deps/formatstring.Po make[3]: Leaving directory `/export/scratch0/GentooPrefix/var/tmp/portage/app-portage/eix-0.9.2/work/eix-0.9.2/src/output' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/export/scratch0/GentooPrefix/var/tmp/portage/app-portage/eix-0.9.2/work/eix-0.9.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/export/scratch0/GentooPrefix/var/tmp/portage/app-portage/eix-0.9.2/work/eix-0.9.2' make: *** [all] Error 2 On Darwin it does compile fine for some reason. Reproducible: Always Steps to Reproduce: 1.ebuild eix-0.9.2.ebuild install on Solaris 10/x86. 2. 3. % emerge --info Killed Portage 2.1.23.6338 (default-prefix/sunos/solaris/5.10/x86, gcc-4.1.2, unavailable, 5.10 i86pc) ================================================================= System uname: 5.10 i86pc i386 Gentoo Prefix Base System version 1.12.5 Timestamp of tree: Fri, 06 Apr 2007 10:41:45 +0000 dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17.50.0.13 sys-devel/gcc-config: 1.3.15-r01.1 sys-devel/libtool: 1.5.23b ACCEPT_KEYWORDS="x86-solaris ~x86-solaris" AUTOCLEAN="yes" CBUILD="i386-pc-solaris2.10" CFLAGS="-O2 -pipe" CHOST="i386-pc-solaris2.10" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" DISTDIR="/export/scratch0/GentooPrefix/usr/portage/distfiles" EPREFIX="/export/scratch0/GentooPrefix" FEATURES="distlocks metadata-transfer nostrip sfperms strict" GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/export/scratch0/GentooPrefix/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/export/scratch0/GentooPrefix/var/tmp" PORTDIR="/export/scratch0/GentooPrefix/usr/portage" SYNC="svn+http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay" USE="berkdb midi nls prefix readline unicode x86 x86-solaris zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="Solaris" Unset: CTARGET, CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
According to a web search, it seems to me that asprintf(...) does not exist at all on solaris. I have written a substite now in eix. Could you please test the new eix svn trunk (instructions how to get it, see eix homepage): Does it compile fine and does FORMAT_INSTALLED_USE='[{%s}]' eix -e tar -o -e xorg-server produce a reasonable output of the useflags of tar and xorg-server?
ar cru liboutput.a formatstring.o formatstring-print.o ranlib liboutput.a make[3]: Leaving directory `/var/tmp/trunk/src/output' Making all in search make[3]: Entering directory `/var/tmp/trunk/src/search' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -g -O2 -MT algorithms.o -MD -MP -MF .deps/algorithms.Tpo -c -o algorithms.o algorithms.cc In file included from algorithms.cc:36: algorithms.h:50:1: warning: "FNMATCH_FLAGS" redefined algorithms.h:49:1: warning: this is the location of the previous definition algorithms.h: In member function 'virtual bool WildcardAlgorithm::operator()(const char*, Package*)': algorithms.h:148: error: 'FNM_CASEFOLD' was not declared in this scope make[3]: *** [algorithms.o] Error 1 make[3]: Leaving directory `/var/tmp/trunk/src/search' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/trunk/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/trunk' make: *** [all] Error 2 Removing line 50 here (because it looks like bogus), allows to continue... Making all in search make[3]: Entering directory `/var/tmp/trunk/src/search' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -g -O2 -MT algorithms.o -MD -MP -MF .deps/algorithms.Tpo -c -o algorithms.o algorithms.cc algorithms.h: In member function 'virtual bool WildcardAlgorithm::operator()(const char*, Package*)': algorithms.h:147: error: 'FNM_CASEFOLD' was not declared in this scope make[3]: *** [algorithms.o] Error 1 make[3]: Leaving directory `/var/tmp/trunk/src/search' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/trunk/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/trunk' make: *** [all] Error 2 Somehow I think you want FNMATCH_FLAGS there instead of FNM_CASEFOLD. continueing.... and that finishes. so fix && bump so I can keyword for Solaris
[ra:tmp/crap/bin] % env FORMAT_INSTALLED_USE='[{%s}]' ./eix -e tar -o -e xorg-server Can't open the database file /export/scratch0/GentooPrefix/var/cache/eix for reading (mode = 'rb') Did you forget to create it with 'update-eix'? [ra:tmp/crap/bin] % ./update-eix Reading Portage settings .. Building database (/export/scratch0/GentooPrefix/var/cache/eix) .. [0] /export/scratch0/gentoo/prefix-tree/ (cache: metadata) Reading 100% Applying masks .. Database contains 0 packages in 149 categories. [ra:tmp/crap/bin] % env FORMAT_INSTALLED_USE='[{%s}]' ./eix -e tar -o -e xorg-server No matches found. [ra:tmp/crap/bin] % Sounds like the usual stuff I don't understand but other people seem to be very happy with.
(In reply to comment #2) The broken FNM_CASEFOLD handling should be fixed now. (In reply to comment #3) > [0] /export/scratch0/gentoo/prefix-tree/ (cache: metadata) > Reading 100% > Applying masks .. > Database contains 0 packages in 149 categories. I guess you do not have a reasonable /export/scratch0/gentoo/prefix-tree/metadata/cache/* in the prefix tree. Therefore, update-eix does not find any packages with the default cache method "metadata". You must configure eix to use another cache method. (Perhaps PORTDIR_CACHE_METHOD=portage-2.1 works with prefix-portage? Otherwise you have to use the slower method ...=none or the extremely slow ...=ebuild* or even ...=ebuild). > No matches found. Not surprising, since according to the above output your eix database contains no packages (i.e. it is empty)...
good, so where can I easily fetch the patch to close this bug? It the release tagged or something? (Do tags work in SVN at all?)
(In reply to comment #5) > It the release tagged or something? Since 0.9.3 is not yet released, I have not tagged it yet. However, currently all nontrivial changes in trunk (since 0.9.2) are related to this bug. > (Do tags work in SVN at all?) They work by copying e.g. eix/trunk to eix/tags/release-0.9.2 on the server (copying is cheap in svn repositories). But you won't need this tags-directory now: To get the current patch, it is probably the easiest for you to go to the directory with the checked out trunk, make sure you have the most current version ("svn update") (you need r375 - I corrected a typo some minutes after my previous posting) and then use "svn diff -r372". However, since "configure.in" was modified (for the asprintf test) you have to rerun autotools after applying the patch in the tarball... Or you wait until I release the 0.9.3 tarball (in a few weeks, depending on further bug reports).
eix-0.9.3 is now released and this is fixed, thanks!