Error upgrading port

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:

Code:
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 !!!
 
If your ports were last updated before 20100330, see that entry in /usr/ports/UPDATING. And all the other entries since then.
 
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:

Code:
/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.
 
Hello,

Download sources of the version 7.3 via cvs, for example, and try this :
Code:
$ cd /usr/src/gnu/lib/csu
$ make
$ make install
 
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.
 
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.
 
I finally update src and make the Jaax' method which solve the problem with crtbeginT.o, but got a new error:

Code:
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!
 
Code:
$ cd /usr/src/gnu/lib/libgcc
$ make
$ make install

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