Bug 200411 - Build failed for graphics/squish 1.10
Summary: Build failed for graphics/squish 1.10
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Only Me
Assignee: Dmitry Marakasov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-23 12:36 UTC by Ivan Klymenko
Modified: 2015-07-01 02:45 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (rddeblois)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Klymenko 2015-05-23 12:36:44 UTC
Maintainer:     rddeblois@gmail.com
Last committer: pawel@FreeBSD.org
Ident:          $FreeBSD: head/graphics/squish/Makefile 336891 2013-12-19 12:22:41Z pawel $
Log URL:        /squish-1.10.log
Build URL:      
Log:

====>> Building graphics/squish  
build started at Sat May 23 15:31:51 EEST 2015
port directory: /usr/ports/graphics/squish
building for: FreeBSD 11_CURRENT_i386-default-job-02 11.0-CURRENT FreeBSD 11.0-CURRENT i386
maintained by: rddeblois@gmail.com
Makefile ident:      $FreeBSD: head/graphics/squish/Makefile 336891 2013-12-19 12:22:41Z pawel $
Poudriere version: 3.1.6
Host OSVERSION: 1100073
Jail OSVERSION: 1100070

---Begin Environment---
UNAME_p=i386
UNAME_m=i386
OSVERSION=1100070
UNAME_v=FreeBSD 11.0-CURRENT
UNAME_r=11.0-CURRENT
LC_COLLATE=C
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
SAVED_TERM=screen
MASTERMNT=/usr/local/poudriere/data/.m/11_CURRENT_i386-default/ref
FORCE_PACKAGE=yes
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
POUDRIERE_BUILD_TYPE=bulk
PKGNAME=squish-1.10
OLDPWD=/
PWD=/usr/local/poudriere/data/.m/11_CURRENT_i386-default/ref/.p/pool
MASTERNAME=11_CURRENT_i386-default
SCRIPTPREFIX=/usr/local/share/poudriere
USER=root
HOME=/root
POUDRIERE_VERSION=3.1.6
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
LIBEXECPREFIX=/usr/local/libexec/poudriere
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
---End Environment---

---Begin OPTIONS List---
===> The following configuration options are available for squish-1.10:
====> Optimizations Selection: you can only select none or one of them  
     ALTIVEC=off: Use Altivec instructions
     SSE=on: Use SSE optimized routines
===> Use 'make config' to modify these settings  
---End OPTIONS List---

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
MAKE=gmake XDG_DATA_HOME=/wrkdirs/usr/ports/graphics/squish/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/graphics/squish/work  HOME=/wrkdirs/usr/ports/graphics/squish/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh PATH=/usr/local/libexec/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin CCACHE_DIR="/root/.ccache"
--End CONFIGURE_ENV--

--MAKE_ENV--
INSTALL_DIR=/wrkdirs/usr/ports/graphics/squish/work/stage/usr/local XDG_DATA_HOME=/wrkdirs/usr/ports/graphics/squish/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/graphics/squish/work  HOME=/wrkdirs/usr/ports/graphics/squish/work TMPDIR="/tmp" NO_PIE=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing"  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector" LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse"  MANPREFIX="/usr/local" PATH=/usr/local/libexec/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin CCACHE_DIR="/root/.ccache" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
OSREL=11.0
PREFIX=%D
LOCALBASE=/usr/local
RESETPREFIX=/usr/local
PORTDOCS=""
PORTEXAMPLES=""
LIB32DIR=lib
DOCSDIR="share/doc/squish"
EXAMPLESDIR="share/examples/squish"
DATADIR="share/squish"
WWWDIR="www/squish"
ETCDIR="etc/squish"
--End PLIST_SUB--

--SUB_LIST--
PREFIX=/usr/local
LOCALBASE=/usr/local
DATADIR=/usr/local/share/squish
DOCSDIR=/usr/local/share/doc/squish
EXAMPLESDIR=/usr/local/share/examples/squish
WWWDIR=/usr/local/www/squish
ETCDIR=/usr/local/etc/squish
--End SUB_LIST--

