I am cross-compiling openrc for armv7a, openrc-0.9.9* build fail because of following issue
# armv7a-hardfloat-linux-gnueabi-gcc -O2 -pipe -Wl,-O2 -Wl,--as-needed -std=c99 -Wall -Wextra -Wimplicit -Wshadow -Wformat=2 -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute -Wnested-externs -Winline -Wwrite-strings -Wcast-align -Wcast-qual -Wpointer-arith -Wdeclaration-after-statement -Wsequence-point -L../librc -L../libeinfo -Wl,-rpath=/lib -o rc checkpath.o fstabinfo.o mountinfo.o start-stop-daemon.o rc-applets.o rc-depend.o rc-logger.o rc-misc.o rc-plugin.o rc-service.o rc-status.o rc-update.o runscript.o rc.o swclock.o -lutil -lrc -leinfo -Wl,-Bdynamic -ldl
rc.o: In function `main':
rc.c:(.text.startup+0x898): undefined reference to `rc_proc_getent'
rc.c:(.text.startup+0xaf4): undefined reference to `rc_proc_getent'
rc.c:(.text.startup+0xeb4): undefined reference to `rc_proc_getent'
rc.c:(.text.startup+0x1260): undefined reference to `rc_proc_getent'
collect2: ld returned 1 exit status
# armv7a-hardfloat-linux-gnueabi-objdump -T ./src/librc/librc.so.1 | grep rc_proc_getent
00007954 g DF .text 000001c0 RC_1.0 rc_proc_getent
# armv7a-hardfloat-linux-gnueabi-gcc --version
armv7a-hardfloat-linux-gnueabi-gcc (Gentoo 4.6.2 p1.4, pie-0.5.0) 4.6.2
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Version prior 0.9.9* have no this kind of build issue.
Can you please try 0.9.9.3 and 9999?
Also, can you attach the full build.log please?
I don't see the librc-misc.o/librc there
I am closing this due to no response from the reporter. If it is still
an issue, please feel free to reopen.
I had this problem too with version 0.11.8, compiling natively on x86. The problem is that rc links to the installed version of librc. If the installed version is old enough to lack the symbol 'rc_proc_getent' it will fail and cause this error. Perhaps it is avoided by first installing some intermediate version (since it doesn't happen everywhere apparently). I just deleted /lib/librc.so and /usr/lib/librc.so and it worked. Of course the right solution would be to make sure openrc links to it's own version of librc, instead of the installed one.
Please do not add arch teams; they do not fix issues like this.