Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 173763 - eix-0.9.2 compilation fails on Solaris
Summary: eix-0.9.2 compilation fails on Solaris
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Other (show other bugs)
Hardware: x86 Other
: High normal
Assignee: Stefan Schweizer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-08 12:39 UTC by Fabian Groffen
Modified: 2007-04-24 19:31 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Groffen gentoo-dev 2007-04-08 12:39:17 UTC
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
Comment 1 Martin Väth 2007-04-09 15:21:36 UTC
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?
Comment 2 Fabian Groffen gentoo-dev 2007-04-10 18:50:39 UTC
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
Comment 3 Fabian Groffen gentoo-dev 2007-04-10 18:52:40 UTC
[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.
Comment 4 Martin Väth 2007-04-10 23:13:50 UTC
(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)...
Comment 5 Fabian Groffen gentoo-dev 2007-04-11 15:23:13 UTC
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?)
Comment 6 Martin Väth 2007-04-11 19:56:00 UTC
(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).
Comment 7 Stefan Schweizer (RETIRED) gentoo-dev 2007-04-24 19:31:01 UTC
eix-0.9.3 is now released and this is fixed, thanks!