Error installing EXPECT

Hi,

I am trying to install the EXPECT scripting language on my FreeBSD 6.2 release.
When trying to do that from the port available on my system it fails:
Code:
[me@myserver /home/me]# cd /usr/ports/lang/expect
[me@myserver /usr/ports/lang/expect]# make
===>  Vulnerability check disabled, database not found
===>  Extracting for expect-5.43.0_3
=> MD5 Checksum mismatch for expect-5.43.0.tar.gz.
=> SHA256 Checksum mismatch for expect-5.43.0.tar.gz.
===>  Refetch for 1 more times files: expect-5.43.0.tar.gz expect-5.43.0.tar.gz
===>  Vulnerability check disabled, database not found
=> expect-5.43.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://expect.nist.gov/src/.
fetch: http://expect.nist.gov/src/expect-5.43.0.tar.gz: Moved Permanently
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/expect-5.43.0.tar.gz: size mismatch: expected 525570, actual 525572
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/lang/expect.
*** Error code 1

Stop in /usr/ports/lang/expect.

Although it says that expect-5.43.0.tar.gz doesn't exist in /usr/ports/distfiles/ it does.
So then I try to add this package manually:
Code:
[me@myserver /usr/ports/distfiles]# pkg_add expect-5.43.0_3.tbz
pkg_add: could not find package libpthread-stubs-0.3_3 !
pkg_add: could not find package libxcb-1.6 !
pkg_add: could not find package tk-8.4.19_2,2 !
[root@J-700S053 /usr/ports/distfiles]#

