Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 189299 - sci-geosciences/grass-6.2.0-r1 won't compile when tcl, tk use flags switched off
Summary: sci-geosciences/grass-6.2.0-r1 won't compile when tcl, tk use flags switched off
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Steve Arnold
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-18 04:44 UTC by Andrey Bondarenko
Modified: 2007-08-22 17:56 UTC (History)
1 user (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 Andrey Bondarenko 2007-08-18 04:44:25 UTC
I've found that I'm unable to install sci-geosciences/grass-6.2.0-r1
unless I set tcl and tk use flags. Probably it's ralated to bug #185425

# emerge -pvt grass

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

Calculating dependencies... done!
[ebuild   R   ] sci-geosciences/grass-6.2.0-r1  USE="jpeg nls opengl png python readline tiff truetype -ffmpeg -fftw -glw -gmath -largefile -motif -mysql -odbc -postgres -sqlite -tcl* -tk*" 0 kB

Compilation fails with following message:

build_html_index.sh
cp: невозможно создать обычный файл `../dist.i686-pc-linux-gnu/docs/html/nviz/': Это каталог
cp: невозможно создать обычный файл `../dist.i686-pc-linux-gnu/docs/html/nviz/': Это каталог
Generating HTML manual pages index (help system)...
Generated HTML docs in ../dist.i686-pc-linux-gnu/docs/html/index.html
----------------------------------------------------------------------
Following modules are missing the 'description.html' file in src code:
----------------------------------------------------------------------
GRASS GIS compilation log
-------------------------
Started compilation: Сбт Авг 18 10:19:18 YEKST 2007
--
Errors in:
/var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/visualization/nviz


Complains about ../dist.i686-pc-linux-gnu/docs/html/nviz/ are rather
harmless. They caused by build_html_index.sh which doesn't create 
directory ../dist.i686-pc-linux-gnu/docs/html/nviz/ before copying files 
there. See line 132 in build_html_index.sh.

The real errors appears if I enter to
/var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/visualization/nviz
and try to make:

cd src ; make
make[1]: Entering directory `/var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/visualization/nviz/src'
gcc -L/var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/dist.i686-pc-linux-gnu/lib -Wl,--export-dynamic -Wl,-rpath-link,/var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/dist.i686-pc-linux-gnu/lib   -o /var/tmp/portage/sci-geosciences/grass-6.2.0-r1/work/grass-6.2.0/dist.i686-pc-linux-gnu/bin/nviz OBJ.i686-pc-linux-gnu/nvizAppInit.o OBJ.i686-pc-linux-gnu/change_view.o OBJ.i686-pc-linux-gnu/draw.o OBJ.i686-pc-linux-gnu/exag.o OBJ.i686-pc-linux-gnu/glwrappers.o OBJ.i686-pc-linux-gnu/init_commands.o OBJ.i686-pc-linux-gnu/lights.o OBJ.i686-pc-linux-gnu/map_obj.o OBJ.i686-pc-linux-gnu/misc.o OBJ.i686-pc-linux-gnu/nviz_init.o OBJ.i686-pc-linux-gnu/position.o OBJ.i686-pc-linux-gnu/quick_draw.o OBJ.i686-pc-linux-gnu/anim_support.o OBJ.i686-pc-linux-gnu/cutplane_obj.o OBJ.i686-pc-linux-gnu/script_support.o OBJ.i686-pc-linux-gnu/do_zoom.o OBJ.i686-pc-linux-gnu/label.o OBJ.i686-pc-linux-gnu/nvizMain.o OBJ.i686-pc-linux-gnu/togl.o OBJ.i686-pc-linux-gnu/togl_cb.o OBJ.i686-pc-linux-gnu/query_vect.o OBJ.i686-pc-linux-gnu/volume.o OBJ.i686-pc-linux-gnu/togl_flythrough.o OBJ.i686-pc-linux-gnu/pick_vect_commands.o OBJ.i686-pc-linux-gnu/site_attr_commands.o OBJ.i686-pc-linux-gnu/site_highlight_commands.o   -lgrass_ogsf -lgrass_bitmap -lgrass_linkm  -lgrass_g3d -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz     -lgrass_sites -lgrass_datetime -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz     -lgrass_vect -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz     -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm -lgrass_rtree   -lgrass_vect -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz     -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm -lgrass_rtree   \
        -lgrass_bitmap -lgrass_linkm  -lgrass_linkm -lgrass_vect -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz     -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm -lgrass_rtree  -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz     -lgrass_rtree  -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz       -L/usr/lib -lgdal -lgrass_sites -lgrass_datetime -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz     -lgrass_vect -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dgl -lgrass_dig2 -lgrass_gis -lgrass_datetime -lz     -lgrass_rtree  -lgrass_gis -lgrass_datetime -lz     -lgrass_linkm -lgrass_rtree   -lgrass_form -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz      -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz       \
        -lgrass_g3d -lgrass_gis -lgrass_datetime -lz      -lgrass_gis -lgrass_datetime -lz     -lz  \
        -lgrass_datetime   -L/usr/lib/opengl/xorg-x11/lib  -lGLU  -L/usr/lib/opengl/xorg-x11/lib  -lGL    -lXmu -lXext  -lm   -ltiff  \
          -lm
OBJ.i686-pc-linux-gnu/nvizAppInit.o: In function `NVIZ_AppInit':
nvizAppInit.c:(.text+0xc): undefined reference to `Tk_MainWindow'
nvizAppInit.c:(.text+0x19): undefined reference to `Tcl_Init'

It seems nvis tries to use tcl even if tcl use flag switched off.
It compiles successfuly when if I add tcl, tk to /etc/portage/package.use
for grass package
Comment 1 Andrey Bondarenko 2007-08-18 04:45:14 UTC
Here is my portage configuration:

# emerge --info
Portage 2.1.2.11 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4, 2.6.21-gentoo-r4 i686)
=================================================================
System uname: 2.6.21-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 17 Aug 2007 01:47:01 +0000
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/sandbox:    1.2.17
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
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="ru_RU.UTF-8"
LINGUAS="en ru"
MAKEOPTS=""
PKGDIR="/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="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa apache2 berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus djvu dri dvd dvdr dvdread eds emboss encode evo fam firefox fortran gdbm gif gpm gstreamer gtk hal iconv isdnlog jpeg kde kerberos ldap lm_sensors mad midi mmx mp3 mpeg mudflap ncurses nls nptl nptlonly nvidia ofx ogg opengl openmp pam pcre pdf perl png pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl svg tcpd threads tiff timidity truetype truetype-fonts type1-fonts unicode usb userlocales vorbis win32codecs x86 xml xorg xv xvid zlib" ALSA_CARDS="intel8x0 mpu401" 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="glibc" FOO2ZJS_DEVICES="hp1018" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="nvidia vesa"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Steve Arnold archtester gentoo-dev 2007-08-19 18:46:15 UTC
You can try also disabling opengl, but grass-6.2.0-r1 still has configure issues (as you've seen).  If you really want a GRASS install that works in a console-only environment, then my recommendation would be to just upgrade to grass-6.2.1 and disable all the X and opengl stuff (ie, add -X and -opengl to what you show above).  It still looks for a wish-based TCL shell when you first run it, but you should be able to disable that in your GRASS settings (it will still fall back to the normal shell).  Otherwise, if you enable anything related to X or opengl, then you pretty much have to enable all of it (ie, opengl, motif, tcl, tk, and X).  You can probably enable the X GUI stuff without opengl, but not the other way 'round.
Comment 3 Andrey Bondarenko 2007-08-20 13:35:32 UTC
I'm new to GIS. In fact I know almost nothing about GIS and grass. I'm a just curious and want to learn something about it. So, don't know exactly what I need yet. I just tried to install something to play with, but failed. I don't have tcl, tk enabled at a system level, so it wasn't obvious why it can't be compiled. Log messages also don't help much.
When I found the cause, I've enabled tcl in /etc/portage/package.use and installed grass. For me issue is resolved for awhile. But if you say I can't compile grass with X support without tcl enabled, maybe it would be good to check that in an ebuild and warn user as it is done for tcl without tk?
Comment 4 Steve Arnold archtester gentoo-dev 2007-08-22 17:56:47 UTC
The newer grass ebuild is a little better, however, it still needs to pretty much have all the X flags enabled or none of them.  It does finally build correctly without X, as the upstream stuff is getting slowly cleaned up (plus more and more ebuild enhancements).  I'm still trying to decide if I want to consolidate the flags, but I'm also hoping upstream continues to fix those kinds of configure glitches.  I'll go ahead and add a check for opengl/tcl/tk in the meantime.

You can always add "sci-geosciences/grass ~x86" to your package.keywords to stay up with the latest ebuild, as well as set your preferred USE flags for grass in package.use (both under /etc/portage).