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

openwrt :: option ENABLE_CHILLIREDIR error about USING_IPC_UNIX not set #456

Open
keulu opened this issue Oct 9, 2018 · 2 comments
Open

Comments

@keulu
Copy link

keulu commented Oct 9, 2018

well well well

after i patched my files with that patch : #200

chilli failed to compile and say error about USING_IPC_UNIX, so i checked all i can found on openwrt (ipcrm and ipcs busybox (nothing work))

if I hard write it to code in config.h (L 507 after define USING_IPC_MSG 1 just define USING_IPC_UNIX 1), new error : struct redir_t has no member redir_t->msgid

in redir.h L.235:

#if defined(USING_IPC_UNIX)
  int msgfd
#else
  int msgid
#endif

if i switch them, error about msgfd, if i don't touch anything, error about msgid.

so i remove the defined check and declare msgfd and msgid as a part of struct redir_t

coova compile. alleluia

ooooopppps.... no portal anymore.

Tue Oct 9 16:40:50 2018 local6.err coova-chilli[2494]: chilli.c: 7656: 22 (Invalid argument) msgrcv() failed!

so... my changes broke coova. or ipc is missing.

i don't know what to install for using uamregex option.
i don't know if this option is working.
what is the equivalent of IPC on openwrt ?
how coova check this var ?
what's the next steps for doing this option work ?

@keulu keulu changed the title openwrt :: option ENABLE_CHILLIREDIR error about for USING_IPC_UNIX not set openwrt :: option ENABLE_CHILLIREDIR error about USING_IPC_UNIX not set Oct 9, 2018
@xOneca
Copy link
Contributor

xOneca commented Oct 9, 2018

USING_IPC_MSG should only be defined if you configure with --with-ipc-msg. And if that is not defined, USING_IPC_UNIX will be defined in src/system.h.

What is the exact error the compiler throws?

@keulu
Copy link
Author

keulu commented Oct 10, 2018

don't touch anything :

make package/coova-chilli/{clean,compile}
 make[1] package/coova-chilli/clean
 make[2] -C feeds/packages/net/coova-chilli clean
 make[1] package/coova-chilli/compile
 make[2] -C package/libs/toolchain compile
 make[2] -C package/firmware/linux-firmware compile
 make[2] -C package/firmware/prism54-firmware compile
 make[2] -C package/kernel/linux compile
 make[2] -C package/libs/libjson-c compile
 make[2] -C package/network/utils/iptables compile
 make[2] -C package/libs/openssl compile
 make[2] -C feeds/packages/net/coova-chilli compile
make -r package/coova-chilli/compile: build failed. Please re-run make with -j1 V=s to see what's going on
/home/keulu/Work/iwibox/hardware/linksys_wrt1200ac_17.01.2/include/toplevel.mk:198 : la recette pour la cible « package/coova-chilli/compile » a échouée
make: *** [package/coova-chilli/compile] Erreur 1

Error : 

libtool: compile:  mips-openwrt-linux-musl-gcc -DHAVE_CONFIG_H -I. -I.. -I/var/firmware/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/usr/include -I/var/firmware/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/include -I/var/firmware/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/usr/include -I/var/firmware/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/include/fortify -I/var/firmware/openwrt/staging_dir/toolchain-mips_34kc_gcc-5.2.0_musl-1.1.11/include -D_GNU_SOURCE -Wall -Werror -fno-builtin -fno-strict-aliasing -O2 -fomit-frame-pointer -funroll-loops -pipe -I../bstring -DDEFCHILLICONF=\"/etc/chilli.conf\" -DDEFPIDFILE=\"/var/run/chilli.pid\" -DDEFSTATEDIR=\"/var/run\" -DSBINDIR=\"/usr/sbin\" -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -fpic -MT options.lo -MD -MP -MF .deps/options.Tpo -c options.c  -fPIC -DPIC -o .libs/options.o
options.c: In function 'options_fromfd':
options.c:381:48: error: 'regex_t {aka struct re_pattern_buffer}' has no member named 'allocated'
     if (_options.regex_pass_throughs[i].re_host.allocated)
                                                ^
options.c:383:48: error: 'regex_t {aka struct re_pattern_buffer}' has no member named 'allocated'
     if (_options.regex_pass_throughs[i].re_path.allocated)
                                                ^
options.c:385:46: error: 'regex_t {aka struct re_pattern_buffer}' has no member named 'allocated'
     if (_options.regex_pass_throughs[i].re_qs.allocated)

Apply the patch

make V=s package/coova-chilli/compile
[...]
main-redir.c:29:2: error: #error This requires the UNIX IPC method
 #error This requires the UNIX IPC method
  ^
main-redir.c: In function 'sock_redir_getstate':
main-redir.c:170:53: error: 'struct options_t' has no member named 'unixipc'
   statedir_file(filedest, sizeof(filedest), _options.unixipc, "chilli.ipc");

found the exact command from config.log

  $ ./configure --target=arm-openwrt-linux --host=arm-openwrt-linux --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --enable-chilliquery --enable-leakybucket --enable-uamanyip --enable-uamuiport --enable-accounting-onoff --enable-tap --enable-tcpreset --enable-radproxy --enable-json --enable-debug --enable-dhcpradius --enable-wpad --enable-gardenaccounting --disable-gardenext --disable-inspect --enable-coa --disable-dhcpopt --disable-debug2 --disable-sessgarden --disable-sessproxy --disable-sessdhcp --disable-sessdns --disable-chillixml --disable-proxyvsa --enable-dnslog --disable-ipwhitelist --enable-uamdomainfile --disable-redirdnsreq --enable-ieee8021q --enable-largelimits --with-openssl --without-matrixssl --without-cyassl --without-matrixssl-cli --without-nfqueue --without-avl --with-nfcoova --with-sfhash --without-lookup3 --without-patricia --disable-authedallowed --with-ipv6 --without-pcap --without-curl --without-mmap --without-poll --with-ipc-msg --enable-binstatusfile --enable-statusfile --enable-chilliproxy --enable-multiroute --enable-multilan --disable-chilliradsec --enable-chilliredir --disable-chilliscript --enable-cluster --enable-sessionstate --enable-sessionid --enable-apsessionid --enable-coovachilliconfig --disable-mdns --disable-netbios --enable-ieee8023 --disable-pppoe --disable-l2tpppp --disable-eapol --disable-miniportal --disable-miniconfig --enable-ewtapi --enable-libjson --disable-ssdp --enable-layer3 --disable-modules --disable-extadmvsa --disable-redirinject --disable-netnat --enable-useragent --enable-acceptlanguage --disable-location --disable-forcedns

as you can see in this command, i have : --with-ipc-msg & --enable-chilliredir

and got a same error with : --without-ipc-msg & --enable-chilliredir

in src/options.h L.406

#ifdef USING_IPC_UNIX
  char *unixipc;
#endif

so unixipc is well defined but only if USING_IPC_UNIX definition is set. So i think that definition is never set correctly.

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