Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 298535 - media-video/flvstreamer-1.9 broken Makefile fails to build with -s
Summary: media-video/flvstreamer-1.9 broken Makefile fails to build with -s
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Markos Chandras (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-27 14:15 UTC by Joost Ruis
Modified: 2009-12-30 17:17 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 Joost Ruis 2009-12-27 14:15:52 UTC
>>> Unpacking source...
>>> Unpacking flvstreamer-1.9.tar.gz to /var/tmp/portage/media-video/flvstreamer-1.9/work
>>> Source unpacked in /var/tmp/portage/media-video/flvstreamer-1.9/work
>>> Preparing source in /var/tmp/portage/media-video/flvstreamer-1.9/work/flvstreamer-1.9 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-video/flvstreamer-1.9/work/flvstreamer-1.9 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/media-video/flvstreamer-1.9/work/flvstreamer-1.9 ...
make -s -j3 CC=x86_64-pc-linux-gnu-gcc CXX=x86_64-pc-linux-gnu-g++ 'CFLAGS=-O2 -march=x86-64 -pipe' 'CXXFLAGS=-O2 -march=x86-64 -pipe' LDFLAGS=-Wl,-O1,--as-needed linux 
make[1]: *** No rule to make target `s'.  Stop.
make: *** [linux] Error 2
>>> Source compiled.
>>> Test phase [not enabled]: media-video/flvstreamer-1.9

>>> Install flvstreamer-1.9 into /var/tmp/portage/media-video/flvstreamer-1.9/image/ category media-video
!!! dobin: flvstreamer does not exist
!!! dobin: streams does not exist

Reproducible: Always




Portage 2.2_rc61 (default/linux/amd64/10.0/desktop, gcc-4.4.1, glibc-2.10.1-r0, 2.6.31-server x86_64)
=================================================================
System uname: Linux-2.6.31-server-x86_64-Intel-R-_Xeon-R-_CPU_X3220_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 27 Dec 2009 12:45:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.4.6, 2.5.4-r3, 2.6.3
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
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.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=x86-64 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/entropy /opt/openfire/resources/security/ /usr/lib64/fax /usr/share/X11/xkb /usr/share/config /usr/share/config/kdm /usr/share/xbmc/userdata /var/bind /var/lib/hsqldb /var/spool/fax/etc /var/spool/torque"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=x86-64 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://212.219.56.139/sites/www.ibiblio.org/gentoo/"
LANG="en_US"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1,--as-needed"
LINGUAS="en en_US af ar az bg bn br bs ca cs cy da de el en_GB eo es et eu fa fi fr fy ga gl he hi hr hu is it ja kk km ko lt lv mk mn ms nb nds nl nn pa pl pt pt_BR ro ru rw se sk sl sr sr@Latn ss sv ta tg tr uk uz vi zh_CN zh_TW es_AR es_ES fy_NL ga_IE gu gu_IN nb_NO nn_NO pt_PT sv_SE zh"
MAKEOPTS="-s -j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/enlightenment /usr/local/portage/layman/sabayon"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acl acpi aiglx aim alsa amd64 artswrappersuid audiofile avahi bash-completion berkdb bidi bluetooth bzip2 cairo cdda cddb cdr cjk cli consolekit cpudetection cracklib crypt css cups cxx dbus dga dri dts dv dvb dvd dvdr dvdread dvi emboss encode fam fame fat ffmpeg firefox flac foomatic-db fortran freetype gcj gdbm gif gimpprint gmp gnutls gphoto2 gpm gsm gstreamer gtk hal hfs iconv icq ieee1394 imap inotify ipod ipv6 irc irda jabber jack jfs joystick jpeg kde kdehiddenvisibility kerberos lame lcd ldap libnotify live lm_sensors lzo mad mail matroska mikmod mjpeg mmx mng modules mozdevelop mp3 mp3rtp mp4 mpeg msn mudflap multilib musepack musicbrainz ncurses network nls nptl nptlonly nsplugin ntfs ogg openal openexr opengl openmp pam pcmcia pcre pda pdf perl png policykit ppds pppd pulseaudio python qt3support qt4 quicktime rar rdesktop readline reflection reiserfs rss scanner sdl session slp speex spell spl sse sse2 ssl startup-notification stream svg sysfs tcpd theora thunar tiff truetype udev unicode usb v4l v4l2 visualization vorbis wifi wmf x264 xcb xfs xine xinerama xml xorg xpm xprint xulrunner xv xvid xvmc yahoo zeroconf zlib" ALSA_CARDS="emu10k1x darla20 darla24 emu10k1 gina20 gina24 hdsp hdspm ice1712 indigo indigoio layla20 layla24 mia mixart mona pcxhr rme32 rme96 sb16 sbawe sscape usbusx2y vx222 usb-usx2y" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" CAMERAS="agfa_cl20 casio_qv dimagev dimera3500 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica_qm150 panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ricoh_g3 sipix_blink sipix_blink2 sipix_web2 sony_dscf1 sony_dscf55 toshiba_pdrm11 adc65 aox barbie canon clicksmart310 digigr8 digita directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 konica largan lg_gsm mars mustek pccam300 pccam600 ptp2 ricoh samsung sierra smal sonix soundvision spca50x sq905 stv0674 stv0680 sx330z template" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US af ar az bg bn br bs ca cs cy da de el en_GB eo es et eu fa fi fr fy ga gl he hi hr hu is it ja kk km ko lt lv mk mn ms nb nds nl nn pa pl pt pt_BR ro ru rw se sk sl sr sr@Latn ss sv ta tg tr uk uz vi zh_CN zh_TW es_AR es_ES fy_NL ga_IE gu gu_IN nb_NO nn_NO pt_PT sv_SE zh" LIRC_DEVICES="audio audio_alsa serial" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev vesa radeonhd" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2009-12-27 17:41:58 UTC
MAKEOPTS="-s -j3"

-s doesn't seem correct to me. What do you have this option on MAKEOPTS variable. afaik MAKEOPTS is only useful to specify the parallel jobs for make process

read the manpage of make.conf
Comment 2 Joost Ruis 2009-12-27 20:17:34 UTC
Hmm you are right. 
Not sure how that got there.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-28 09:27:30 UTC
-s is a valid option for MAKEOPTS, if package fails with MAKEOPTS=-s something's pretty wrong.
Comment 4 Joost Ruis 2009-12-28 11:19:09 UTC
Diego you are correct. 

Right after closing this bug myself (because man make.conf does not have anything about -s) I figured it'not supported by portage (passed to make)

I asked lxnay about it and turns out this flag has been in our MAKEOPTS for a while like this.

I really wonder why portage passes "s" and not "-s" to make in this case.
Could this be a portage bug?
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-28 11:56:02 UTC
The bug is in the way the Makefile is written:

        @$(MAKE) $(MAKEFLAGS) progs

but $(MAKEFLAGS) needs to be called with -$(MAKEFLAGS) as it does not pass the - prefix by itself. The special case for -j is working because then it'll be invoked via --jobserver-fds=3,4 -j.
Comment 6 Kevin Pyle 2009-12-28 17:21:23 UTC
As I understand it, simply saying "$(MAKE) progs" will cause make to automatically pass down the right values in MAKEFLAGS and the sub-make will do the right thing, so there is no reason to reiterate MAKEFLAGS on the command line of the sub-make.  Consider:

$ echo -e 'all:\n\t$(MAKE) -f 2 all' > 1
$ echo -e 'all:\n\t$(MAKE) -f 3 all' > 2
$ echo -e 'all:\n\tenv | grep MAKE' > 3
$ make -f 1
make -f 2 all
make[1]: Entering directory `/tmp'
make -f 3 all
make[2]: Entering directory `/tmp'
env | grep MAKE
MAKEFLAGS=w
MAKELEVEL=3
MAKEGOAL=all
$ make -f 1 -s
MAKEFLAGS=s
MAKELEVEL=3
MAKEGOAL=all

I would expect that the second and/or third level make would not be silent in my second run, if the sub-make did not honor the value of $(MAKEFLAGS) automatically.  Thus, I think the correct fix is to drop $(MAKEFLAGS) from the invocation entirely.
Comment 7 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-28 17:23:51 UTC
yeah generally speaking, $(MAKE) does what it has to do automatically, and MAKEFLAGS should be used for other things. Thus why I said it has a broken Makefile ;)
Comment 8 Kevin Pyle 2009-12-28 20:23:47 UTC
No disagreement there.  Comment #4 did not seem to explicitly discourage using $(MAKEFLAGS) though, so I wanted to point out that although adding a leading dash in the command might work, it is better just to drop the variable entirely.
Comment 9 Ben de Groot (RETIRED) gentoo-dev 2009-12-28 23:06:12 UTC
(In reply to comment #1)
> MAKEOPTS="-s -j3"
> 
> -s doesn't seem correct to me. 

man make, my dear

Comment 10 Markos Chandras (RETIRED) gentoo-dev 2009-12-30 17:17:41 UTC
(In reply to comment #5)
> The bug is in the way the Makefile is written:
> 
>         @$(MAKE) $(MAKEFLAGS) progs
> 
> but $(MAKEFLAGS) needs to be called with -$(MAKEFLAGS) as it does not pass the
> - prefix by itself. The special case for -j is working because then it'll be
> invoked via --jobserver-fds=3,4 -j.
> 

Fixed

Thanks Diego