Kernel version : 3.13.0-32-generic
When i am building the module getting the error
make -C /lib/modules/3.13.0-32-generic/build
M=/home/wipro/Downloads/proc modules make[1]: Entering directory
/usr/src/linux-headers-3.13.0-32-generic' CC [M]
/home/wipro/Downloads/proc/proc.o /home/wipro/Downloads/proc/proc.c:
In function ‘proc_win_init’: /home/wipro/Downloads/proc/proc.c:21:5:
error: implicit declaration of function ‘create_proc_entry’
[-Werror=implicit-function-declaration]
if ((file = create_proc_entry("rel_time", 0666, parent)) == NULL) {
^ /home/wipro/Downloads/proc/proc.c:21:15: warning: assignment makes pointer from integer without a cast [enabled by default]
if ((file = create_proc_entry("rel_time", 0666, parent)) == NULL) {
^ /home/wipro/Downloads/proc/proc.c:25:9: error: dereferencing pointer to incomplete type
file->read_proc = time_read;
^ /home/wipro/Downloads/proc/proc.c:26:9: error: dereferencing pointer to incomplete type
file->write_proc = time_write;
^ /home/wipro/Downloads/proc/proc.c:32:9: error: dereferencing pointer to incomplete type
link->uid = 0;
^ /home/wipro/Downloads/proc/proc.c:33:9: error: dereferencing pointer to incomplete type
link->gid = 100;
^ cc1: some warnings being treated as errors make[2]: *** [/home/wipro/Downloads/proc/proc.o] Error 1 make[1]: ***
[_module_/home/wipro/Downloads/proc] Error 2 make[1]: Leaving
directory/usr/src/linux-headers-3.13.0-32-generic' make: ***
[default] Error 2
How to remove the error
create_proc_entry has been removed since 3.10 kernel version. Alternative is to use proc_create. See that question for more info.
Related
I compile gnu-tool-chain on my Mac, and get some error message
I'm in the riscv-gnu-toolchain root directory, and
./configure --prefix=/usr/local/opt/riscv-gnu-toolchain
make
I get
...
/Volumes/CaseSensitive/riscv-gnu-toolchain/riscv-gdb/readline/rltty.c:83:7: error:
implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
if (ioctl (tty, TIOCGWINSZ, &w) == 0)
^
/Volumes/CaseSensitive/riscv-gnu-toolchain/riscv-gdb/readline/rltty.c:720:3: error:
implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
ioctl (fildes, TIOCSTART, 0);
^
/Volumes/CaseSensitive/riscv-gnu-toolchain/riscv-gdb/readline/rltty.c:759:3: error:
implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
ioctl (fildes, TIOCSTOP, 0);
^
3 errors generated.
make[3]: *** [rltty.o] Error 1
make[2]: *** [all-readline] Error 2
make[1]: *** [all] Error 2
make: *** [stamps/build-gdb-newlib] Error 2
My MacOS version is 10.15.7.
Should I add some headers file in somewhere?
I cannot build RTL8192EU driver on Kali Linux 5.2 for TP-Link WN821N. After running make in cd rtl8192eu-linux-driver (downloaded from https://github.com/jeremyb31/rtl8192eu-linux-driver):
# sudo apt update
Hit:1 http://kali.download/kali kali-rolling InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
511 packages can be upgraded. Run 'apt list --upgradable' to see them.
# git clone https://github.com/jeremyb31/rtl8192eu-linux-driver
fatal: destination path 'rtl8192eu-linux-driver' already exists and is not an empty directory.
# cd rtl8192eu-linux-driver
# make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.2.0-kali2-amd64/build M=/root/rtl8192eu-linux-driver modules
make[1]: Entering directory '/usr/src/linux-headers-5.2.0-kali2-amd64'
CC [M] /root/rtl8192eu-linux-driver/os_dep/osdep_service.o
In file included from /root/rtl8192eu-linux-driver/include/drv_types.h:35,
from /root/rtl8192eu-linux-driver/os_dep/osdep_service.c:24:
/root/rtl8192eu-linux-driver/include/wifi.h:1019: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
#define IEEE80211_MAX_AMPDU_BUF 0x40
In file included from /root/rtl8192eu-linux-driver/include/osdep_service_linux.h:84,
from /root/rtl8192eu-linux-driver/include/osdep_service.h:45,
from /root/rtl8192eu-linux-driver/include/drv_types.h:32,
from /root/rtl8192eu-linux-driver/os_dep/osdep_service.c:24:
/usr/src/linux-headers-5.2.0-kali2-common/include/linux/ieee80211.h:1441: note: this is the location of the previous definition
#define IEEE80211_MAX_AMPDU_BUF 0x100
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c: In function ‘isFileReadable’:
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c:1970:28: error: implicit declaration of function ‘get_ds’; did you mean ‘get_da’? [-Werror=implicit-function-declaration]
oldfs = get_fs(); set_fs(get_ds());
^~~~~~
get_da
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c:1970:28: error: incompatible type for argument 1 of ‘set_fs’
oldfs = get_fs(); set_fs(get_ds());
^~~~~~~~
In file included from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uaccess.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/crypto.h:21,
from /usr/src/linux-headers-5.2.0-kali2-common/include/crypto/hash.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uio.h:10,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/socket.h:8,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/compat.h:15,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/ethtool.h:17,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/netdevice.h:37,
from /root/rtl8192eu-linux-driver/include/osdep_service_linux.h:35,
from /root/rtl8192eu-linux-driver/include/osdep_service.h:45,
from /root/rtl8192eu-linux-driver/include/drv_types.h:32,
from /root/rtl8192eu-linux-driver/os_dep/osdep_service.c:24:
/usr/src/linux-headers-5.2.0-kali2-common/arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct <anonymous>’} but argument is of type ‘int’
static inline void set_fs(mm_segment_t fs)
~~~~~~~~~~~~~^~
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c: In function ‘retriveFromFile’:
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c:1998:29: error: incompatible type for argument 1 of ‘set_fs’
oldfs = get_fs(); set_fs(get_ds());
^~~~~~~~
In file included from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uaccess.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/crypto.h:21,
from /usr/src/linux-headers-5.2.0-kali2-common/include/crypto/hash.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uio.h:10,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/socket.h:8,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/compat.h:15,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/ethtool.h:17,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/netdevice.h:37,
from /root/rtl8192eu-linux-driver/include/osdep_service_linux.h:35,
from /root/rtl8192eu-linux-driver/include/osdep_service.h:45,
from /root/rtl8192eu-linux-driver/include/drv_types.h:32,
from /root/rtl8192eu-linux-driver/os_dep/osdep_service.c:24:
/usr/src/linux-headers-5.2.0-kali2-common/arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct <anonymous>’} but argument is of type ‘int’
static inline void set_fs(mm_segment_t fs)
~~~~~~~~~~~~~^~
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c: In function ‘storeToFile’:
/root/rtl8192eu-linux-driver/os_dep/osdep_service.c:2032:29: error: incompatible type for argument 1 of ‘set_fs’
oldfs = get_fs(); set_fs(get_ds());
^~~~~~~~
In file included from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uaccess.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/crypto.h:21,
from /usr/src/linux-headers-5.2.0-kali2-common/include/crypto/hash.h:11,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/uio.h:10,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/socket.h:8,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/compat.h:15,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/ethtool.h:17,
from /usr/src/linux-headers-5.2.0-kali2-common/include/linux/netdevice.h:37,
from /root/rtl8192eu-linux-driver/include/osdep_service_linux.h:35,
from /root/rtl8192eu-linux-driver/include/osdep_service.h:45,
from /root/rtl8192eu-linux-driver/include/drv_types.h:32,
from /root/rtl8192eu-linux-driver/os_dep/osdep_service.c:24:
/usr/src/linux-headers-5.2.0-kali2-common/arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct <anonymous>’} but argument is of type ‘int’
static inline void set_fs(mm_segment_t fs)
~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-headers-5.2.0-kali2-common/scripts/Makefile.build:284: /root/rtl8192eu-linux-driver/os_dep/osdep_service.o] Error 1
make[3]: *** [/usr/src/linux-headers-5.2.0-kali2-common/Makefile:1610: _module_/root/rtl8192eu-linux-driver] Error 2
make[2]: *** [Makefile:179: sub-make] Error 2
make[1]: *** [Makefile:8: all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.2.0-kali2-amd64'
make: *** [Makefile:1700: modules] Error 2
How do I fix the compile errors?
go to mange:
download and install the only working drivers. It worked with default drivers for me but with extremely low "power" and dropping/poor connection. Now it works great, just as it should...
I am just a simple/new linux user so I can't offer any further support. But the mentioned site has detailed instructions. I was referred there by multiple other forums.
I'm building OpenCV on Linux with OpenCV_contrib and I can't make it work.
OpenCV alone can build with no errors.
While compliling OpenCV alone It works find .
cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4/modules
..
$ make j5
During make process , it fails at 100% ,😔😔😔😔😔😔😔😔
Scanning dependencies of target opencv_python2
[100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
[100%] Linking CXX executable ../../bin/opencv_perf_stitching
[100%] Built target opencv_perf_stitching
In file included from /home/habib/Documents/Projects/Packages/opencv-3.4.3/build/modules/python_bindings_generator/pyopencv_custom_headers.h:8:0,
from /home/habib/Documents/Projects/Packages/opencv-3.4.3/modules/python/src2/cv2.cpp:1816:
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:4:40: error: ‘linemod’ was not declared in this scope
template<> struct pyopencvVecConverter<linemod::Match>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:4:54: error: template argument 1 is invalid
template<> struct pyopencvVecConverter<linemod::Match>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:17:40: error: ‘linemod’ was not declared in this scope
template<> struct pyopencvVecConverter<linemod::Template>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:17:57: error: template argument 1 is invalid
template<> struct pyopencvVecConverter<linemod::Template>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:30:40: error: ‘linemod’ was not declared in this scope
template<> struct pyopencvVecConverter<linemod::Feature>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:30:56: error: template argument 1 is invalid
template<> struct pyopencvVecConverter<linemod::Feature>
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:43:44: error: ‘linemod’ was not declared in this scope
template<> struct pyopencvVecConverter<Ptr<linemod::Modality> >
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:43:61: error: template argument 1 is invalid
template<> struct pyopencvVecConverter<Ptr<linemod::Modality> >
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:43:63: error: template argument 1 is invalid
template<> struct pyopencvVecConverter<Ptr<linemod::Modality> >
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:56:21: error: ‘linemod’ was not declared in this scope
typedef std::vector<linemod::Match> vector_Match;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:56:35: error: template argument 1 is invalid
typedef std::vector<linemod::Match> vector_Match;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:56:35: error: template argument 2 is invalid
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:57:21: error: ‘linemod’ was not declared in this scope
typedef std::vector<linemod::Template> vector_Template;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:57:38: error: template argument 1 is invalid
typedef std::vector<linemod::Template> vector_Template;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:57:38: error: template argument 2 is invalid
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:58:21: error: ‘linemod’ was not declared in this scope
typedef std::vector<linemod::Feature> vector_Feature;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:58:37: error: template argument 1 is invalid
typedef std::vector<linemod::Feature> vector_Feature;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:58:37: error: template argument 2 is invalid
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:59:25: error: ‘linemod’ was not declared in this scope
typedef std::vector<Ptr<linemod::Modality> > vector_Ptr_Modality;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:59:42: error: template argument 1 is invalid
typedef std::vector<Ptr<linemod::Modality> > vector_Ptr_Modality;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:59:44: error: template argument 1 is invalid
typedef std::vector<Ptr<linemod::Modality> > vector_Ptr_Modality;
^
/home/habib/Documents/Projects/Packages/opencv_contrib-3.4/modules/rgbd/misc/python/pyopencv_linemod.hpp:59:44: error: template argument 2 is invalid
[100%] Linking CXX executable ../../bin/opencv_perf_tracking
[100%] Built target opencv_perf_tracking
modules/python2/CMakeFiles/opencv_python2.dir/build.make:62: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o' failed
make[2]: *** [modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o] Error 1
CMakeFiles/Makefile2:15272: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/all' failed
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
I downloaded the opencv Source code from the official website and cloned the opencv_contrib from Github. And this was not a good idea and I ran into problems.
I cloned the exact same version for both opencv and opencv_contrib from Github and this time it worked perfectly.
git clone -b 3.4 https://github.com/opencv/opencv
git clone -b 3.4 https://github.com/opencv/opencv_contrib
Run make clean before cmake and make, should solve the problem.
I am really new on Linux drivers and I am trying to Compile Linux kernel 2.6,
I did these steps so far on my Linux 4.0
1)
I got Latest Linux kernel code for 2.x.y.z and Extract tar (.tar.bz3) file
2) Installed gcc,
apt-get install gcc
3)Try to make below but all of them occurred with error:
make menuconfig
make xconfig
make gconfig
Error:
root#kiarash-VirtualBox:~/Desktop/linux-2.6.9# make gconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:368:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
if (*(int *)test != INT_CONF) {
^
scripts/basic/fixdep.c:370:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*(int *)test);
^
HOSTCC scripts/basic/split-include
scripts/basic/split-include.c: In function ‘main’:
scripts/basic/split-include.c:133:6: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(old_line, buffer_size, fp_target);
^
HOSTCC scripts/basic/docproc
*
* Unable to find the GTK+ installation. Please make sure that
* the GTK+ 2.0 development package is correctly installed...
* You need gtk+-2.0, glib-2.0 and libglade-2.0.
*
HOSTCC scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_string’:
scripts/kconfig/conf.c:164:20: warning: variable ‘help’ set but not used [-Wunused-but-set-variable]
const char *def, *help;
^
scripts/kconfig/conf.c: In function ‘conf_sym’:
scripts/kconfig/conf.c:198:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
int type;
^
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:273:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
int type;
^
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:94:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(line, 128, stdin);
^
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:350:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(line, 128, stdin);
^
make[1]: *** No rule to make target 'scripts/kconfig/.tmp_gtkcheck', needed by 'scripts/kconfig/gconf.o'. Stop.
Makefile:429: recipe for target 'gconfig' failed
make: *** [gconfig] Error 2
Please help me to undrestand!
write below in your terminal in order to install gtk2.0 and libgtk2.0-dev
sudo apt-get install gtk2.0
sudo apt-get install build-essential libgtk2.0-dev
I'm using PHP7 on ubuntu 14.04. Here is my PHP version information from terminal(using command PHP -v).
PHP 7.0.11-1+deb.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.11-1+deb.sury.org~trusty+1, Copyright (c) 1999-2016, by Zend Technologies
I downloaded phpredis from php7 branch(https://github.com/phpredis/phpredis/tree/php7) & followed the following commands to install as it has mentioned in readme.
phpize
./configure
make && make install
But, I'm getting following error just after executing the command make && make install
/bin/bash /home/justdial/Downloads/phpredis-php7/libtool --mode=compile cc -I. -I/home/justdial/Downloads/phpredis-php7 -DPHP_ATOM_INC -I/home/justdial/Downloads/phpredis-php7/include -I/home/justdial/Downloads/phpredis-php7/main -I/home/justdial/Downloads/phpredis-php7 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /home/justdial/Downloads/phpredis-php7/redis.c -o redis.lo
libtool: compile: cc -I. -I/home/justdial/Downloads/phpredis-php7 -DPHP_ATOM_INC -I/home/justdial/Downloads/phpredis-php7/include -I/home/justdial/Downloads/phpredis-php7/main -I/home/justdial/Downloads/phpredis-php7 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /home/justdial/Downloads/phpredis-php7/redis.c -fPIC -DPIC -o .libs/redis.o
In file included from /home/justdial/Downloads/phpredis-php7/redis.c:32:0:
/home/justdial/Downloads/phpredis-php7/redis_array.h:11:35: error: unknown type name 'zend_resource'
void redis_destructor_redis_array(zend_resource *rsrc TSRMLS_DC);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_get_exception_base':
/home/justdial/Downloads/phpredis-php7/redis.c:380:13: warning: assignment makes pointer from integer without a cast [enabled by default]
if ((pce = zend_hash_str_find_ptr(CG(class_table), "runtimeexception", sizeof("RuntimeException") - 1))) {
^
/home/justdial/Downloads/phpredis-php7/redis.c:389:9: error: 'zend_ce_exception' undeclared (first use in this function)
return zend_ce_exception;
^
/home/justdial/Downloads/phpredis-php7/redis.c:389:9: note: each undeclared identifier is reported only once for each function it appears in
/home/justdial/Downloads/phpredis-php7/redis.c: At top level:
/home/justdial/Downloads/phpredis-php7/redis.c:423:41: error: unknown type name 'zend_resource'
static void redis_destructor_redis_sock(zend_resource * rsrc TSRMLS_DC)
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_sock_get':
/home/justdial/Downloads/phpredis-php7/redis.c:439:46: warning: assignment makes pointer from integer without a cast [enabled by default]
if (Z_TYPE_P(id) != IS_OBJECT || (socket = zend_hash_str_find(Z_OBJPROP_P(id), "socket",
^
/home/justdial/Downloads/phpredis-php7/redis.c:440:71: warning: comparison between pointer and integer [enabled by default]
sizeof("socket") - 1)) == NULL || Z_RES_P(socket) == NULL) {
^
/home/justdial/Downloads/phpredis-php7/redis.c:449:47: error: invalid type argument of '->' (have 'int')
*redis_sock = (RedisSock *)Z_RES_P(socket)->ptr;
^
/home/justdial/Downloads/phpredis-php7/redis.c:451:40: error: invalid type argument of '->' (have 'int')
if (!*redis_sock || Z_RES_P(socket)->type != le_redis_sock) {
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zm_startup_redis':
/home/justdial/Downloads/phpredis-php7/redis.c:575:37: warning: assignment from incompatible pointer type [enabled by default]
redis_cluster_ce->create_object = create_cluster_context;
^
/home/justdial/Downloads/phpredis-php7/redis.c:578:9: error: 'redis_destructor_redis_array' undeclared (first use in this function)
redis_destructor_redis_array,
^
/home/justdial/Downloads/phpredis-php7/redis.c:588:5: error: too few arguments to function 'zend_register_internal_class_ex'
);
^
In file included from /usr/include/php5/main/php.h:39:0,
from /home/justdial/Downloads/phpredis-php7/common.h:1,
from /home/justdial/Downloads/phpredis-php7/redis.c:27:
/usr/include/php5/Zend/zend_API.h:277:28: note: declared here
ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC);
^
/home/justdial/Downloads/phpredis-php7/redis.c:596:5: error: too few arguments to function 'zend_register_internal_class_ex'
);
^
In file included from /usr/include/php5/main/php.h:39:0,
from /home/justdial/Downloads/phpredis-php7/common.h:1,
from /home/justdial/Downloads/phpredis-php7/redis.c:27:
/usr/include/php5/Zend/zend_API.h:277:28: note: declared here
ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC);
^
/home/justdial/Downloads/phpredis-php7/redis.c:599:9: error: 'redis_destructor_redis_sock' undeclared (first use in this function)
redis_destructor_redis_sock,
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_connect':
/home/justdial/Downloads/phpredis-php7/redis.c:719:5: error: unknown type name 'zend_long'
zend_long port = -1, retry_interval = 0;
^
/home/justdial/Downloads/phpredis-php7/redis.c:764:21: warning: assignment makes pointer from integer without a cast [enabled by default]
if ((socket = zend_hash_str_find(Z_OBJPROP_P(object), "socket", sizeof("socket") -1)) == NULL)
^
/home/justdial/Downloads/phpredis-php7/redis.c:781:8: warning: assignment makes pointer from integer without a cast [enabled by default]
id = zend_list_insert(redis_sock, le_redis_sock TSRMLS_CC);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_getMultiple':
/home/justdial/Downloads/phpredis-php7/redis.c:984:9: error: unknown type name 'zend_string'
zend_string *key_zstr;
^
/home/justdial/Downloads/phpredis-php7/redis.c:987:18: warning: assignment makes pointer from integer without a cast [enabled by default]
key_zstr = zval_get_string(z_ele);
^
/home/justdial/Downloads/phpredis-php7/redis.c:988:13: warning: assignment makes pointer from integer without a cast [enabled by default]
key = ZSTR_VAL(key_zstr);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'generic_sort_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:1398:5: error: unknown type name 'zend_long'
zend_long sort_start = -1, sort_count = -1;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_select':
/home/justdial/Downloads/phpredis-php7/redis.c:1757:5: error: unknown type name 'zend_long'
zend_long dbNumber;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'generic_mset':
/home/justdial/Downloads/phpredis-php7/redis.c:1832:13: error: unknown type name 'zend_string'
zend_string *key_zstr;
^
/home/justdial/Downloads/phpredis-php7/redis.c:1841:71: error: macro "zend_hash_get_current_key" requires 4 arguments, but only 3 given
type = zend_hash_get_current_key(keytable, &key_zstr, &idx);
^
/home/justdial/Downloads/phpredis-php7/redis.c:1841:20: error: 'zend_hash_get_current_key' undeclared (first use in this function)
type = zend_hash_get_current_key(keytable, &key_zstr, &idx);
^
/home/justdial/Downloads/phpredis-php7/redis.c:1842:64: error: macro "zend_hash_get_current_data" requires 2 arguments, but only 1 given
if((z_value_p = zend_hash_get_current_data(keytable)) == NULL)
^
/home/justdial/Downloads/phpredis-php7/redis.c:1842:29: error: 'zend_hash_get_current_data' undeclared (first use in this function)
if((z_value_p = zend_hash_get_current_data(keytable)) == NULL)
^
/home/justdial/Downloads/phpredis-php7/redis.c:1856:35: error: request for member 'len' in something not a structure or union
key_len = key_zstr->len;
^
/home/justdial/Downloads/phpredis-php7/redis.c:1857:31: error: request for member 'val' in something not a structure or union
key = key_zstr->val;
^
/home/justdial/Downloads/phpredis-php7/redis.c:1873:17: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=]
p += sprintf(p, "$%d" _NL, key_len); /* key len */
^
/home/justdial/Downloads/phpredis-php7/redis.c:1877:17: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=]
p += sprintf(p, "$%d" _NL, val_len); /* val len */
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_multi':
/home/justdial/Downloads/phpredis-php7/redis.c:2196:5: error: unknown type name 'zend_long'
zend_long multi_value = MULTI;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'generic_unsubscribe_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:2567:13: error: too few arguments to function 'zend_hash_index_find'
if ((z_channel = zend_hash_index_find(Z_ARRVAL(z_tab), 1)) == NULL)
^
In file included from /usr/include/php5/Zend/zend.h:286:0,
from /usr/include/php5/main/php.h:35,
from /home/justdial/Downloads/phpredis-php7/common.h:1,
from /home/justdial/Downloads/phpredis-php7/redis.c:27:
/usr/include/php5/Zend/zend_hash.h:166:14: note: declared here
ZEND_API int zend_hash_index_find(const HashTable *ht, ulong h, void **pData);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_slaveof':
/home/justdial/Downloads/phpredis-php7/redis.c:2610:5: error: unknown type name 'zend_long'
zend_long port = 6379;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_slowlog':
/home/justdial/Downloads/phpredis-php7/redis.c:2764:5: error: unknown type name 'zend_long'
zend_long option;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_wait':
/home/justdial/Downloads/phpredis-php7/redis.c:2818:5: error: unknown type name 'zend_long'
zend_long num_slaves, timeout;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_build_pubsub_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:2901:13: error: unknown type name 'zend_string'
zend_string *key_zstr;
^
/home/justdial/Downloads/phpredis-php7/redis.c:2902:22: warning: assignment makes pointer from integer without a cast [enabled by default]
key_zstr = zval_get_string(z_ele);
^
/home/justdial/Downloads/phpredis-php7/redis.c:2903:17: warning: assignment makes pointer from integer without a cast [enabled by default]
key = ZSTR_VAL(key_zstr);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_build_eval_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:3041:17: error: unknown type name 'zend_string'
zend_string *key_zstr;
^
/home/justdial/Downloads/phpredis-php7/redis.c:3042:26: warning: assignment makes pointer from integer without a cast [enabled by default]
key_zstr = zval_get_string(elem);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3043:21: warning: assignment makes pointer from integer without a cast [enabled by default]
key = ZSTR_VAL(key_zstr);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_evalsha':
/home/justdial/Downloads/phpredis-php7/redis.c:3086:5: error: unknown type name 'zend_long'
zend_long keys_count = 0;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_eval':
/home/justdial/Downloads/phpredis-php7/redis.c:3124:5: error: unknown type name 'zend_long'
zend_long keys_count = 0;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'redis_build_script_exists_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:3167:9: error: unknown type name 'zend_string'
zend_string *arg_zstr = zval_get_string(&argv[i]);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3167:33: warning: initialization makes pointer from integer without a cast [enabled by default]
zend_string *arg_zstr = zval_get_string(&argv[i]);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3171:13: warning: passing argument 3 of 'redis_cmd_append_str' makes pointer from integer without a cast [enabled by default]
ZSTR_LEN(arg_zstr));
^
In file included from /home/justdial/Downloads/phpredis-php7/redis_commands.h:17:0,
from /home/justdial/Downloads/phpredis-php7/redis.c:31:
/home/justdial/Downloads/phpredis-php7/library.h:15:5: note: expected 'char *' but argument is of type 'int'
int redis_cmd_append_str(char **cmd, int cmd_len, char *append, int append_len);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_script':
/home/justdial/Downloads/phpredis-php7/redis.c:3203:5: warning: passing argument 3 of '_zend_get_parameters_array' from incompatible pointer type [enabled by default]
if(zend_get_parameters_array(ht, argc, z_args) == FAILURE ||
^
In file included from /usr/include/php5/main/php.h:39:0,
from /home/justdial/Downloads/phpredis-php7/common.h:1,
from /home/justdial/Downloads/phpredis-php7/redis.c:27:
/usr/include/php5/Zend/zend_API.h:237:14: note: expected 'struct zval **' but argument is of type 'struct zval *'
ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval **argument_array TSRMLS_DC);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_migrate':
/home/justdial/Downloads/phpredis-php7/redis.c:3285:5: error: unknown type name 'zend_long'
zend_long port, dest_db, timeout;
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_getLastError':
/home/justdial/Downloads/phpredis-php7/redis.c:3394:60: error: macro "RETURN_STRINGL" requires 3 arguments, but only 2 given
RETURN_STRINGL(redis_sock->err, redis_sock->err_len);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3394:9: error: 'RETURN_STRINGL' undeclared (first use in this function)
RETURN_STRINGL(redis_sock->err, redis_sock->err_len);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_getHost':
/home/justdial/Downloads/phpredis-php7/redis.c:3475:39: error: macro "RETURN_STRING" requires 2 arguments, but only 1 given
RETURN_STRING(redis_sock->host);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3475:9: error: 'RETURN_STRING' undeclared (first use in this function)
RETURN_STRING(redis_sock->host);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_getPersistentID':
/home/justdial/Downloads/phpredis-php7/redis.c:3533:52: error: macro "RETURN_STRING" requires 2 arguments, but only 1 given
RETURN_STRING(redis_sock->persistent_id);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3533:13: error: 'RETURN_STRING' undeclared (first use in this function)
RETURN_STRING(redis_sock->persistent_id);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_getAuth':
/home/justdial/Downloads/phpredis-php7/redis.c:3548:43: error: macro "RETURN_STRING" requires 2 arguments, but only 1 given
RETURN_STRING(redis_sock->auth);
^
/home/justdial/Downloads/phpredis-php7/redis.c:3548:13: error: 'RETURN_STRING' undeclared (first use in this function)
RETURN_STRING(redis_sock->auth);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'zim_Redis_rawcommand':
/home/justdial/Downloads/phpredis-php7/redis.c:3625:5: warning: passing argument 3 of '_zend_get_parameters_array' from incompatible pointer type [enabled by default]
if (zend_get_parameters_array(ht, argc, z_args) == FAILURE) {
^
In file included from /usr/include/php5/main/php.h:39:0,
from /home/justdial/Downloads/phpredis-php7/common.h:1,
from /home/justdial/Downloads/phpredis-php7/redis.c:27:
/usr/include/php5/Zend/zend_API.h:237:14: note: expected 'struct zval **' but argument is of type 'struct zval *'
ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval **argument_array TSRMLS_DC);
^
/home/justdial/Downloads/phpredis-php7/redis.c: In function 'generic_scan_cmd':
/home/justdial/Downloads/phpredis-php7/redis.c:3725:5: error: unknown type name 'zend_long'
zend_long count=0;
^
make: *** [redis.lo] Error 1
I've also created one issue about this at PHPREDIS github repository (https://github.com/phpredis/phpredis/issues/958).
Don't know what's going wrong at here.
please try this way.
1.Delete the existing PHP-Redis extension and clean
2.Install required package (skip if you already installed php7)
apt-get install php7.0-dev
3.Download PhpRedis
cd /tmp
wget https://github.com/phpredis/phpredis/archive/php7.zip -O phpredis.zip
4.Unpack, compile and install PhpRedis
unzip -o /tmp/phpredis.zip && mv /tmp/phpredis-* /tmp/phpredis && cd /tmp/phpredis && phpize && ./configure && make && sudo make install
Now it is necessary to add compiled extension to PHP config
5.Add PhpRedis extension to PHP 7
sudo touch /etc/php/mods-available/redis.ini && echo extension=redis.so > /etc/php/mods-available/redis.ini
sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/apache2/conf.d/redis.ini
sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/fpm/conf.d/redis.ini
sudo ln -s /etc/php/mods-available/redis.ini /etc/php/7.0/cli/conf.d/redis.ini
6.Restart PHP-FPM
sudo service php7.0-fpm restart
7.Restart Apache
sudo service apache2 restart
Note: if you are using Nginx there is no need to restart it because in most cases it works wit PHP-FPM.
You can check successfully installed PhpRedis with command below
php -r "if (new Redis() == true){ echo \"OK \r\n\"; }"
Huh.. Finally, I've solved the issue. I think, I'd some problem in my php7.0-dev configuration. So reinstall it by using apt-get install php7.0-dev. After that use following commands -
sudo make
sudo make install
Then in php.ini file I added the path of redis.so extension link. Ex -
extension=/usr/lib/php/20151012/redis.so (path is system dependent)
That's it. It fixed the thing.
#Renjith VR : Thanks for the reply. It really helped me fig out the issue.