Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New round of FreeBSD issues #186

Closed
matsimon opened this issue Jun 18, 2016 · 4 comments
Closed

New round of FreeBSD issues #186

matsimon opened this issue Jun 18, 2016 · 4 comments

Comments

@matsimon
Copy link
Contributor

matsimon commented Jun 18, 2016

Hi Vincent

Thank you for the new release, however I was giving it a try when I ran on new issues, as I mentioned previously in the bug concerning GNU vs. BSD make issues I wasn't quick enough to re-validated things.
The patch you applied in order to make OpenBSD happy for interface types fails on FreeBSD 10 as follows:

--- liblldpd_la-priv-bsd.lo ---
  CC       liblldpd_la-priv-bsd.lo
--- liblldpd_la-interfaces-bsd.lo ---
interfaces-bsd.c:473:2: warning: implicit declaration of function 'typeof' is invalid in C99 [-Wimplicit-function-declaration]
        typeof(ifmr.ifm_ulist[0]) media_list[32] = {};
        ^
interfaces-bsd.c:473:27: fatal error: expected ';' after expression
        typeof(ifmr.ifm_ulist[0]) media_list[32] = {};
                                 ^
                                 ;
1 warning and 1 error generated.
*** [liblldpd_la-interfaces-bsd.lo] Error code 1

As long as I revert this patch things work for what I can tell, on 10.3 (clang 3.4.1 in base).

With the reverted patch however FreeBSD 9.3 still fails, which wasn't the case back with lldpd 0.9.2. 9.x versions however still ship with GCC 4.2.1 (+ patches), which is quite dated, I agree.

The message I get is:

Making all in src/lib
[...]
  CC       atoms/chassis.lo
  GEN      atom-glue.c
cpp: too many input files
cpp: too many input files
*** [atom-glue.c] Error code 1
1 error
*** [all-recursive] Error code 1
1 error
*** [all] Error code 2
1 error

I only reporting this as is as of writing but will try to fiddle around a bit. I realize that I really have to work on C code which I haven't done for some time now :-\

@vincentbernat
Copy link
Member

I need to investigate for the typeof problem. For the cpp: too many input files problem, I will add a loop.

@matsimon
Copy link
Contributor Author

Thank you Vincent, sorry for bothering you with these issues. :-\

If I followed up correctly with you on Twitter you have checked on OpenBSD before releasing 0.9.4.

I might check on Dragonfly as in contrast to FreeBSD they have GCC but the newer verions in base and share more commonalities since they forked from FreeBSD years ago. I have done some test builds to verify that the port should work on DFly too since their "dports" usually either is using the FreeBSD ports tree or have minor deltas on it.

vincentbernat added a commit that referenced this issue Jun 19, 2016
With old versions, cpp doesn't accept several files as input. See #186.
@vincentbernat
Copy link
Member

The two last commits should fix the two issues. Tell me if you spot any other difficulties.

@matsimon
Copy link
Contributor Author

Vincent: Thank you for yor patience, help and bugfixes so far!

I have have tested the git master and the updated ports file on:

  • FreeBSD 10.3 (clang 3.4), 9.3 (GCC 4.2)
  • Dragonfly BSD 4.4 (GCC 5.2)

The FreeBSD/Dragonfly port backports basically your 2 last commits, however patches Makefile.in in the release tarball. Poudriere, our package building suite passed "testport" on 9.3/10.3 i386/amd64 afterwards. rejoice!

Only git master tested successfully:

  • OpenBSD 5.8 (GCC 4.2)
  • NetBSD 7.0.1 (GCC 4.8)

I'm a bit puzzled about why the issues with 0.9.4 I saw on FreeBSD 9.3 didn't come up with OpenBSD's GCC 4.2 too. Maybe they have local modifications that adds the support for multiple files as input missing in original GCC 4.2 and FreeBSD's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants