# Error upgrading port



## juanjico (Sep 29, 2010)

Hi!

I have a strange error upgrading a port. Port is graphics/png.

System was recently upgraded to 7.3-RELEASE from 7.2, and doing a normal portupgrade, got this error:


```
cc -fpic -DPIC -O2 -fno-strict-aliasing -pipe  -I.  -c pngmem.c -o pngmem.So
cc -O2 -fno-strict-aliasing -pipe  -I.  -c pngerror.c
cc -fpic -DPIC -O2 -fno-strict-aliasing -pipe  -I.  -c pngerror.c -o pngerror.So
cc -O2 -fno-strict-aliasing -pipe  -I.  -c pngpread.c
cc -fpic -DPIC -O2 -fno-strict-aliasing -pipe  -I.  -c pngpread.c -o pngpread.So
gzip -cn libpng.3 > libpng.3.gz
gzip -cn libpngpf.3 > libpngpf.3.gz
gzip -cn png.5 > png.5.gz
cc -O2 -fno-strict-aliasing -pipe  -I.  -c pngtest.c
building static png library
ranlib libpng.a
building shared library libpng.so.6
cc -O2 -fno-strict-aliasing -pipe  -I.  -L. -static -o pngtest pngtest.o -lpng -lz -lm
[B]/usr/bin/ld: crtbeginT.o: No such file: No such file or directory[/B]
*** Error code 1
1 error
*** Error code 1
```

I don't understand the error. The file is not in my system. I have succesfully upgraded a lot of other ports, but this got this error.

Any idea ?

Thanks !!!


----------



## wblock@ (Sep 29, 2010)

If your ports were last updated before 20100330, see that entry in /usr/ports/UPDATING.  And all the other entries since then.


----------



## juanjico (Sep 30, 2010)

wblock said:
			
		

> If your ports were last updated before 20100330, see that entry in /usr/ports/UPDATING.  And all the other entries since then.



I update all ports tree every night, so it's up to date.

I've read UPDATING and only found an entry regarding png, but the 

`# portupgrade -fr graphics/png`

was already done, and is where I got the error:


```
/usr/bin/ld: crtbeginT.o: No such file: No such file or directory
```

So, is not a problem of the port itself, it's a problem of my system after the upgrade to 7.3.

I have crtbegin.o on /usr/lib but not crtbeginT.o.

Thanks.


----------



## Jaax (Sep 30, 2010)

Hello,

Download sources of the version 7.3 via cvs, for example, and try this :

```
$ cd /usr/src/gnu/lib/csu
$ make
$ make install
```


----------



## DutchDaemon (Sep 30, 2010)

Are both files in /usr/obj/usr/src/gnu/lib/csu and or /usr/obj/usr/src/tmp/usr/lib? That's where they should have been installed from (assuming you did a source upgrade). If only /usr/lib/crtbeginT.o is missing, you can copy it from one of these locations. If you updated the OS using freebsd-update something else must've gone wrong. Maybe try a re-run?

P.S.: do *not* open two topics about the same problem. Ever.


----------



## juanjico (Sep 30, 2010)

DutchDaemon said:
			
		

> Are both files in /usr/obj/usr/src/gnu/lib/csu and or /usr/obj/usr/src/tmp/usr/lib? That's where they should have been installed from (assuming you did a source upgrade). If only /usr/lib/crtbeginT.o is missing, you can copy it from one of these locations. If you updated the OS using freebsd-update something else must've gone wrong. Maybe try a re-run?



/usr/obj is empty. I never do a souce upgrade, always use freebsd-update.

Reruning freebsd-update got error that system is up to date. There is a way to force it ?

Currently i'm downloading via cvs all src to try the @Jaax' method.



> P.S.: do *not* open two topics about the same problem. Ever.



Sorry! Because it's not a problem related to ports, I open a new thread on (I think) correct forum. Sorry about this.


----------



## juanjico (Sep 30, 2010)

I finally update src and make the Jaax' method which  solve the problem with crtbeginT.o, but got a new error:


```
building shared library libpng.so.6
cc -O2 -fno-strict-aliasing -pipe  -I.  -L. -static -o pngtest pngtest.o -lpng -lz -lm
[B]/usr/bin/ld: cannot find -lgcc_eh[/B]
*** Error code 1
```

This is annoying.

More ideas ?

Thanks!


----------



## Jaax (Sep 30, 2010)

```
$ cd /usr/src/gnu/lib/libgcc
$ make
$ make install
```

The best way is to recompile the new system or try freebsd-update again.


----------