---Begin make.conf---
MACHINE=i386
MACHINE_ARCH=i386
ARCH=${MACHINE_ARCH}
WITH_CCACHE_BUILD=yes
CCACHE_DIR=/root/.ccache
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
#### /usr/local/etc/poudriere.d/make.conf ####
WITH_CCACHE_BUILD=yes
_LICENSE_STATUS=accepted
---End make.conf---
=======================<phase: check-sanity   >============================
===>  License MIT accepted by the user
===>  Found saved configuration for squish-1.10  
===========================================================================
=======================<phase: pkg-depends    >============================
===>   squish-1.10 depends on file: /usr/local/sbin/pkg - not found
===>    Verifying install for /usr/local/sbin/pkg in /usr/ports/ports-mgmt/pkg
===>   Installing existing package /packages/All/pkg-1.5.2.txz  
[11_CURRENT_i386-default-job-02] Installing pkg-1.5.2...
[11_CURRENT_i386-default-job-02] Extracting pkg-1.5.2... done
Message for pkg-1.5.2:
If you are upgrading from the old package format, first run:

  # pkg2ng
===>   Returning to build of squish-1.10  
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===>  License MIT accepted by the user
===>  Found saved configuration for squish-1.10
===> Fetching all distfiles required by squish-1.10 for building  
===========================================================================
=======================<phase: checksum       >============================
===>  License MIT accepted by the user
===>  Found saved configuration for squish-1.10
===> Fetching all distfiles required by squish-1.10 for building
=> SHA256 Checksum OK for squish-1.10.tar.gz.  
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===>  License MIT accepted by the user
===>  Found saved configuration for squish-1.10
===> Fetching all distfiles required by squish-1.10 for building
===>  Extracting for squish-1.10
=> SHA256 Checksum OK for squish-1.10.tar.gz.  
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for squish-1.10  
===========================================================================
=======================<phase: build-depends  >============================
===>   squish-1.10 depends on executable: gmake - not found
===>    Verifying install for gmake in /usr/ports/devel/gmake
===>   Installing existing package /packages/All/gmake-4.1_2.txz  
[11_CURRENT_i386-default-job-02] Installing gmake-4.1_2...
[11_CURRENT_i386-default-job-02] `-- Installing gettext-runtime-0.19.4...
[11_CURRENT_i386-default-job-02] |   `-- Installing indexinfo-0.2.3...
[11_CURRENT_i386-default-job-02] |   `-- Extracting indexinfo-0.2.3... done
[11_CURRENT_i386-default-job-02] `-- Extracting gettext-runtime-0.19.4... done
[11_CURRENT_i386-default-job-02] Extracting gmake-4.1_2... done
===>   Returning to build of squish-1.10
===>   squish-1.10 depends on file: /usr/local/bin/ccache - not found
===>    Verifying install for /usr/local/bin/ccache in /usr/ports/devel/ccache
===>   Installing existing package /packages/All/ccache-3.2.1_3.txz  
[11_CURRENT_i386-default-job-02] Installing ccache-3.2.1_3...
[11_CURRENT_i386-default-job-02] Extracting ccache-3.2.1_3... done
Create compiler links...
create symlink for cc
create symlink for cc (world)
create symlink for c++
create symlink for c++ (world)
create symlink for CC
create symlink for CC (world)
create symlink for clang
create symlink for clang (world)
create symlink for clang++
create symlink for clang++ (world)
Message for ccache-3.2.1_3:
NOTE:
Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for 
information on using ccache with FreeBSD ports and src.

You've chosen to create symlinks to the clang compiler binaries if they exist.
While it's known to be safe to build world with clang/ccache, it is not fully
supported yet. You have been warned.

See:
	https://bugzilla.samba.org/show_bug.cgi?id=8460
