Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Jul 2007 15:47:08 -0500
From:      Derek Ragona <derek@computinginnovations.com>
To:        Christian Baer <christian.baer@uni-dortmund.de>, freebsd-questions@freebsd.org
Subject:   Re: trouble compiling some ports
Message-ID:  <6.0.0.22.2.20070722154318.02519e10@mail.computinginnovations.com>
In-Reply-To: <f809qu$1il7$3@nermal.rz1.convenimus.net>
References:  <f809qu$1il7$3@nermal.rz1.convenimus.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.0.0.22.2.20070722154318.02519e10>