So I believe I am missing some dependencies here:
Code:
[root@J-700S053 /usr/ports/distfiles]# pkg_add libpthread-stubs-0.3_3
pkg_add: can't stat package file 'libpthread-stubs-0.3_3'
[root@J-700S053 /usr/ports/distfiles]# pkg_add -r libpthread-stubs-0.3_3
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/libpthread-stubs-0.3_3.tbz: File unavailable 
(e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/libpthread-stubs-0.3_3.tbz' by URL

I am a bit stuck on how to proceed since I cannot find the 3 dependant packages (tbz-files to add to my system) on the web.

Not sure what I am missing to make this work; any advice?
I am not very familiar with packages/BSD systems so I might do something wrong anyway.

Thanks,

Phil
 
sometimes you can find the .gz file elsewhere on
the web, download it and put it in
/usr/ports/distfiles (in the case of /expect/, it
is only potentially hosted at two places.)
 
jb_fvwm2 said:
sometimes you can find the .gz file elsewhere on
the web, download it and put it in
/usr/ports/distfiles
The file is in that directory, even if the system says it isn't:
Code:
[me@myserver /usr/ports/distfiles]# ls -l | grep expect
-rw-r--r--   1 me    wheel    525572 Sep 20 09:44 expect-5.43.0.tar.gz


jb_fvwm2 said:
Code:
/bin/rm -rf work
make -DNO_CHECKSUM build
Do you know from where the file that
exists was downloaded from?
I am not sure what this code is supposed to do?
I downloaded that one from freebsd.org if I recall correctly.

sk8harddiefast said:

When I try to add these packages it comes complaining about dependencies and I cannot delete the old packages:

Code:
[me@myserver /usr/ports/distfiles]# pkg_add kbproto-1.0.4.tbz
pkg_add: package 'kbproto-1.0.4' or its older version already installed
[me@myserver /usr/ports/distfiles]# pkg_version -v | grep kbproto
kbproto-1.0.3                       =   up-to-date with port
[me@myserver /usr/ports/distfiles]# pkg_delete kbproto-1.0.3
pkg_delete: package 'kbproto-1.0.3' is required by these other packages
and may not be deinstalled:
libX11-1.1.3,1
tk-8.4.16,2
expect-5.43.0_3
[me@myserver /usr/ports/distfiles]#

With -r option:
Code:
[me@myserver /usr/ports/distfiles]# pkg_add -r pkg-config-0.23_1
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/pkg-config-0.23_1.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/pkg-config-0.23_1.tbz' by URL

Any other ideas? I tried to install with portmanager as well (portmanager /lang/expect/ -f) but that fails as well although all files are there:

Code:
Tue Sep 21 11:57:58 2010
 expect-5.43.0_3                     /lang/expect/
    MISSING                             expect-5.43.0_3                     /lang/expect/

Tue Sep 21 11:58:03 2010
 expect-5.43.0_3                     /lang/expect/
    failed during make, adding to ignore.db

Tue Sep 21 11:58:10 2010
 portmanager                         0.4.1_9
    INFO: finished with some ports not updated  if --log was used see /var/log/portmanager.log

Tue Sep 21 11:58:10 2010
 end of log
 
FWIW portmanager I've not used recently, all of
a sudden a few years ago , it reports "MISSING"
erroneously
...
...
this code should work, halting on error in this
case on the expect part (checksum mismatch)...
which is why I posted the alternate code above.
Code:
portmaster -d -B /var/db/pkg/something-1.2 
lang/expect audio/yell 
/var/db/pkg/something-4.2.3 /var/db/pkg/something-1.2.3
&& yell
seems easy usually.
... obviously you'd want /yell/ installed first
(added it to be above, might work)
............................
The code I posted
in the post above this one would test more-or-less
test
if the
gz file (expect) would install successfully after a build.
...
The packages install (problems) (are
usually) much more complex than
the port install (problem(s)). (easy if you are
experienced, your shell saves history across
reboots or you've scripted it, only a few
dependencies for the port, etc etc.. ) all in
all if packages fail to install, unless a simple
fix (delete before install) the port builds are
easier to get working.
 
So I have installed portmaster to get the above running.
Then I did the following:
Code:
[me@myserver /usr/ports/distfiles]# ls -l /usr/ports/distfiles/expect-5.43.0.tar.gz
-rw-r--r--  1 me  wheel  525572 Sep 22 11:34 /usr/ports/distfiles/expect-5.43.0.tar.gz
===>>> Waiting on fetch & checksum for lang/expect <<<===
===>  Vulnerability check disabled, database not found
=> expect-5.43.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://expect.nist.gov/src/.
fetch: http://expect.nist.gov/src/expect-5.43.0.tar.gz: Connection refused
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/expect-5.43.0.tar.gz: size mismatch: expected 525570, actual 525572
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/lang/expect.

===>>> make failed for lang/expect
===>>> Aborting update

[me@myserver /usr/ports/distfiles]# ls -l /usr/ports/distfiles/expect-5.43.0.tar.gz
ls: /usr/ports/distfiles/expect-5.43.0.tar.gz: No such file or directory
[me@myserver /usr/ports/distfiles]#

It appears that portmaster deletes the file expect-5.43.0.tar.gz from ../distfiles, tries to download it (which fails) and then complains that it is not available in ../distfiles

Also, during the fetch it complains about a size mismatch:
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/expect-5.43.0.tar.gz: size mismatch: expected 525570, actual 525572
Any way to get around that so that it will download and install the package anyway?

Thanks!
 
see the post #3, substituting "install" for
"build" if you know the .gz came from one
of the two official sites.
...
/expect/ just downloaded here fine. You maybe
can also try /expect-devel/ instead. Or update
the ports tree for it
running the below from /usr/ports:
Code:
csup -g -L 2 -i ports/lang/expect supfile.new
You would need a new supfile.new in
/usr/ports for that to work. (supfile-ports
rewritten). ...
to maybe fix the files in the /expect/ location
(distinfo) if they are older than they should
be maybe.
 
Manually remove /usr/ports/distfiles/expect-5.43.0.tar.gz and run [cmd=]make distclean[/cmd] in the port directory. Then install the port again. Partial downloads are notoriously 'sticky'.
 
jb_fvwm2 said:
see the post #3, substituting "install" for
"build" if you know the .gz came from one
of the two official sites.
...

I am not sure what the goal would be of the code you first posted:
Code:
/bin/rm -rf work
make -DNO_CHECKSUM build
What would I remove here (work)?
It was downloaded from the official site.
I believe that the problem is that there's a version mismatch; my BSD is 6.2 and I think that the port or package are for more recent systems. Is there a compatibility list somewhere where I can check which Expect version is supposed to run on my system?
I never worked with csup either so would not know what to put in the supfile. I'll try to figure out when I find some more time.


@ Dutchdaemon:
I tried your suggestion; the removal went smooth but when reinstalling it comes back with error code 1 again:
Code:
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/expect-5.43.0.tar.gz: size mismatch: expected 525570, actual 525572
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/lang/expect.
I am thinking about using expect on another system (where I have installed/compiled expect properly) and FTP the result via cron to my new server but this is far from ideal ofcourse.
 
Removing /usr/ports/lang/expect/work/ is
standard for new builds. If /work/ does not
exist, no need to run that command.
....
create supfile.new in /usr/ports...
... as follows: (7 lines in the file)

Code:
*default host=cvsup9.us.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix

ports-all
...
I suggested expect-devel because sometimes the
-devel port is quicker to install (no
troubles downloading the correct file etc)
and suffices to sub for the usual one.
...
 
The supfile.new suggestion works, great...
Many thanks for the help and the solution, much appreciated!
 
Back
Top