Dnia 19.07.2016 Bob Krzaczek <k...@cis.rit.edu> napisał/a:
>
> On Tue, Jul 19, 2016 at 02:45:45PM -0500, russell.t.can...@gmail.com wrote:
>> Excellent.  I have been hoping someone would come up with these
>> fixes as I do not have the technical expertise to pull them off.  I
>> am looking forward to giving it a try.  Thanks a lot.
>
> Heads up; those patches were actually submitted quite a while back;
> they got things working under FreeBSD 9 amd64 at the time.
>
> Based on other comments I've seen, you'll need to massage them further
> in order to make them happy under FreeBSD 10/11 where clang is now the
> dominant compiler.

Bob - thank you for the patches, they work almost unchanged:

https://github.com/att/ast/pull/19/commits/53e90c10859e25ddb299e411d24a8897dd315493

I have tried them on 10.3 I only needed to add one small change:

commit ee33815e68456a97e40f292948668f3b24105834
Author: Marcin Cieślak <sa...@saper.info>
Date:   Wed Jul 13 23:50:28 2016 +0000

    non-void function 'ls' should return a value

diff --git a/src/lib/libcmd/ls.c b/src/lib/libcmd/ls.c
index 50b95f4..4bed90a 100644
--- a/src/lib/libcmd/ls.c
+++ b/src/lib/libcmd/ls.c
@@ -1257,7 +1257,7 @@ ls(State_t* state, register FTSENT* ent)
        if (!VISIBLE(state, ent))
        {
                fts_set(NiL, ent, FTS_SKIP);
-               return;
+               return 0;
        }
        switch (ent->fts_info)
        {
@@ -1265,17 +1265,17 @@ ls(State_t* state, register FTSENT* ent)
                if (ent->fts_parent->fts_info == FTS_DNX)
                        break;
                error(2, "%s: not found", ent->fts_path);
-               return;
+               return 1;
        case FTS_DC:
                if (state->lsflags & LS_DIRECTORY)
                        break;
                error(2, "%s: directory causes cycle", ent->fts_path);
-               return;
+               return 1;
        case FTS_DNR:
                if (state->lsflags & LS_DIRECTORY)
                        break;
                error(2, "%s: cannot read directory", ent->fts_path);
-               return 0;
+               return 1;
        case FTS_DOT:
                #if 0
                fts_set(NiL, ent, FTS_SKIP);


For the new 11, one needs to rename SF_FLAGS (those
are #defined in <sys/socket.h> now):

sed -i.orig 's|SF_FLAGS|SFIO_FLAGS|g' src/lib/libast/include/sfio*.h
sed -i.orig 's|SF_FLAGS|SFIO_FLAGS|g' src/lib/libast/sfio/*.c

After this all compiles fine.

Marcin

_______________________________________________
ast-developers mailing list
ast-developers@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to