# Need gc-7.2e.tar.gz in distfiles (to build git from ports)



## williamverna (Feb 28, 2014)

I'm running FreeBSD 10.0-RELEASE on a Mac (PowerPC) and need to build Git from the ports. But a dependency stops the Git install. Is it possible to have the missing Boehm-gc-7.2e port added to the FreeBSD ports/distfiles tree? Thank you - Will.

Error example (see below):

```
[root@macg4a1103 /usr/ports/devel/git]# make install
...
===>   w3m-0.5.3_2 depends on file: /usr/local/lib/libcrypto.so.8 - found
===>   w3m-0.5.3_2 depends on shared library: gc - not found
===>    Verifying install for gc in /usr/ports/devel/boehm-gc
===>  License BDWGC accepted by the user
===>  Found saved configuration for boehm-gc-7.2e
===>   boehm-gc-7.2e depends on file: /usr/local/sbin/pkg - found
=> gc-7.2e.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2e.tar.gz
fetch: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2e.tar.gz: Not Found
=> Attempting to fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/gc-7.2e.tar.gz
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/gc-7.2e.tar.gz: File unavailable (e.g., file not found, no access)
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop.
make[7]: stopped in /usr/ports/devel/boehm-gc
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/devel/boehm-gc
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/www/w3m
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/www/w3m
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/textproc/xmlto
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/textproc/xmlto
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/git
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/git
```


----------



## SirDice (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

http://people.freebsd.org/~ehaupt/disti ... /boehm-gc/

If there's a port added to the ports tree all of its dependencies must be in the ports tree too. It's not possible to have something in the ports tree depend on something that's not available in the ports tree.


----------



## williamverna (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

I just read @lme@  --Adopt an orphaned port project-- posted on this board. As recommended I ran the `pkg query -e "%m == 'ports@FreeBSD.org'" %o` and found that /usr/ports/devel/boehm-gc is one of the 20% unmaintained upstream ports. So it "is" possible to have something in the ports tree depend on something that's "not" available in the ports tree.


----------



## ljboiler (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

Update your ports tree.  The port was updated within the last week to point to a valid master site from which to fetch the needed distribution.


----------



## kpa (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*



			
				williamverna said:
			
		

> I just read @lme@  --Adopt an orphaned port project-- posted on this board. As recommended I ran the `pkg query -e "%m == 'ports@FreeBSD.org'" %o` and found that /usr/ports/devel/boehm-gc is one of the 20% unmaintained upstream ports. So it "is" possible to have something in the ports tree depend on something that's "not" available in the ports tree.



This is not a correct interpretation of the situation. Ports that do not have a maintainer (those that have ports@freebsd.org as the maintainer) are still supported but the support is on the basis of who happens to have time to do the maintainance work. Every port in the ports tree is supported one way or another. In cases where the support becomes truly impossible the ports are marked as deprecated and removed.


----------



## SirDice (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*



			
				williamverna said:
			
		

> So it "is" possible to have something in the ports tree depend on something that's "not" available in the ports tree.


I meant to say, if it depends on something there's a port for it. Case in point: devel/boehm-gc. Not being able to fetch the source is an entirely different matter. Sometimes the upstream sites change their layout or store the files somewhere else. If the port isn't changed accordingly it can't find and download the files.


----------



## williamverna (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

OK. Thanks @ljboiler. I've setup `portsnap cron` in the root crontab file that runs nightly (TZ=UTC-5). And I did a `portsnap update` this morning before running `devel/git make install`. All as recommend in the FreeBSD manuals I just read last week. Am I supposed to be doing something else in addition to portsnap(8) to update my local ports tree?

For example:

```
[root@macg4a1103 ~]# crontab -l
9 43 * * * root /usr/sbin/portsnap cron

[root@macg4a1103 ~]# portsnap update
Ports tree is already up to date.
```
I must be doing something wrong then, or the portsnap(8) utility doesn't behave like I expected?

Ps. @SirDice - thank you for that distilator URL. I manually downloaded the gc-7.2e.tar.gz file into the /usr/ports/distfiles/ folder and devel/git `make install` is now building. Make is still running as I write this, but no exceptions thrown yet.


----------



## ljboiler (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

That looks perfectly correct as far as using portsnap.  I keep my port tree updated via `svn` myself, and it showed that the Makefile had been changed on 22 Feb to switch the MASTER_SITE from
	
	



```
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/
```
 to 
	
	



```
http://www.hboehm.info/gc/gc_source/
```
, so I would think that the latest ports snapshot should have included that change.

I assume you checked the root user's local email to see if that cron job is failing?  You might just try running `portsnap cron` manually to see if anything out of the ordinary is happening.


----------



## williamverna (Feb 28, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

Yes, the problem is with the `portsnap cron` or crond() or root crontab file--I don't know which. No errors in root mailbox. No mail from `portsnap cron` at all. I'm running `portsnap cron` from the command-line now and waiting for the random timer to fire it off. I just ran `portsnap fetch` manually and updated 100's of ports, so it appears that `portsnap cron` hasn't worked since I setup the cron job. Thank you everyone, this was not a ports issue, but rather a portsnap() or cron() problem. I will dig into this more. If I determine it's a portsnap() issue, and not a user error, misconfig or my computer/network, I'll submit a proper problem report (send-pr).

Good news is I have git(1) successfully install. Thanks for your tremendous help--very, very appreciated.


----------



## williamverna (Mar 1, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*

Here's a brief wrap. The syntax in my root's cron file was out of context and out of bounds. Thus the `/usr/sbin/portsnap cron` in the root users crontab file never ran. After I carefully reviewed the crontab(5) and portsnap(8) man pages, it was clear what went wrong. First, the date and time fields in a cron table follow a 'user name' if, and obviously only if, the instruction is in the system crontab file /etc/crontab. I used the 'root' user name in the /var/cron/tabs/root file via the `crontab -e` command crontab(1). The context was not correct and cron did not execute the instructions. In addition, the fact that I typed the minute and hour fields reversed; e.g. setting '43' in the hour field which really only allows values between 0-23,  probably didn't help either.

This was simply fixed with the following instructions in the root users cron table:


```
[root@macg4a1103 ~]# crontab -l
43 9 * * * /usr/sbin/portsnap cron
```
And now the `portsnap` tool should fetch snapshots of the FreeBSD ports tree each morning. Thanks to everyone on this board who responded, it was all valued feedback.


----------



## ShelLuser (Mar 1, 2014)

*Re: Need gc-7.2e.tar.gz in distfiles (to build git from port*



			
				williamverna said:
			
		

> Am I suppose to be doing something else in addition to portsnap(8) to update my local ports tree?


Perhaps I'm stating the obvious here but this cannot be mentioned enough in my opinion: always remember to keep an eye out for /usr/ports/UPDATING. Not following the directions in there can lead to totally unwanted behaviour or even worse.

Seems the new package manager makes this quite easy (to a certain extend anyway) with the `pkg updating` command.


----------