===>   Returning to build of squish-1.10  
===========================================================================
=======================<phase: lib-depends    >============================
===========================================================================
=======================<phase: configure      >============================
===>  Configuring for squish-1.10  
===========================================================================
=======================<phase: build          >============================
===>  Building for squish-1.10  
gmake[1]: Entering directory '/wrkdirs/usr/ports/graphics/squish/work/squish-1.10'
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -oalpha.o -c alpha.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -oclusterfit.o -c clusterfit.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -ocolourblock.o -c colourblock.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -ocolourfit.o -c colourfit.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -ocolourset.o -c colourset.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -omaths.o -c maths.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -orangefit.o -c rangefit.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -osinglecolourfit.o -c singlecolourfit.cpp
c++  -I. -O2 -pipe -fstack-protector -fno-strict-aliasing  -fPIC -include limits.h -DSQUISH_USE_SSE=2 -msse -osquish.o -c squish.cpp
In file included from clusterfit.cpp:27:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
In file included from ./simd_sse.h:31:
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
#error "SSE2 instruction set not enabled"
 ^
In file included from clusterfit.cpp:27:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
./simd_sse.h:163:33: error: use of undeclared identifier '_mm_cvttps_epi32'; did you mean '_mm_cvttps_pi32'?
                return Vec4( _mm_cvtepi32_ps( _mm_cvttps_epi32( v.m_v ) ) );
                                              ^~~~~~~~~~~~~~~~
                                              _mm_cvttps_pi32
/usr/bin/../lib/clang/3.6.0/include/xmmintrin.h:459:1: note: '_mm_cvttps_pi32' declared here
_mm_cvttps_pi32(__m128 __a)
^
In file included from clusterfit.cpp:27:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
./simd_sse.h:163:16: error: use of undeclared identifier '_mm_cvtepi32_ps'
                return Vec4( _mm_cvtepi32_ps( _mm_cvttps_epi32( v.m_v ) ) );
                             ^
3 errors generated.
Makefile:25: recipe for target 'clusterfit.o' failed
gmake[1]: *** [clusterfit.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
In file included from squish.cpp:30:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
In file included from ./simd_sse.h:31:
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
#error "SSE2 instruction set not enabled"
 ^
In file included from squish.cpp:30:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
./simd_sse.h:163:33: error: use of undeclared identifier '_mm_cvttps_epi32'; did you mean '_mm_cvttps_pi32'?
                return Vec4( _mm_cvtepi32_ps( _mm_cvttps_epi32( v.m_v ) ) );
                                              ^~~~~~~~~~~~~~~~
                                              _mm_cvttps_pi32
/usr/bin/../lib/clang/3.6.0/include/xmmintrin.h:459:1: note: '_mm_cvttps_pi32' declared here
_mm_cvttps_pi32(__m128 __a)
^
In file included from squish.cpp:30:
In file included from ./clusterfit.h:32:
In file included from ./simd.h:34:
./simd_sse.h:163:16: error: use of undeclared identifier '_mm_cvtepi32_ps'
                return Vec4( _mm_cvtepi32_ps( _mm_cvttps_epi32( v.m_v ) ) );
                             ^
3 errors generated.
Makefile:25: recipe for target 'squish.o' failed
gmake[1]: *** [squish.o] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/graphics/squish/work/squish-1.10'
===> Compilation failed unexpectedly.  
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/squish
Comment 1 rddeblois 2015-05-23 14:18:16 UTC
The -msse2 flag needs to be added instead of -msse when USE_SSE2 is set.  I'm not familiar with the policy on building with SSE2 by default, but perhaps the default for USE_SSE2 should only be ON on amd64 and OFF on i386.

I'll be traveling for the duration of the next week but I can look at it more closely afterwards if necessary.
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2015-07-01 02:45:05 UTC
(In reply to rddeblois from comment #1)
> The -msse2 flag needs to be added instead of -msse when USE_SSE2 is set. 
> I'm not familiar with the policy on building with SSE2 by default, but
> perhaps the default for USE_SSE2 should only be ON on amd64 and OFF on i386.

Did exactly that, thanks!
Comment 3 commit-hook freebsd_committer freebsd_triage 2015-07-01 02:45:21 UTC
A commit references this bug:

Author: amdmi3
Date: Wed Jul  1 02:44:28 UTC 2015
New revision: 391025
URL: https://svnweb.freebsd.org/changeset/ports/391025

Log:
  - Use correct flag for SSE instructions
  - Enable SSE on amd64 by default

  PR:		200411
  Submitted by:	fidaj@ukr.net, rddeblois@gmail.com (maintainer)

Changes:
  head/graphics/squish/Makefile