Can't compile some ports after upgrade x86->amd64

Not open for further replies.
Hello, All!
Usually, I try to use google. But this time google didn't help me. About year ago i upgrade system (10.1) x86->amd64. While rebuilding all ports I found out that some ports didn't compile. Due lack of time I used
pkg upgrade problem_port.
It was not a good idea (I never set X11 option while compiling, etc...).
During last year problem was not resolved, so I ask Community to help me.

Typical error of all these ports ( error: required file './' not found,autoreconf-2.69: automake failed with exit status: 1):
===>  Configuring for libuv-1.9.1
echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [ serial-tests])"  > /usr/ports/devel/libuv/work/libuv-v1.9.1/m4/libuv-extra-automake-flags.m4 installing './ar-lib' installing './compile' installing './config.guess' installing './config.sub' installing './install-sh' error: required file './' not found installing './missing' installing './depcomp'
autoreconf-2.69: automake failed with exit status: 1
*** Error code 1

# cat /etc/make.conf
#DOC_LANG=ru_RU.KOI8-R en_US.ISO8859-1
line "ldconfig32_path=..." was removed from rc.conf for ages ago.
Any ideas?
With best wishes, Yura AKA doorsfan
About year ago i upgrade system (10.1) x86->amd64
How did you do this? Did you re-install from scratch? Doing this "in-place" is completely unsupported and is likely the cause of your problems.
If you are dedicated to fixing that, supported or not (YYMV etc), at the very least, I would recompile all of the autotools, libtool, m4 etc. All of what is used for configuring a port. Some of it is probably misconfigured for your current architecture.
How did you do this?
Using popular article with 1-time boot from /swap partition

... I would recompile all of the autotools, libtool, m4 etc.

Thank you for answer. I have done: make deinstall config install clean:
autoconf-2.69_1                Automatically configure source code on many Un*x platforms
autoconf-wrapper-20131203      Wrapper script for GNU autoconf
automake-1.15_1                GNU Standards-compliant Makefile generator
automake-wrapper-20131203      Wrapper script for GNU automake

So cd /usr/ports/devel/libuv ; make clean && make with the same error.
Last edited by a moderator:
And another error:
===>  Building for jbig2dec-0.13
/usr/bin/make  all-am
/bin/sh ./libtool  --tag=CC    --mode=compile cc -DHAVE_CONFIG_H  -I.      -O2 -pipe  -fstack-protector -fno-strict-aliasing -Wall -I/usr/local/include  -MT jbig2.lo -MD -MP -MF .deps/jbig2.Tpo -c -o jbig2.lo jbig2.c
libtool: Version mismatch error.  This is libtool 2.4.2 Debian-2.4.2-1.11, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2 Debian-2.4.2-1.11
libtool: and run autoconf again.
*** Error code 63
make[3]: stopped in /usr/ports/graphics/jbig2dec/work/jbig2dec-0.13
Last edited by a moderator:
As you can see from above, something is still not really on the same page currently, you need to dig deeper into what is (was) used to configure ports (e.g. pkgconf).
I would just do # pkg delete -a and start over from scratch. Doing that will leave your configuration files intact so all you have to do is to get the proper amd64 versions of the currently installed ports back in place.
The procedure for rebuilding all ports is shown at the end of the ports-mgmt/portmaster man page. Which is, unfortunately, not online, just in the current version of that port.

doorsfan, if you any have pieces of i386 ports still installed, they can poison the building of new ports.
# make -C /usr/ports/ports-mgmt/portmaster patch
# man /usr/ports/ports-mgmt/portmaster/work/portmaster-3.17.9/files/portmaster.8 | less '+/complete reinstallation'
It's a clean build, begun by deleting all installed ports. Posting the equivalent procedure for other ports management tools would be helpful.
wblock: this is not what "clean" means.
Clean refers to the build of each and every port being built, not the state of the system before building starts.
By definition, portmaster is not clean. It can't ever be clean, it can never be the equivalent of poudriere.
wblock: this is not what "clean" means.
Clean refers to the build of each and every port being built, not the state of the system before building starts.
Each port that the user had installed is rebuilt from scratch, in dependency order. But this becomes increasingly less relevant to this thread. Please start a new thread with the equivalent "rebuild-everything" procedures for other port management programs.
The relevancy is the recommendation to use portmaster and not even mention the correct tools.

I think of this topic like smoking. Smokers aren't going to change even when faced with good information that they shouldn't be smoking. They're going to keep doing it until something really bad happens. Smokers are basically a lost cause, but that doesn't mean we should get new people hooked on smoking. They should be encouraged to have better, healthier habits. portmaster is analogous to cigarettes here. Maybe it's too late for wblock, but I firmly believe recommending portmaster to new people is not helping them. (Not to mention the method about will also dump all the unnecessary fetch, extract, patch and build dependencies on the system too.)
Thanks to all. Rebuild in place do not works,
/usr/local/lib/ unsupported file layout
/usr/local/lib/ unsupported file layout
config.status: error: could not create config.h
gmake[3]: *** [Makefile:46: bind1] Error 1
gmake[3]: Leaving directory '/usr/ports/net/isc-dhcp43-server/work/dhcp-4.3.4/bind'
gmake[2]: *** [Makefile:437: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/ports/net/isc-dhcp43-server/work/dhcp-4.3.4'
*** Error code 1
so problem shelved till long holidays (server has many roles, can't stop for a full day) :(
Will follow wblock@ advice (cleaning /usr/local, /var/db/packages)
You are great community, I am very much obliged to all!!
@marino ports-mgmt/portmaster is still maintained as a port and is still recommended along the ports-mgmt/portupgrade in Handbook. It grew around as a natural extension of native port system. The fact that you can have more modern approach (system binary upgrades by freebsd-update speaking of base, or package builders instead of in place source port upgrade), does not invalidate the traditional approach. When it does, it will be a sad day for many. e.g. I'm still unsure if ports-mgmt/synth can replace ports-mgmt/portmaster here, nor if I really want it to try it.
ports-mgmt/portmaster is no longer recommended. The wording was changed to "small utility" as a compromise to removing the entry completely. I don't believe ports-mgmt/portupgrade is recommended either but that would need to be verified.

You will not find the port manager team member recommending these ports. If anything, you will find them recommending *against* them. They have a technical basis for this, not a sentimental one.
I'm not pushing synth. I'm pushing either poudriere OR synth. portmaster is inferior, both of those ports do well more than "replace" it. Do what you want (obviously a "smoker"). I am just emphatically requesting not to recommend that to new people, at least not without mentioning the other options first.
What's going on here .... I sometimes enjoy a smoke, and I found poudriere the best tool for my personal needs -- so what?
It's nice to have tools around that allow for isolated, reproducible package builds, but not everyone needs this. Your point was to give the hint -- well, you did. I just guess the OP, obviously having a strange i386/amd64 mix on his system, might have more pressing issues than clean build environments for every single package ;)
Actual instructions for rebuilding and reinstalling all ports without portmaster would be appropriate in this thread. Ideological arguments belong in a separate thread, as was requested earlier.
Not open for further replies.