Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#17877 closed defect (wontfix)

readline + lvm2: 'CPPFunction' undeclared

Reported by: Jenda Owned by: developers
Priority: normal Milestone:
Component: packages Version: Trunk
Keywords: Cc:


compilation of current git version 2388b5ac08fc362edea865ade45e5313e00c71bf with CONFIG_PACKAGE_lvm2=y fails.

make[5]: Entering directory '/home/jenda/tmp/openwrt/build_dir/target-mips_34kc_uClibc-'
mips-openwrt-linux-uclibc-gcc -c -I. -I../include -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -Wredundant-decls -Wpointer-arith -Wuninitialized -Wmissing-include-dirs -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wmissing-format-attribute -Wjump-misses-init -Wclobbered -Wempty-body -Wignored-qualifiers -Wmissing-parameter-type -Wold-style-declaration -Woverride-init -Wtype-limits -Wsync-nand -Wlogical-op -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -I/home/jenda/tmp/openwrt/staging_dir/target-mips_34kc_uClibc- -I/home/jenda/tmp/openwrt/staging_dir/target-mips_34kc_uClibc- -I/home/jenda/tmp/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc- -I/home/jenda/tmp/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc- -fpic -fPIE -DPIE lvm.c -o lvm.o
lvm.c: In function 'lvm_shell':
lvm.c:188:38: error: 'CPPFunction' undeclared (first use in this function)
  rl_attempted_completion_function = (CPPFunction *) _completion;

grep -r on CPPFunction reveals build_dir/target-mips_34kc_uClibc- reading

k.  The Function, CPFunction, CPPFunction, and VFunction typedefs have been
    replaced with a set of specific prototyped typedefs, though they are
    still in the readline header files for backwards compatibility.
The typedef is in build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-, however I don't know how to correctly include it ("#include <readline/rltypedefs.h>" includes different one from staging_dir). Just pasting "typedef char **CPPFunction ();" into lvm.c seems to solve the problem :-)

I'm compiling for TP-Link TL-WDR3500. I can post .config and other info if that matters.

Attachments (1)

100-lvm_fix.patch (1.4 KB) - added by anonymous 3 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 Changed 3 years ago by cyrus

  • Resolution set to wontfix
  • Status changed from new to closed

LVM2 is currently not in any maintained feed. Someone needs to step up and volunteer as maintainer. I suppose just updating it to the latest version would fix it.

Changed 3 years ago by anonymous

comment:2 Changed 3 years ago by anonymous

The above patch worked for me

comment:3 Changed 3 years ago by daniel@…

I added the lvm2 package including the patch to the packages feed and as I'm also using it will do my best to maintain the package.

Add Comment

Modify Ticket

as closed .
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.