Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 128762

Summary: media-libs/jpeg-mmx-0.1.6-r1: p: cannot stat `.libs/cjpeg': No such file or directory
Product: Gentoo Linux Reporter: Martin Mokrejš <mmokrejs>
Component: [OLD] DevelopmentAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED WONTFIX    
Severity: normal CC: kevquinn, vapier
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: bad.log
ok.log
config.log

Description Martin Mokrejš 2006-04-04 05:20:04 UTC
>>> Source compiled.
>>> Test phase [not enabled]: media-libs/jpeg-mmx-0.1.6-r1

>>> 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

!!! ERROR: media-libs/jpeg-mmx-0.1.6-r1 failed.
Call stack:
  ebuild.sh, line 1526:   Called dyn_install
  ebuild.sh, line 999:   Called src_install
  jpeg-mmx-0.1.6-r1.ebuild, line 46:   Called die

!!! dobin cjpeg
!!! If you need support, post the topmost build error, and the call stack if relevant.



Portage 2.1_pre7-r4 (default-linux/x86/2005.1, gcc-3.4.6, glibc-2.4-r1, 2.6.15.6 i686)
=================================================================
System uname: 2.6.15.6 i686 Intel(R) Xeon(TM) CPU 3.06GHz
Gentoo Base System version 1.12.0_pre16
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5, 2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -mcpu=pentium4 -mmmx -msse -msse2 -msse3 -O3 -fomit-frame-pointer -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/bind /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=pentium4 -mcpu=pentium4 -mmmx -msse -msse2 -msse3 -O3 -fomit-frame-pointer -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.mirror.icd.hu/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 FFmpeg X Xaw3d aalib acpi apache2 apm arts ati avi berkdb bidi bitmap-fonts caca cdparanoia cdr crypt cscope cups curl dba dga directfb distcc divx divx4 divx4linux divx5 divx5linux dri dvb dvd dvdr dvdread eds emacs emacs-w3 emboss encode ethereal evo f77 faad faad2 fam fame fbcon ffmpeg flash foomaticdb fortran fvwm2 g77 gb gcj gd gdbm ggi gif gphoto2 gpm gstreamer gtk gtk2 gtkhtml i8x0 icc imagemagick imlib imlib2 innodb isdnlog ithreads java jpeg lcms leim libg++ libwww live lzo mad mcal mesa mikmod mmx mmx2 motif mozilla mp3 mpeg mule mysql ncurses network nls nptl nptlonly ogg oggvorbis opengl oss pam pcre pda pdflib perl php php4 plotutils png ppds pppd pthread pthreads python qt qtx quicktime readline rtc samba sdl slp spell sse sse2 sse3 ssl tcltk tcpd tetex theora thread threads tiff truetype truetype-fonts type1-fonts unicode usb utf8 v4l v4l2 vorbis win32 winvidix wmf xml xml2 xmms xosd xv xvid xvmc zeo zlib elibc_glibc kernel_linux userland_GNU video_cards_ati"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-04-04 05:26:46 UTC

*** This bug has been marked as a duplicate of 109723 ***
Comment 2 Martin Mokrejš 2006-04-04 05:45:28 UTC
If someone is curious, I do use local gcc-3.4.6 and not distcc.

# gcc-config -l
 [1] i686-pc-linux-gnu-3.3.6
 [2] i686-pc-linux-gnu-3.3.6-hardened
 [3] i686-pc-linux-gnu-3.3.6-hardenednopie
 [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.3.6-hardenednossp
 [6] i686-pc-linux-gnu-3.4.6 *
 [7] i686-pc-linux-gnu-3.4.6-hardened
 [8] i686-pc-linux-gnu-3.4.6-hardenednopie
 [9] i686-pc-linux-gnu-3.4.6-hardenednopiessp
 [10] i686-pc-linux-gnu-3.4.6-hardenednossp
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-04-04 05:56:29 UTC
(In reply to comment #2)
> If someone is curious, I do use local gcc-3.4.6 and not distcc.

Try w/ -j1 then.
Comment 4 Martin Mokrejš 2006-04-04 06:03:11 UTC
MAKEOPTS="-j1" did not help.

BTW, it is a dual-xeon server, thats why I had -j2. And yes, sometime it is used by others through distcc to compile stuff for client notebooks with gentoo linuxes. ;)
Comment 5 Martin Mokrejš 2006-04-04 06:12:56 UTC
This bug is not a duplicate.
Comment 6 dack 2006-05-03 23:04:47 UTC
I also have this problem, no distcc, MAKEOPTS="-j1"
Comment 7 dack 2006-05-06 13:47:59 UTC
Found the problem - this occurs on gcc 3.4.5 if you are still using -mcpu instead of -march.  Check your CFLAGS.
Comment 8 Blake Hammon 2006-05-07 21:42:24 UTC
I am glad this bug has been posted, I have been struggling with this issue for 3 weeks.

I am using the -march=pentium-m flag  in /etc/make.conf with gcc 3.4.5 and I am still encountering this issue. So I am not sure if the -mcpu vs  -march is the answer. Any other ideas? I am glad to help out.

From what I have found, the compilation is ok, it is when it goes in to install cjpeg, djpeg, jpegtran and it is looking in /var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx/.libs/ directory for the binaries, when it seems they are in the   /var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx/ directory. 

Does the ebuild need to be changed?

Thanks for your time.
Comment 9 Blake Hammon 2006-05-07 21:44:42 UTC
I am glad this bug has been posted, I have been struggling with this issue for 3 weeks.

I am using the -march=pentium-m flag  in /etc/make.conf with gcc 3.4.5 and I am still encountering this issue. So I am not sure if the -mcpu vs  -march is the answer. Any other ideas? I am glad to help out.

From what I have found, the compilation is ok, it is when it goes in to install cjpeg, djpeg, jpegtran and it is looking in /var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx/.libs/ directory for the binaries, when it seems they are in the   /var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx/ directory. 

Does the ebuild need to be changed?

Thanks for your time.
Comment 10 Martin Mokrejš 2006-05-10 02:42:21 UTC
I cannot reproduce at the moment. What is the src_install doing that wget/scp is used to copy the libjpeg.doc file?


>>> Source compiled.
>>> Test phase [not enabled]: media-libs/jpeg-mmx-0.1.6-r1

>>> 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
libjpeg.doc                                                                                | 100% |   156 KiB |   144 KiB/s | ETA 00:00.00
>>> Completed installing jpeg-mmx-0.1.6-r1 into /var/tmp/portage/jpeg-mmx-0.1.6-r1/image/

man:
strip: i686-pc-linux-gnu-strip --strip-unneeded
   /usr/bin/cjpeg-mmx
   /usr/bin/djpeg-mmx
   /usr/bin/jpegtran-mmx
   /usr/lib/libjpeg-mmx.so.62.0.0
   usr/lib/libjpeg-mmx.a

QA Notice: the following files contain runtime text relocations
 Text relocations force the dynamic linker to perform extra
 work at startup, waste system resources, and may pose a security
 risk.  On some architectures, the code may not even function
 properly, if at all.
 For more information, see http://hardened.gentoo.org/pic-fix-guide.xml
 Please include this file in your report:
 /var/tmp/portage/jpeg-mmx-0.1.6-r1/temp/scanelf-textrel.log
TEXTREL usr/lib/libjpeg-mmx.so.62.0.0


QA Notice: the following files contain executable stacks
 Files with executable stacks will not work properly (or at all!)
 on some architectures/operating systems.  A bug should be filed
 at http://bugs.gentoo.org/ to make sure the file is fixed.
 For more information, see http://hardened.gentoo.org/gnu-stack.xml
 Please include this file in your report:
 /var/tmp/portage/jpeg-mmx-0.1.6-r1/temp/scanelf-execstack.log
RWX --- --- usr/lib/libjpeg-mmx.so.62.0.0

>>> Merging media-libs/jpeg-mmx-0.1.6-r1 to /



# emerge --info
Portage 2.1_pre10-r5 (default-linux/x86/2005.0, gcc-3.4.6, glibc-2.4-r2, 2.6.17-rc3 i686)
=================================================================
System uname: 2.6.17-rc3 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
Gentoo Base System version 1.12.0_pre19
dev-lang/python:     2.3.4-r1, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr
/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /usr/spool/PBS /var/bind /var/qmail/alias /var/qmail/control /var/spool/PB
S /var/vpopmail/domains /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --tim
eout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 FFmpeg X Xaw3d a52 aac aalib acpi alsa amr apache2 apm arts ati avi berkdb bitmap-fonts bonobo caca cdparanoia cdr cli cpudetecti
on crypt cscope ctype cups dba dga directfb divx divx5 divx5linux dri dts dv dvb dvd dvdr dvdread eds emacs emacs-w3 emboss encode esd eth
ereal evo f77 faad faad2 fam fame fbcon ffmpeg flash foomaticdb fortran fvwm fvwm2 gb gd gdbm ggi gif gphoto2 gpm gstreamer gtk gtk2 gtkht
ml i8x0 icc iconv ieee1394 ifc imagemagick imlib imlib2 inifile innodb isdnlog ithreads java jpeg kerberos lcms leim libcaca libg++ libwww
 lirc live lzo mad matroska mcal mesa mhash mikmod ming mmx mmx2 mmxext motif mozilla mp3 mpeg mule musepack mysql ncurses network nls npt
l nptlonly ogg oggvorbis opengl oss pam pcre pda pdflib perl plotutils plugin png ppds pppd pthread pthreads python qt qtx quicktime readl
ine reflection rtc samba scanner scp sdl server session slp spell spl sse sse2 ssl stroke tcltk tcpd tetex theora thread threads tiff true
type truetype-fonts type1-fonts unicode usb v4l v4l2 vorbis win32 win32codecs winvidix wmf x264 xanim xml xml2 xmms xorg xosd xprint xv xv
id xvmc zeo zlib elibc_glibc kernel_linux userland_GNU video_cards_ati"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 11 Martin Mokrejš 2006-05-10 02:52:26 UTC
I really can reproduce when setting -mcpu=pentium4. It turns out gcc doesn't use -fPIC -DPIC when mcpu=pentium4 is set, and that in turn changes how the libs are generated. I will attach 2 files which log what has happened. Diff(1) then against each other. Please note that from the bad.log fiel I have _removed_ '-mcpu=pentium4 ' so that the diff(1) would find less differences.

--- ok.log      2006-05-10 11:47:02.466002832 +0200
+++ bad.log     2006-05-10 11:48:07.840064464 +0200
@@ -44,7 +44,7 @@
 checking for gcc... gcc
 checking whether we are using GNU C... yes
 checking for gcc option to produce PIC... -fPIC
-checking if gcc PIC flag -fPIC works... yes
+checking if gcc PIC flag -fPIC works... no
 checking if gcc static flag -static works... -static
 checking whether ln -s works... yes
 checking for ld used by GCC... /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/ld
@@ -55,8 +55,8 @@
 checking how to hardcode library paths into programs... immediate
 checking for /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/ld option to reload object files... -r
 checking dynamic linker characteristics... Linux ld.so
-checking if libtool supports shared libraries... yes
-checking whether to build shared libraries... yes
+checking if libtool supports shared libraries... no
+checking whether to build shared libraries... no
 checking whether to build static libraries... yes
 checking for objdir... .libs
 creating libtool

The rest inspect yourself from the atatched files. ;-)
Comment 12 Martin Mokrejš 2006-05-10 02:54:16 UTC
Created attachment 86533 [details]
bad.log

The '-mcpu=pentium4 ' has been ripped out by sed(1) from the logfile, but beware it was used in CFLAGS for the actual compilation!
Comment 13 Martin Mokrejš 2006-05-10 02:54:34 UTC
Created attachment 86534 [details]
ok.log
Comment 14 Martin Mokrejš 2006-05-10 02:58:44 UTC
Created attachment 86535 [details]
config.log

/var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx/config.log when `-mcpu=pentium4' was used.

