Bug 101022 - [MAINTAINER] astro/boinc-setiathome-enhanced: update to 5.13
Summary: [MAINTAINER] astro/boinc-setiathome-enhanced: update to 5.13
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pav Lucistnik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-29 15:00 UTC by Rene Ladan
Modified: 2006-07-30 20:21 UTC (History)
0 users

See Also:


Attachments
boinc-setiathome-enhanced-5.13.patch (9.18 KB, patch)
2006-07-29 15:00 UTC, Rene Ladan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rene Ladan 2006-07-29 15:00:31 UTC
- Update to 5.13

- Use source build.

- Survives `portlint -A` and `port test`

Added file(s):
- files/app_info.xml.in
- pkg-message

Removed file(s):
- files/pkg-message.in

Generated with FreeBSD Port Tools 0.77
Comment 1 Rene Ladan 2006-07-29 16:10:43 UTC
The file app_info.xml.in as supplied is wrong, the corrections are:
* change ${SETI_BINARY} to %%SETI_BINARY%%
* change ${STRIPPED_PORTVERSION} to %%STRIPPED_PORTVERSION%%

I found this while installing the new version.

Rene
-- 
GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6
(subkeys.pgp.net)

"It won't fit on the line."
		-- me, 2001
Comment 2 Pav Lucistnik freebsd_committer 2006-07-30 12:26:01 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pav

All things boinc to me
Comment 3 Pav Lucistnik freebsd_committer 2006-07-30 13:48:22 UTC
State Changed
From-To: open->feedback

The cpu flagging code will need more work, it seems (on amd64): 

