Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 109723 - jpeg-mmx fails to emerge with distcc
Summary: jpeg-mmx fails to emerge with distcc
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Lisa Seelye (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-18 11:06 UTC by runlevel0
Modified: 2006-04-04 06:03 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 runlevel0 2005-10-18 11:06:25 UTC
Emerging jpeg-mmx using distcc the you get the following error:


----------------------------------------------------

>>> Install jpeg-mmx-0.1.6-r1 into /var/tmp/portage/jpeg-mmx-0.1.6-r1/image/
category media-libs
/bin/install -c -m 644 jconfig.h
/var/tmp/portage/jpeg-mmx-0.1.6-r1/image//usr/include/jpeg-mmx/jconfig.h
/bin/install -c -m 644 ./jpeglib.h
/var/tmp/portage/jpeg-mmx-0.1.6-r1/image//usr/include/jpeg-mmx/jpeglib.h
/bin/install -c -m 644 ./jmorecfg.h
/var/tmp/portage/jpeg-mmx-0.1.6-r1/image//usr/include/jpeg-mmx/jmorecfg.h
/bin/install -c -m 644 ./jerror.h
/var/tmp/portage/jpeg-mmx-0.1.6-r1/image//usr/include/jpeg-mmx/jerror.h
/bin/install -c -m 644 ./jinclude.h
/var/tmp/portage/jpeg-mmx-0.1.6-r1/image//usr/include/jpeg-mmx/jinclude.h
cp: cannot stat `.libs/cjpeg': No such file or directory
>>> dobin: making /var/tmp/portage/jpeg-mmx-0.1.6-r1/temp/cjpeg-mmx executable...
install: cannot stat `/var/tmp/portage/jpeg-mmx-0.1.6-r1/temp/cjpeg-mmx': No
such file or directory

!!! ERROR: media-libs/jpeg-mmx-0.1.6-r1 failed.
!!! Function src_install, Line 45, Exitcode 4
!!! dobin cjpeg

----------------------------------------------------------------------------

I don't know why the proper binary is either not created or has a wrong name (as
there is a binary called 'cjpeg' in the build tree).
The error can be avoided by simply emerging jpeg-mmx as this:

  FEATURES="-distcc" emerge jpeg-mmx






Reproducible: Always
Steps to Reproduce:
1. emerge jpeg-mmx   (using distcc)






I opened this bug for info purposes only.
Comment 1 runlevel0 2005-10-18 11:08:09 UTC
Changed to fixed. 
Comment 2 Anatoly Yakovenko 2006-01-12 21:37:31 UTC
the build still fails for me, even with the emerge step suggested.

this is my make.conf:

# Copyright 2000-2003 Daniel Robbins, Gentoo Technologies, Inc.
# Contains local system settings for Portage system
# $Header: /home/cvsroot/gentoo-src/portage/cnf/make.conf,v 1.62 2003/05/29 08:34:55 carpaski Exp $

# Please review 'man make.conf' for more information.

# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/use-howto.html
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-admin/ufed'
#
# Example:
#USE="X gtk gnome -alsa"

USE="glitz cairo css -directfb firefox font-server aac ffmpeg theora vcd win32codecs xvmc acc vidix nvidia -cups -ipv6 -apm apache2 hal gtk gtk2 glade -gnome nautilus -eds gstreamer ladspa alsa kde kdeenablefinal qt dga -arts cdparanoia -esd jack java ruby musicbrainz mono gcj avi 3dnow sox samba -tcltk -pam pdflib png gif jpeg mpeg oggvorbis libwww flac mmx mp3 opengl quicktime spell ssl sdl tiff truetype usb v4l xine xinerama xv xvid -xmms cdr dvb dvdr dvd unicode wifi"
# Host Setting
# ============
#
# If you are using a Pentium Pro or greater processor, leave this line as-is;
# otherwise, change to i586, i486 or i386 as appropriate. All modern systems
# (even Athlons) should use "i686-pc-linux-gnu". All K6's are i586.
#
CHOST="i686-pc-linux-gnu"

# Host and optimization settings 
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3.
# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
# 
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# CRITICAL WARNINGS: ****************************************************** #
# ATHLON-4 will generate invalid SSE  instructions; use 'athlon'   instead. #
# PENTIUM4 will generate invalid SSE2 instructions; use 'pentium3' instead. #
# ************************************************************************* #
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
#CFLAGS="-march=pentium3 -O3 -pipe"

CFLAGS="-mcpu=athlon-xp -O2 -pipe"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"

# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc', '~sparc64' are the unstable KEYWORDS for their respective
# platforms. DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
#ACCEPT_KEYWORDS=~86

# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
#     temporary storage of data. This can get VERY large depending upon
#     the application being installed.
#PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
#     for all profile information as well as all ebuilds. This directory
#     itself can reach 200M. WE DO NOT RECOMMEND that you change this.
#PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
#     emerges. The source code is maintained here unless you delete
#     it. The entire repository of tarballs for gentoo is 9G. This is
#     considerably more than any user will ever download. 2-3G is
#     a large DISTDIR.
#DISTDIR=${PORTDIR}/distfiles
#
# PKGDIR is the location of binary packages that you can have created
#     with '--buildpkg' or '-b' while emerging a package. This can get
#     upto several hundred megs, or even a few gigs.
#PKGDIR=${PORTDIR}/packages
#
# PORT_LOGDIR is the location where portage will store all the logs it
#     creates from each individual merge. They are stored as YYMMDD-$PF.log
#     in the directory specified. This is disabled until you enable it by
#     providing a directory. Permissions will be modified as needed IF the
#     directory exists, otherwise logging will be disabled.
#PORT_LOGDIR=/var/log/portage
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
#     concern that they will be deleted by rsync updates. Default is not
#     defined.
PORTDIR_OVERLAY=/usr/local/portage