The output was:

>>> Unpacking jpeg-mmx-0.1.6.tar.gz to /var/tmp/portage/jpeg-mmx-0.1.6-r1/work
 * Applying jpeg-mmx-0.1.6-PIC.patch ...                                                                                            [ ok ]
 * Applying jpeg-mmx-0.1.6-makefile.patch ...                                                                                       [ ok ]
 * Applying jpeg-mmx-0.1.6-gcc41.patch ...                                                                                          [ ok ]
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/jpeg-mmx-0.1.6-r1/work/jpeg-mmx ...
 * econf: updating jpeg-mmx/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating jpeg-mmx/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/et
c --localstatedir=/var/lib --includedir=/usr/include/jpeg-mmx --enable-shared --enable-static --build=i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc -O2 -march=pentium4 -mcpu=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -pipe ) works... yes
checking whether the C compiler (gcc -O2 -march=pentium4 -mcpu=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -pipe ) is a cross-compile
r... no
checking whether we are using GNU C... yes
checking how to run the C preprocessor... gcc -E
checking for function prototypes... yes
checking for stddef.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for size_t... yes
checking for type unsigned char... yes
checking for type unsigned short... yes
checking for type void... yes
checking for working const... yes
checking for inline... __inline__
checking for broken incomplete types... ok
checking for short external names... ok
checking to see if char is signed... yes
checking to see if right shift is signed... yes
checking to see if fopen accepts b spec... yes
checking for a BSD compatible install... /bin/install -c
checking for ranlib... ranlib
checking host system type... i686-pc-linux-gnu
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using GNU C... yes
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... no
checking if gcc static flag -static works... -static
checking whether ln -s works... yes
Comment 15 Kevin F. Quinn (RETIRED) gentoo-dev 2006-06-18 04:03:54 UTC
For those using -mcpu - stop it, it's deprecated :)  I'm guessing the warning messages is causing configure to get results incorrect.  Use -mtune or -march instead.

Blake Hammon - you didn't post emerge --info and I can't reproduce; if you're still interested and still have the problem post your emerge --info.  If the problem no longer occurs, please let us know.

Comment 16 SpanKY gentoo-dev 2006-07-16 22:43:03 UTC
read the warning:
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.

fix that and jpeg-mmx will work fine