if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium4 -msse2 -mfpmath=sse -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math  -fPIC -DPIC -DHAVE_CONFIG_H  -march=pentium4 -msse2 -mfpmath=sse -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db -I/usr/local/include/BOINC -D_THREAD_SAFE -pthread    -O2 -fno-strict-aliasing -pipe -I/usr/local/include -funroll-loops -ffast-math -O3 -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f 'main.cpp' || echo './'`main.cpp;  then mv -f ".deps/seti_boinc-main.Tpo" ".deps/seti_boinc-main.Po"; else rm -f ".deps/seti_boinc-main.Tpo"; exit 1; fi 
main.cpp:1: error: CPU you selected does not support x86-64 instruction set 
main.cpp:1: error: CPU you selected does not support x86-64 instruction set 
*** Error code 1
Comment 4 Rene Ladan 2006-07-30 15:03:37 UTC
Pav Lucistnik schreef:
> Synopsis: [MAINTAINER] astro/boinc-setiathome-enhanced: update to 5.13
> 
> State-Changed-From-To: open->feedback
> State-Changed-By: pav
> State-Changed-When: Sun Jul 30 12:48:22 UTC 2006
> State-Changed-Why: 
> The cpu flagging code will need more work, it seems (on amd64):
> 
> if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium4 -msse2 -mfpmath=sse
> -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
> -fPIC -DPIC -DHAVE_CONFIG_H -march=pentium4 -msse2 -mfpmath=sse
> -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
> -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
-I/usr/local/include/BOINC
> -D_THREAD_SAFE -pthread    -O2 -fno-strict-aliasing -pipe
-I/usr/local/include
> -funroll-loops -ffast-math -O3 -O2 -fno-strict-aliasing -pipe
> -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
> -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
> -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
'main.cpp' ||
[...]
> main.cpp:1: error: CPU you selected does not support x86-64 instruction set
> main.cpp:1: error: CPU you selected does not support x86-64 instruction set
> *** Error code 1
> 
>
I only have an i386 here.  The error message comes from
/usr/src/contrib/gcc/config/i386/i386.c (line 1253 or 1265), so
something 'wrongly' defaults to i386

My resulting compiler flags (i386, with CPUTYPE=pentium4m and CFLAGS=-O
-pipe in /etc/make.conf) are:

if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium2 -mmmx -mfpmath=387
-march=pentium4 -msse2 -mfpmath=sse -O -pipe -march=pentium4m
-I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
-I/usr/include/openssl -ffast-math  -fPIC -DPIC -DHAVE_CONFIG_H
-march=pentium2 -mmmx -mfpmath=387 -march=pentium4 -msse2 -mfpmath=sse
-O -pipe -march=pentium4m -I/usr/local/include -funroll-loops
-ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
-DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
-I/usr/local/include/BOINC -D_THREAD_SAFE -pthread    -O -pipe
-march=pentium4m -I/usr/local/include -funroll-loops -ffast-math -O3 -O
-pipe -march=pentium4m -I/usr/local/include -funroll-loops -ffast-math
-O3 -I/usr/include -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
-MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
'main.cpp' ||
[...]

Does it compile when you comment out the ${MACHINE_CPU} tests or
--enable-fast-math from CONFIGURE_ARGS in Makefile?

> http://www.freebsd.org/cgi/query-pr.cgi?pr=101022
> 

Regards,
Rene
-- 
GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6
(subkeys.pgp.net)

"It won't fit on the line."
		-- me, 2001
Comment 5 Pav Lucistnik freebsd_committer 2006-07-30 15:12:24 UTC
> > Synopsis: [MAINTAINER] astro/boinc-setiathome-enhanced: update to 5.13
> > 
> > State-Changed-From-To: open->feedback
> > State-Changed-By: pav
> > State-Changed-When: Sun Jul 30 12:48:22 UTC 2006
> > State-Changed-Why: 
> > The cpu flagging code will need more work, it seems (on amd64):
> > 
> > if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium4 -msse2 -mfpmath=sse
> > -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
> > -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
> > -fPIC -DPIC -DHAVE_CONFIG_H -march=pentium4 -msse2 -mfpmath=sse
> > -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
> > -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
> > -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
> -I/usr/local/include/BOINC
> > -D_THREAD_SAFE -pthread    -O2 -fno-strict-aliasing -pipe
> -I/usr/local/include
> > -funroll-loops -ffast-math -O3 -O2 -fno-strict-aliasing -pipe
> > -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
> > -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
> > -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
> 'main.cpp' ||
> [...]
> > main.cpp:1: error: CPU you selected does not support x86-64 instruction set
> > main.cpp:1: error: CPU you selected does not support x86-64 instruction set
> > *** Error code 1
> > 
> >
> I only have an i386 here.  The error message comes from
> /usr/src/contrib/gcc/config/i386/i386.c (line 1253 or 1265), so
> something 'wrongly' defaults to i386
> 
> My resulting compiler flags (i386, with CPUTYPE=pentium4m and CFLAGS=-O
> -pipe in /etc/make.conf) are:
> 
> if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium2 -mmmx -mfpmath=387
> -march=pentium4 -msse2 -mfpmath=sse -O -pipe -march=pentium4m
> -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
> -I/usr/include/openssl -ffast-math  -fPIC -DPIC -DHAVE_CONFIG_H
> -march=pentium2 -mmmx -mfpmath=387 -march=pentium4 -msse2 -mfpmath=sse
> -O -pipe -march=pentium4m -I/usr/local/include -funroll-loops
> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
> -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
> -I/usr/local/include/BOINC -D_THREAD_SAFE -pthread    -O -pipe
> -march=pentium4m -I/usr/local/include -funroll-loops -ffast-math -O3 -O
> -pipe -march=pentium4m -I/usr/local/include -funroll-loops -ffast-math
> -O3 -I/usr/include -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
> -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
> 'main.cpp' ||
> [...]
> 
> Does it compile when you comment out the ${MACHINE_CPU} tests or
> --enable-fast-math from CONFIGURE_ARGS in Makefile?

On amd64, you should not pass -march at all, or pass in -march=nocona
instead of pentium4.

Anyway, where does that pentium4 comes from? I don't see any CPUTYPE
mentioned in the port Makefile.

-- 
Pav Lucistnik <pav@oook.cz>
              <pav@FreeBSD.org>

And the sign said long haired, freaky people need not apply.
Comment 6 Rene Ladan 2006-07-30 16:13:49 UTC
Pav Lucistnik schreef:
>>> Synopsis: [MAINTAINER] astro/boinc-setiathome-enhanced: update to 5.13
>>>
>>> State-Changed-From-To: open->feedback
>>> State-Changed-By: pav
>>> State-Changed-When: Sun Jul 30 12:48:22 UTC 2006
>>> State-Changed-Why: 
>>> The cpu flagging code will need more work, it seems (on amd64):
>>>
>>> if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium4 -msse2 -mfpmath=sse
>>> -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
>>> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
>>> -fPIC -DPIC -DHAVE_CONFIG_H -march=pentium4 -msse2 -mfpmath=sse
>>> -O2 -fno-strict-aliasing -pipe  -I/usr/local/include -funroll-loops
>>> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
>>> -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
>> -I/usr/local/include/BOINC
>>> -D_THREAD_SAFE -pthread    -O2 -fno-strict-aliasing -pipe
>> -I/usr/local/include
>>> -funroll-loops -ffast-math -O3 -O2 -fno-strict-aliasing -pipe
>>> -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
>>> -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
>>> -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
>> 'main.cpp' ||
>> [...]
>>> main.cpp:1: error: CPU you selected does not support x86-64 instruction set
>>> main.cpp:1: error: CPU you selected does not support x86-64 instruction set
>>> *** Error code 1
>>>
>>>
>> I only have an i386 here.  The error message comes from
>> /usr/src/contrib/gcc/config/i386/i386.c (line 1253 or 1265), so
>> something 'wrongly' defaults to i386
>>
>> My resulting compiler flags (i386, with CPUTYPE=pentium4m and CFLAGS=-O
>> -pipe in /etc/make.conf) are:
>>
>> if c++ -DHAVE_CONFIG_H -I. -I. -I..  -march=pentium2 -mmmx -mfpmath=387
>> -march=pentium4 -msse2 -mfpmath=sse -O -pipe -march=pentium4m
>> -I/usr/local/include -funroll-loops -ffast-math -O3 -I/usr/include
>> -I/usr/include/openssl -ffast-math  -fPIC -DPIC -DHAVE_CONFIG_H
>> -march=pentium2 -mmmx -mfpmath=387 -march=pentium4 -msse2 -mfpmath=sse
>> -O -pipe -march=pentium4m -I/usr/local/include -funroll-loops
>> -ffast-math -O3 -I/usr/include -I/usr/include/openssl -ffast-math
>> -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT  -I../db
>> -I/usr/local/include/BOINC -D_THREAD_SAFE -pthread    -O -pipe
>> -march=pentium4m -I/usr/local/include -funroll-loops -ffast-math -O3 -O
>> -pipe -march=pentium4m -I/usr/local/include -funroll-loops -ffast-math
>> -O3 -I/usr/include -I/usr/include/openssl -MT seti_boinc-main.o -MD -MP
>> -MF ".deps/seti_boinc-main.Tpo" -c -o seti_boinc-main.o `test -f
>> 'main.cpp' ||
>> [...]
>>
>> Does it compile when you comment out the ${MACHINE_CPU} tests or
>> --enable-fast-math from CONFIGURE_ARGS in Makefile?
> 
> On amd64, you should not pass -march at all, or pass in -march=nocona
> instead of pentium4.
> 
> Anyway, where does that pentium4 comes from? I don't see any CPUTYPE
> mentioned in the port Makefile.
>
Grr, it seems to come from the configure script when you pass
--enable-sse2 (generated with devel/autoconf259).  Looking at the
Berkeley tarball, there is in m4/optimizations.m4:

AC_ARG_ENABLE([sse2],
    AC_HELP_STRING([--enable-sse2],
       [Use SSE2 optimizations])
)

if test x_$enable_sse2 = x_yes ; then
  AC_DEFINE_UNQUOTED([USE_SSE2],[1],
    [Define to 1 if you want to use SSE2 optimizations])
# put compiler specific flags here
  if test x_$ac_cv_c_compiler_gnu = x_yes ; then
    CFLAGS="-march=pentium4 -msse2 -mfpmath=sse ${CFLAGS}"
  fi
fi

And similar code for --enable-sse3, enable--sse, enable-3dnow, and
enable-mmx

Since the source code itself doesn't use the USE_SSE2 etc. flags, I'll
change the port Makefile to manually set the compiler flags and complain
at some boinc mailing list :)

-- 
GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6
(subkeys.pgp.net)

"It won't fit on the line."
		-- me, 2001
Comment 7 Rene Ladan 2006-07-30 19:19:35 UTC
This is a multi-part message in MIME format.
Comment 8 Pav Lucistnik freebsd_committer 2006-07-30 20:20:29 UTC
State Changed
From-To: feedback->closed

Committed, thanks!