Bug 6776 - systemd error: static declaration of 'execvpe' follows non-static declaration (uClibc)
Summary: systemd error: static declaration of 'execvpe' follows non-static declaration...
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-09 10:22 UTC by Jason Lewis
Modified: 2014-02-14 12:06 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
.config file that causes the error (38.01 KB, application/octet-stream)
2014-01-09 10:22 UTC, Jason Lewis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Lewis 2014-01-09 10:22:08 UTC
Created attachment 5174 [details]
.config file that causes the error

I added systemd (among other things) as one of the packages to build and then received this error after a doing a make clean; make

This is using buildroot fetched from git. version c991fabfcfb1984befc7a9ea5701f7de507b16fb

on debian unstable.

make[1]: Entering directory `/home/jason/buildroot/output/build/systemd-44'
/usr/bin/make  all-recursive
make[2]: Entering directory `/home/jason/buildroot/output/build/systemd-44'
Making all in po
make[3]: Entering directory `/home/jason/buildroot/output/build/systemd-44/po'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/jason/buildroot/output/build/systemd-44/po'
make[3]: Entering directory `/home/jason/buildroot/output/build/systemd-44'
  CC     src/libsystemd_daemon_la-sd-daemon.lo
  CC     src/libsystemd_id128_la-sd-id128.lo
  CC     src/libsystemd_basic_la-util.lo
  CC     src/libsystemd_basic_la-virt.lo
  CC     src/libsystemd_basic_la-label.lo
In file included from src/util.h:38:0,
                 from src/virt.c:26:
src/macro.h:39:19: error: static declaration of 'execvpe' follows non-static declaration
In file included from src/virt.c:24:0:
/home/jason/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/unistd.h:553:12: note: previous declaration of 'execvpe' was here
In file included from src/util.h:38:0,
                 from src/label.c:30:
src/macro.h:39:19: error: static declaration of 'execvpe' follows non-static declaration
In file included from src/label.c:24:0:
/home/jason/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/unistd.h:553:12: note: previous declaration of 'execvpe' was here
make[3]: *** [src/libsystemd_basic_la-label.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [src/libsystemd_basic_la-virt.lo] Error 1
In file included from src/util.h:38:0,
                 from src/sd-id128.c:28:
src/macro.h:39:19: error: static declaration of 'execvpe' follows non-static declaration
In file included from src/sd-id128.c:24:0:
/home/jason/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/unistd.h:553:12: note: previous declaration of 'execvpe' was here
make[3]: *** [src/libsystemd_id128_la-sd-id128.lo] Error 1
In file included from src/util.c:60:0:
src/macro.h:39:19: error: static declaration of 'execvpe' follows non-static declaration
In file included from src/util.c:24:0:
/home/jason/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/unistd.h:553:12: note: previous declaration of 'execvpe' was here
src/util.c: In function 'acquire_terminal':
src/util.c:2816:29: warning: cast increases required alignment of target type [-Wcast-align]
src/util.c:2829:37: warning: cast increases required alignment of target type [-Wcast-align]
src/util.c: In function 'rename_process':
src/util.c:3311:17: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [enabled by default]
In file included from src/util.c:23:0:
/home/jason/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/string.h:87:14: note: expected 'char * restrict' but argument is of type 'const char *'
make[3]: *** [src/libsystemd_basic_la-util.lo] Error 1
make[3]: Leaving directory `/home/jason/buildroot/output/build/systemd-44'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jason/buildroot/output/build/systemd-44'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jason/buildroot/output/build/systemd-44'
make: *** [/home/jason/buildroot/output/build/systemd-44/.stamp_built] Error 2
jason@vm:~/buildroot$
Comment 1 Thomas Petazzoni 2014-02-13 09:11:08 UTC
This bug can be marked as fixed once http://lists.busybox.net/pipermail/buildroot/2014-February/089228.html is merged.
Comment 2 Thomas De Schampheleire 2014-02-13 13:56:38 UTC
In the upcoming systemd patches by Eric Le Bihan, systemd is no longer available for uClibc, following an upstream viewpoint.

So, when these patches are merged, this bug can be closed.
Comment 3 Thomas De Schampheleire 2014-02-13 15:12:53 UTC
(In reply to comment #2)
> In the upcoming systemd patches by Eric Le Bihan, systemd is no longer
> available for uClibc, following an upstream viewpoint.
> 
> So, when these patches are merged, this bug can be closed.

Nevermind: this apparently was already overthought by Thomas Petazzoni. The reasoning is to apply his patch in 2014.02, still, knowing that Eric's patches will be in 2014.05 only.
Comment 4 Thomas De Schampheleire 2014-02-14 12:06:36 UTC
The patch referred to in comment #1 has been merged:
http://git.buildroot.org/buildroot/commit/?id=55ad3cfd3f9809f4a1f0210fe7c7110d147c54f6

This should fix the problem.