Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ports from portsnap wont work ...

72 views
Skip to first unread message

Nenhum_de_Nos

unread,
Jun 3, 2014, 10:44:22 PM6/3/14
to
hail,

two of my machines got this:

phoenix# make
Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 1750: Malformed conditional (defined(USE_LDCONFIG) &&
${USE_LDCONFIG:tl} == "yes")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 953: Malformed conditional (!empty(_PERL_CPAN_ID) &&
${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2892: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2892: Unexpected end of file in for loop.

"/usr/ports/Mk/bsd.port.mk", line 6678: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6678: Unexpected end of file in for loop.

make: fatal errors encountered -- cannot continue


any port gives me this.

How can I rollback to a working ports before I can update to new stuff ?

thanks,

matheus



--
We will call you Cygnus,
The God of balance you shall be

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

http://en.wikipedia.org/wiki/Posting_style
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stabl...@freebsd.org"

Matthias Andree

unread,
Jun 4, 2014, 1:22:31 AM6/4/14
to
Am 04.06.2014 04:44, schrieb Nenhum_de_Nos:
> hail,
>
> two of my machines got this:

[long list of substitution failures from the 'make' command]

What operating systems runs on those machines? I suspect it's a version
that is no longer supported, see <http://www.freebsd.org/security/#sup>

Chances are you need to upgrade the system to a supported version first.

Stefan Esser

unread,
Jun 4, 2014, 2:46:58 AM6/4/14
to
Am 04.06.2014 07:22, schrieb Matthias Andree:
> Am 04.06.2014 04:44, schrieb Nenhum_de_Nos:
>> hail,
>>
>> two of my machines got this:
>
> [long list of substitution failures from the 'make' command]
>
> What operating systems runs on those machines? I suspect it's a version
> that is no longer supported, see <http://www.freebsd.org/security/#sup>
>
> Chances are you need to upgrade the system to a supported version first.

Or, if you cannot upgrade the system right now, install bmake (the make
program used in supported releases) in addition to fmake (the "old" make
used in no longer supported FreeBSD versions). You'll find bmake as a
package or you might still be able to build the devel/bmake port.

You should keep the old make program around as "fmake" and can install
the new one as "make" for the ports system.

This does not make your system supported, if it wasn't before, but you
could gain some time to prepare the upgrade to a supported system ...

Regards, STefan

Jamie Landeg-Jones

unread,
Jun 4, 2014, 4:16:02 AM6/4/14
to
"Nenhum_de_Nos" <mat...@eternamente.info> wrote:

> two of my machines got this:
>
> phoenix# make
> Unknown modifier 't'
>
> Unknown modifier 't'

Hi. From: http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk :

| Revision 352986 - (view) (download) (annotate) - [select for diffs]
| Modified Mon May 5 09:45:36 2014 UTC (4 weeks, 1 day ago) by bapt
| File length: 226358 byte(s)
|
| Convert all :U to :tu and :L to :tl
|
| Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
| replacement for :U and :L (which has been marked as deprecated)
|
| bmake which is the default on FreeBSD 10+ only support by default
| :tu/:tl a hack has been added at the time to support :U and :L to ease
| migration. This hack is now not necessary anymore
|
| Note that this makes the ports tree incompatible with make(1) from
| FreeBSD 8.3 or earlier
|
| With hat: portmgr

Ronald Klop

unread,
Jun 4, 2014, 6:55:32 AM6/4/14
to
On Wed, 04 Jun 2014 10:16:02 +0200, Jamie Landeg-Jones
<ja...@dyslexicfish.net> wrote:

> "Nenhum_de_Nos" <mat...@eternamente.info> wrote:
>
>> two of my machines got this:
>>
>> phoenix# make
>> Unknown modifier 't'
>>
>> Unknown modifier 't'
>
> Hi. From: http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk :
>
> | Revision 352986 - (view) (download) (annotate) - [select for diffs]
> | Modified Mon May 5 09:45:36 2014 UTC (4 weeks, 1 day ago) by bapt
> | File length: 226358 byte(s)
> |
> | Convert all :U to :tu and :L to :tl
> |
> | Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
> | replacement for :U and :L (which has been marked as deprecated)
> |
> | bmake which is the default on FreeBSD 10+ only support by default
> | :tu/:tl a hack has been added at the time to support :U and :L to ease
> | migration. This hack is now not necessary anymore
> |
> | Note that this makes the ports tree incompatible with make(1) from
> | FreeBSD 8.3 or earlier
> |
> | With hat: portmgr

Something like this would have been user friendly than.

if OSVERSION < 840000
echo "Unsupported FreeBSD version for ports tree."
exit 1
fi

Regards,
Ronald.

Chris Nehren

unread,
Jun 4, 2014, 9:24:34 AM6/4/14
to
On Tue, Jun 03, 2014 at 23:44:22 -0300, Nenhum_de_Nos wrote:
> hail,
>
> two of my machines got this:
>
> phoenix# make
> Unknown modifier 't'
>
> Unknown modifier 't'

What's in your make.conf and similar files? It sounds like you
put something there that's breaking things.

--
Chris Nehren

Chris Nehren

unread,
Jun 4, 2014, 9:42:18 AM6/4/14
to
Sorry, disregard. I thought I was awake enough to be useful but
evidently not.

--
Chris Nehren

Jamie Landeg-Jones

unread,
Jun 4, 2014, 7:39:02 PM6/4/14
to
"Ronald Klop" <ronald...@klop.ws> wrote:

> Something like this would have been user friendly than.
>
> if OSVERSION < 840000
> echo "Unsupported FreeBSD version for ports tree."
> exit 1
> fi

Indeed! I only know about it because I got tripped up by
this too, and it took much back scratching to finally figure
out that there wasn't a knackered port config or something
I'd broken!

Cheers, Jamie

Nenhum_de_Nos

unread,
Jun 4, 2014, 8:11:21 PM6/4/14
to

On Wed, June 4, 2014 03:46, Stefan Esser wrote:
> Am 04.06.2014 07:22, schrieb Matthias Andree:
>> Am 04.06.2014 04:44, schrieb Nenhum_de_Nos:
>>> hail,
>>>
>>> two of my machines got this:
>>
>> [long list of substitution failures from the 'make' command]
>>
>> What operating systems runs on those machines? I suspect it's a version
>> that is no longer supported, see <http://www.freebsd.org/security/#sup>
>>
>> Chances are you need to upgrade the system to a supported version first.
>
> Or, if you cannot upgrade the system right now, install bmake (the make
> program used in supported releases) in addition to fmake (the "old" make
> used in no longer supported FreeBSD versions). You'll find bmake as a
> package or you might still be able to build the devel/bmake port.
>
> You should keep the old make program around as "fmake" and can install
> the new one as "make" for the ports system.
>
> This does not make your system supported, if it wasn't before, but you
> could gain some time to prepare the upgrade to a supported system ...

no good for me :(

phoenix# ls -l *make*
-r-xr-xr-x 1 root wheel 423984 Jun 4 21:06 fmake
-r-xr-xr-x 1 root wheel 423984 Apr 25 22:06 make
-r-xr-xr-x 1 root wheel 215776 Apr 25 21:58 makeinfo
-r-xr-xr-x 1 root wheel 18584 Apr 25 22:06 makewhatis
phoenix# rm make
phoenix# ln -s /usr/local/bin/bmake make
phoenix# cd -
phoenix# make
make: "/usr/ports/textproc/libmrss/Makefile" line 23: Could not find bsd.port.mk
make: Fatal errors encountered -- cannot continue
make: stopped in /usr/ports/textproc/libmrss

did I do it right ?

thanks,

matheus

--
We will call you Cygnus,
The God of balance you shall be

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

http://en.wikipedia.org/wiki/Posting_style

Chris Nehren

unread,
Jun 4, 2014, 8:49:13 PM6/4/14
to
On Wed, Jun 04, 2014 at 21:11:21 -0300, Nenhum_de_Nos wrote:
> no good for me :(
>
> phoenix# ls -l *make*
> -r-xr-xr-x 1 root wheel 423984 Jun 4 21:06 fmake
> -r-xr-xr-x 1 root wheel 423984 Apr 25 22:06 make
> -r-xr-xr-x 1 root wheel 215776 Apr 25 21:58 makeinfo
> -r-xr-xr-x 1 root wheel 18584 Apr 25 22:06 makewhatis
> phoenix# rm make
^^^^^^^

Don't ever rm things in /usr/bin unless you know exactly what
you're doing. You removed the system's make. This make is used
to build most things on the system--including the make you just
removed. If you want to try to fix things, get a copy of the
source tree for the version of FreeBSD you're using and try to
build /usr/src/usr.bin/make with /usr/local/bin/bmake. Install
that make over /usr/bin/make, then build that make again, and
install it again.

*Then* run bmake from /usr/local/bin like you're supposed to.

Or, much simpler: install FreeBSD 10 over what you have right
now, after making good level 0 dumps of your data. Then you're
on a supported release and don't have any of the problems you're
seeing right now.

--
Chris Nehren

Stefan Esser

unread,
Jun 5, 2014, 2:53:31 AM6/5/14
to
Am 05.06.2014 02:11, schrieb Nenhum_de_Nos:
>
> On Wed, June 4, 2014 03:46, Stefan Esser wrote:
>> Am 04.06.2014 07:22, schrieb Matthias Andree:
>>> Am 04.06.2014 04:44, schrieb Nenhum_de_Nos:
>>>> hail,
>>>>
>>>> two of my machines got this:
>>>
>>> [long list of substitution failures from the 'make' command]
>>>
>>> What operating systems runs on those machines? I suspect it's a version
>>> that is no longer supported, see <http://www.freebsd.org/security/#sup>
>>>
>>> Chances are you need to upgrade the system to a supported version first.
>>
>> Or, if you cannot upgrade the system right now, install bmake (the make
>> program used in supported releases) in addition to fmake (the "old" make
>> used in no longer supported FreeBSD versions). You'll find bmake as a
>> package or you might still be able to build the devel/bmake port.
>>
>> You should keep the old make program around as "fmake" and can install
>> the new one as "make" for the ports system.
>>
>> This does not make your system supported, if it wasn't before, but you
>> could gain some time to prepare the upgrade to a supported system ...
>
> no good for me :(

Hmmm, too bad, this used to work ... :(

> phoenix# ls -l *make*
> -r-xr-xr-x 1 root wheel 423984 Jun 4 21:06 fmake
> -r-xr-xr-x 1 root wheel 423984 Apr 25 22:06 make
> -r-xr-xr-x 1 root wheel 215776 Apr 25 21:58 makeinfo
> -r-xr-xr-x 1 root wheel 18584 Apr 25 22:06 makewhatis
> phoenix# rm make
> phoenix# ln -s /usr/local/bin/bmake make
> phoenix# cd -
> phoenix# make
> make: "/usr/ports/textproc/libmrss/Makefile" line 23: Could not find bsd.port.mk
> make: Fatal errors encountered -- cannot continue
> make: stopped in /usr/ports/textproc/libmrss
>
> did I do it right ?

Yes, this should have worked. You still have the copy of the system's
make as fmake, and I guess that you'll see similar problems with that,
too.

Hmmm, I'm wondering, whether the bmake from ports does not use the
Makefile includes from /usr/share/mk by default?

You could try again with "make -I /usr/share/mk", just to see whether
make uses the bsd.port.mk that ought to be in that directory.


But there have been complex changes to the .mk files in that directory
and in /usr/ports/Mk, a few weeks ago, which aim to clean up the port
options handling.

And while you got the new files in /usr/ports/mk when you updated the
ports tree, you probably missed to corresponding changes to files in
/usr/share/mk ...

But I cannot easily tell this. You can grab bsd.port*.mk from a
supported release (e.g. 8.4) via svnweb and place these files in
/usr/share/mk. But I cannot guarantee, that this will work.


Warner Losh (i...@freebsd.org) made the changes to the .mk files, and
they are important on and useful on the path forward. And they were
performed in such a way, that all supported versions grok them. But
not using a supported version has always meant, that you are bound to
the last ports tree before support ended. Updating to a newer ports
tree may introduce new features, that have never been backported to
the unsupported release.


And in fact, feature updates are often held back and delayed because
of being incompatible (and hard to fix) in older releases - as was the
case with the change from fmake to bmake.

New releases are created for a reason: There are changes that can not
be backported into older releases without API/ABI changes or violation
of POLA. In the case of the ports system, such changes can only be
applied, when all incompatible releases have been declared EOL.


IIRC, you are on an unsupported version in the 8.x series. You should
be able to update kernel and world to 8.4 in place and on a running
system (unless it is under such high load throughout the day, that
you cannot compile on this system). You should follow the procedure
detailed in the handbook to upgrade, and of course have a backup in
case of unforeseen problems. Ports from any 8.x release will still
work without recompilation (within one release, all versions should
be upwards binary compatible, i.e. have a stale ABI).

If your system has enough RAM and CPU, you could even install a newer
release in a jail and test your ports, then copy over the kernel and
world from the jail to the base system (use "make installworld" with
an object directory that points into the compiled world in the jail
to install the already built world into the jail host without the
need for another buildworld/buildkernel).

If you are using a GENERIC kernel and an unmodified older 8.x version,
you could also use freebsd-update to go to a newer release (again,
after creating backups - on a ZFS system a snapshot might suffice if
you have an alternate boot media for the new release at hand, in case
you want to re-instantiate the snapshot as your working file-system).

Regards, STefan
0 new messages