trouble compiling some ports

Derek Ragona derek at computinginnovations.com
Sun Jul 22 20:48:04 UTC 2007


At 02:06 PM 7/22/2007, Christian Baer wrote:
>Hello Folks!
>
>Currently I am setting up a new computer (Sun U60) with FreeBSD and I am
>in serious guano. :-/
>
>I am currently running 6.2-p6, of course with the ports up to date.
>Normally the ports would not be the install method of choice since the
>processors of this machine are relatively slow and compiling of slightly
>bigger projects seems to take forever - especially since most ports
>won't compile with multipal jobs. However, probably because of the
>fact that all UltraSPARC CPUs that FreeBSD supports are this slow and
>AFAIK cross-plattform-compiling is not supported (yet), many of the
>packages are really ancient. So if you want up to date software, you
>have to use the ports.
>
>First I tried to install portupgrade. That however failed with an error
>message that lets me think, there is still some confusion because this
>port was moved from sysutils/ to ports-mgmt/.[1,7] This suspicion is
>hardened by the fact that ruby won't compile when it is built as a
>dependency of portupgrade, however it *does* compile and install
>without any complications if this is done directly from the
>/usr/ports/lang/ruby18/ directory.
>
>Well, since that didn't work I decided to get busy on the MTA. I don't
>much like Sendmail (although I had some thoughts about getting re-
>aquainted) and Postfix is a little more what I want. Postfix requires
>Perl 5.8 to work and if that isn't installed, the Postfix port does that
>for me. Because I like to at least look at the options of each port
>before I build and install anything, I decided to install Perl 5.8 "on
>foot" (from the port of course). But that too refused to work. The build
>stops with an error code 1 while still saying that everything is ok[2].
>
>To verify what happened, the port offers a "make test" which I ran.
>While this is running it spits out several messages like this one:
>
>lib/Test/Simple/t/threads.................skipping test on this platform
>
>where I have to admit that I don't understand why these specific test do
>not apply to my plattform. There are some that I understand (like some
>tests for Win32), but not all of them. Well I guess the programmer knew
>what he/she was doing and left it at that.
>
>make test also spits out three error messages[3,4,5] which I haven't
>included in the correct order, I'm afraid. The end of the test script
>shows an error message[6] which doesn't really make me feel confident
>about installing what I've just built.
>
>Note #1:
>You may find that in the messages shown below, Perl was compiled with
>the -mcpu option which tends to break some ports (or even make
>buildworld). I know about this and have tried several very conservative
>options, down to only "-O -pipe". I have also tried not only p6 but also
>the current -STABLE, compiled with different compiler-options - which I
>might say is *very* ball-busting on such a slow machine.
>
>Note #2:
>Someone in a German newsgroup told me that this problem (Perl won't
>compile) seems to apply to AMD64 as well. This would *really* surprise
>me as Perl is widely used and I didn't find any reports of this problem
>anywhere else.
>
>Note #3:
>The error message noted in [3] seems a bit more that a coincidence:
>1111111111111111111111111111111100000000000000000000000000000000 returned,
>1000000000000000000000000000000000000000000000000000000000000000 expected.
>There were thoughts about big-/little-endian (SPARC is big-endian)
>problems but also about a bug in gcc's data-types.
>
>Can anyone help?
>
>Regards,
>Chris
>
>
>[1] last lines from portupgrade's build
>/usr/local/bin/ruby18 -p  -e 'sub %r:/usr/local:, "/usr/local"'
>ports.rb > .build/ports.rb
>/usr/local/bin/ruby18 -wc portsdb.rb
>Syntax OK
>/usr/local/bin/ruby18 -p  -e 'sub %r:/usr/local:, "/usr/local"'
>portsdb.rb > .build/portsdb.rb
>===> man (all)
>Warning: Object directory not changed from original
>/usr/ports/ports-mgmt/portupgrade/work/pkgtools-2.3.1/man
>gzip -cn pkg_deinstall.1 > pkg_deinstall.1.gz
>gzip -cn pkg_fetch.1 > pkg_fetch.1.gz
>gzip -cn pkg_glob.1 > pkg_glob.1.gz
>gzip -cn pkg_sort.1 > pkg_sort.1.gz
>gzip -cn pkgdb.1 > pkgdb.1.gz
>gzip -cn portcvsweb.1 > portcvsweb.1.gz
>gzip -cn portsclean.1 > portsclean.1.gz
>gzip -cn portsdb.1 > portsdb.1.gz
>gzip -cn portupgrade.1 > portupgrade.1.gz
>gzip -cn portversion.1 > portversion.1.gz
>gzip -cn pkgtools.conf.5 > pkgtools.conf.5.gz
>===> misc (all)
>===> misc/bash (all)
>Warning: Object directory not changed from original
>/usr/ports/ports-mgmt/portupgrade/work/pkgtools-2.3.1/misc/bash
>===> misc/tcsh (all)
>Warning: Object directory not changed from original
>/usr/ports/ports-mgmt/portupgrade/work/pkgtools-2.3.1/misc/tcsh
>===> misc/zsh (all)
>Warning: Object directory not changed from original
>/usr/ports/ports-mgmt/portupgrade/work/pkgtools-2.3.1/misc/zsh
>
>
>
>[2] End of the Perl 5.8 build
>         Making threads::shared (dynamic)
>Writing Makefile for threads::shared
>cp shared.pm ../../../lib/threads/shared.pm
>../../../miniperl "-I../../../lib" "-I../../../lib"
>../../../lib/ExtUtils/xsubpp  -typemap ../../../lib/ExtUtils/typemap
>-typemap typemap  shared.xs > shared.xsc && mv shared.xsc shared.c
>cc -c    -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN"
>-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe
>-Wdeclaration-after-statement -I/usr/local/include -O2 -pipe
>-mcpu=ultrasparc -mtune=ultrasparc    -DVERSION=\"0.94\"
>-DXS_VERSION=\"0.94\" -DPIC -fPIC "-I../../.."   shared.c
>Running Mkbootstrap for threads::shared ()
>chmod 644 shared.bs
>rm -f ../../../lib/auto/threads/shared/shared.so
>cc  -shared  -L/usr/local/lib shared.o  -o
>../../../lib/auto/threads/shared/shared.so
>chmod 755 ../../../lib/auto/threads/shared/shared.so
>cp shared.bs ../../../lib/auto/threads/shared/shared.bs
>chmod 644 ../../../lib/auto/threads/shared/shared.bs
>
>         Making Errno (nonxs)
>Writing Makefile for Errno
>../../miniperl "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm
>cp Errno.pm ../../lib/Errno.pm
>*** Error code 1 (ignored)
>
>         Everything is up to date. Type 'make test' to run test suite.
>
>
>
>[3] error message from Perl "make test"
>lib/integer...............................#   Failed test 'left shift'
>#   in ../lib/integer.t at line 49.
>#          got: '-4294967296'
>#     expected: '-9223372036854775808'
>FAILED at test 10
>
>
>
>[4] error message from Perl "make test"
>t/op/pack.................................# Failed at op/pack.t line 631
># Failed at op/pack.t line 631
>FAILED at test 514
>
>
>
>[5] error message from Perl "make test"
>t/op/groups...............................FAILED at test 1
>
>
>
>[6] End of Perl's make test
>t/x2p/s2p.................................ok
>Failed 3 test scripts out of 938, 99.68% okay.
>### Since not all tests were successful, you may want to run some of
>### them individually and examine any diagnostic messages they produce.
>### See the INSTALL document's section on "make test".
>### You have a good chance to get more information by running
>###   ./perl harness
>### in the 't' directory since most (>=80%) of the tests succeeded.
>### You may have to set your dynamic library search path,
>### LD_LIBRARY_PATH, to point to the build directory:
>###   setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH; cd t; ./perl
>harness
>###   LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd
>t; ./perl harness
>###   export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; cd t; ./perl
>harness
>### for csh-style shells, like tcsh; or for traditional/modern
>### Bourne-style shells, like bash, ksh, and zsh, respectively.
>u=10.40  s=5.69  cu=768.08  cs=172.31  scripts=938  tests=117578
>*** Error code 1
>
>Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
>*** Error code 1
>
>Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
>*** Error code 1
>
>Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
>*** Error code 1
>
>Stop in /usr/ports/lang/perl5.8.
>sunny# t/op/pack.................................# Failed at op/pack.t
>line 631
>t/op/pack.................................#: Command not found.
># Failed at op/pack.t line 631
>FAILED at test 514
>
>
>
>[7] Cleaning up the ports directory was a really good idea, but it could
>have been done a little more completely. Why weren't the language-ports
>like 'korean' put into their own subdirectory?

I had similar problems on one server that had an old ports tree then 
updated ports.  I ended up having to completely delete and re-download the 
entire ports tree, and manually remove portupgrade and portmanager and 
reinstall them.

         -Derek


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.



More information about the freebsd-questions mailing list