# Fetching files 
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Default fetch command (5 tries, passive ftp for firewall compatibility)
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#
# Using wget, ratelimiting downloads
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Prozilla (turbo downloader)
#FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'
#
# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
# The list is a space seperated list which is read left to right. If you use
# another mirror we highly recommend leaving the default mirror at the end of
# the list so that portage will fall back to it if the files cannot be found
# on your specified mirror. We _HIGHLY_ recommend that you change this setting
# to a nearby mirror by merging and using the 'mirrorselect' tool.
#GENTOO_MIRRORS="<your_mirror_here> http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"

# Synchronizing Portage
# =====================
#
# Each of these settings effects how Gentoo synchronizes your Portage tree.
# Synchronization is handled by rsync and these settings allow some control
# over how it is done.
#
#
# SYNC is the server used by rsync to retrieve a localized rsync mirror
#     rotation. This allows you to select servers that are geographically
#     close to you, yet still distribute the load over a number of servers.
#     Please do not single out specific rsync mirrors. Doing so places undue
#     stress on particular mirrors.  Instead you may use one of the following
#     continent specific rotations:
#
#   Default:       "rsync://rsync.gentoo.org/gentoo-portage"
#   North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
#   South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
#   Europe:        "rsync://rsync.europe.gentoo.org/gentoo-portage"
#   Asia:          "rsync://rsync.asia.gentoo.org/gentoo-portage"
#   Australia:     "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
#     a current portage tree before it exits with an error. This allows
#     for a more successful retrieval without user intervention most times.
#RSYNC_RETRIES="3"
#
# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
#     on a connection. Most users will benefit from this setting as it will
#     reduce the amount of 'dead air' they experience when they run across
#     the occasional, unreachable mirror. Dialup users might want to set this
#     value up around the 300 second mark.
#RSYNC_TIMEOUT=180

# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
#     program is compiled. Presently the only use is for specifying
#     the number of parallel makes (-j) to perform. The suggested number
#     for parallel makes is CPUs+1.
MAKEOPTS="-j2"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
#     Note: This is an increment. Running emerge in a niced environment will
#     reduce it further. Default is unset.
PORTAGE_NICENESS=10
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
#     packages from the system after every successful merge. This is the
#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#     This does not affect the unpacked source. See 'noclean' below.
AUTOCLEAN="yes"
#
# FEATURES are settings that affect the functionality of portage. Most of
#     these settings are for developer use, but some are available to non-
#     developers as well. 
#
#  'buildpkg'    causes binary packages to be created of all packages that 
#                are merged.
#  'ccache'      enables ccache support via CC.
#  'cvs'         feature for developers that causes portage to enable full 
#                settings and USE flags in SRC_URI and has wide effects -- 
#                don't set this unless you're ready for it. 
#  'digest'      autogenerate a digest for packages.
#  'distcc'      enables distcc support via CC.
#  'fixpackages' allows portage to fix binary packages that are stored in
#                PKGDIR. This can consume a lot of time. 'fixpackages' is
#                also a script that can be run at any given time to force
#                the same actions.
#  'keeptemp'    prevents the clean phase from deleting the temp files ($T) 
#                from a merge.
#  'keepwork'    prevents the clean phase from deleting the WORKDIR.
#  'noauto'      causes ebuild to perform only the action requested and 
#                not any other required actions like clean or
#  'noclean'     prevents portage from removing the source and temporary files 
#                after a merge -- for debugging purposes only. 
#  'nostrip'     prevents stripping of binaries.
#  'notitles'    disables xterm titlebar updates (which contain status info). 
#  'sandbox'     enable sandbox-ing when running emerge and ebuild
#  'strict'      causes portage to react strongly to conditions that
#                have the potential to be dangerous -- like missing or
#                incorrect Manifest files.
#  'userpriv'    allows portage to drop root privleges while it is compiling
#                as a security measure, and as a side effect this can remove 
#                sandbox access violations for users. 
#  'usersandbox' enables sandboxing while portage is running under userpriv.
#                unpack -- for debugging purposes only.
#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork"
FEATURES="fixpackages"
#
# CCACHE_SIZE sets the space use limitations for ccache. The default size is
#     2G, and will be set if not defined otherwise and ccache is in features. 
#     Portage will set the default ccache dir if it is not present in the
#     user's environment: ${PORTAGE_TMPDIR}/ccache (/var/tmp/ccache).
#     Sizes are specified with 'G' 'M' or 'K'.
#     '4G' for 4 gigabytes, '4096M' for 4 gigabytes, etc... Default is 2G
#CCACHE_SIZE="2G"
#
# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
#     the portage tree. Specific chucks of the tree may be excluded from
#     consideration. This may cause dependency failures if you are not careful.
#     The file format is one pattern per line, blanks and ';' or '#' lines are
#     comments. See 'man rsync' for more details on the exclude-from format.
#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-04-04 05:26:46 UTC
*** Bug 128762 has been marked as a duplicate of this bug. ***
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-04-04 05:27:15 UTC
Please, don't close bugs as fixed until they are actually fixed in CVS.
Comment 5 Lisa Seelye (RETIRED) gentoo-dev 2006-04-04 06:03:07 UTC
This WORKSFORME.

If this is failing for you please Re: Comment 3, you are not even using distcc (it is not in your FEATURES).  I will close this since the original poster seems  to have resolved their issue and comment 3 is irrelevant!

WRT Bug 128762 that seems an issue with parallelisation and not distcc itself.

As always, reopen if this persists posting where the build fails and your emerge info.