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

FS#1796 - e2fsprogs does not compile against glibc #6807

Closed
openwrt-bot opened this issue Aug 19, 2018 · 0 comments
Closed

FS#1796 - e2fsprogs does not compile against glibc #6807

openwrt-bot opened this issue Aug 19, 2018 · 0 comments
Labels

Comments

@openwrt-bot
Copy link

openwrt-bot commented Aug 19, 2018

MikePetullo:

The e2fsprogs package fails to build when I configure the OpenWrt build process to produce an image for x86/x86_64 using glibc. I am using OpenWrt master as of commit d1ea8ac.

From what I can tell, a number of the programs in e2fsprogs need to link against -lpthread when using glibc. However, several Makefiles (for example, e2fsck/Makefile) contain the following:

    LIBCOM_ERR = $(LIB)/libcom_err.so # -lpthread

It looks like the '#' character is a result of the definition of @PRIVATE_LIBS_CMT@ which autotools uses to transform MCONFIG.in into MCONFIG. This, in turn, seems to follow from the use of --enable-elf-shlibs in the OpenWrt package definition.

Here is the tail end of a failed build:

LD e2fsck

e2fsck.h:598:13: warning: type of 'fatal_error' does not match original declaration [-Wlto-type-mismatch]
extern void fatal_error(e2fsck_t ctx, const char * fmt_string);
^
util.c:53:6: note: 'fatal_error' was previously declared here
void fatal_error(e2fsck_t ctx, const char msg)
^
util.c:53:6: note: code may be misoptimized unless -fno-strict-aliasing is used
jfs_user.h:208:17: warning: type of 'e2fsck_global_ctx' does not match original declaration [-Wlto-type-mismatch]
extern e2fsck_t e2fsck_global_ctx; /
Try your very best not to use this! */
^
e2fsck.h:221:31: note: type 'struct e2fsck_struct *' should match type 'struct e2fsck_struct *'
typedef struct e2fsck_struct e2fsck_t;
^
unix.c:68:10: note: 'e2fsck_global_ctx' was previously declared here
e2fsck_t e2fsck_global_ctx; /
Try your very best not to use this! */
^
unix.c:68:10: note: code may be misoptimized unless -fno-strict-aliasing is used
../lib/libcom_err.so: undefined reference to sem_post' ../lib/libcom_err.so: undefined reference to sem_wait'
../lib/libcom_err.so: undefined reference to sem_init' ../lib/libcom_err.so: undefined reference to sem_destroy'
collect2: error: ld returned 1 exit status

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

No branches or pull requests

1 participant