Re: Linux-gpib-4.2 can not compile on CentoOS 7

dave penkler <[email protected]>
Newsgroups gmane.linux.hardware.gpib.general
Message-ID <CAL=kjP2Zr6G1BGOyfXmquoPXWYkLfDmiGNNFJY_n7AONJAX2nQ@mail.gmail.com>
Hi Søren,
Thanks for raising this. As Frank has said, suspect that the issue is
related to the implementation of device tree support in your kernel.
Specifically that *of_find_node_by_path() *is not defined if CONFIG_OF is
not defined.
Please check /include/linux/of.h in your 3.10.xx kernel source whether
there is a definition for
*of_find_node_by_path()* in the case that CONFIG_OF is *not* defined:

static inline struct device_node *of_find_node_by_path(const char *path)
{
       return NULL;
}

We may need to create a compat/include/linux/of.h for this.
cheers,
/d

On Wed, Nov 28, 2018 at 8:28 AM Søren Koch via Linux-gpib-general <
[email protected]> wrote:

> Hi all.
>
>
> I have just tried to install linux-gpib-4.2 on a new CentOS 7 system
> (after running yum update to get latest packages)
>
> When I try to compile the kernel driver i get the following error:
>
>
> >
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/fmh_gpib.c:
> > In function ‘fmh_gpib_device_match’:
> >
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/fmh_gpib.c:928:4:
> > error: implicit declaration of function ‘of_find_node_by_path’
> > [-Werror=implicit-function-declaration]
> >     of_node = of_find_node_by_path(config->device_tree_path);
> >     ^
> >
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/fmh_gpib.c:928:12:
> > warning: assignment makes pointer from integer without a cast [enabled
> > by default]
> >     of_node = of_find_node_by_path(config->device_tree_path);
> >             ^
> > cc1: some warnings being treated as errors
> > make[5]: ***
> >
> [/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/fmh_gpib.o]
> > Error 1
> > make[4]: ***
> >
> [/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib]
> > Error 2
> > make[3]: ***
> >
> [_module_/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib]
> > Error 2
> > make[2]: [all-local] Error 2 (ignored)
>
> uname -r gives 3.10.0-862.14.4.el7.x86_64
>
>
> configure gave the following output:
>
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking build system type... x86_64-pc-linux-gnu
> checking host system type... x86_64-pc-linux-gnu
> checking Linux kernel directory... ok
> checking Linux kernel compile flags... ok
> checking for depmod... /sbin/depmod
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating drivers/Makefile
> config.status: creating config.h
> config.status: config.h is unchanged
>
> I have included the the full output from make:
>
>
> make  all-recursive
> make[1]: Entering directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0'
> Making all in drivers
> make[2]: Entering directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers'
> make -C /lib/modules/3.10.0-862.14.4.el7.x86_64/build/ V=1 modules\
>         CC="gcc
> -I/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0
> -I/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/compat/include"
> \
>         CONFIG_GPIB_ISA="no" \
>
>
> SUBDIRS="/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib"
> make[3]: Entering directory `/usr/src/kernels/3.10.0-862.14.4.el7.x86_64'
> test -e include/generated/autoconf.h -a -e include/config/auto.conf ||
> (                \
> echo >&2;                                                       \
> echo >&2 "  ERROR: Kernel configuration is invalid.";           \
> echo >&2 "         include/generated/autoconf.h or
> include/config/auto.conf are missing.";\
> echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to
> fix it.";      \
> echo >&2 ;                                                      \
> /bin/false)
> mkdir -p
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/.tmp_versions
> ; rm -f
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/.tmp_versions/*
> make -f scripts/Makefile.build
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib
> make -f scripts/Makefile.build
>
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82350b
> (cat /dev/null;   echo
>
> kernel//root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82350b/agilent_82350b.ko;)
> >
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82350b/modules.order
> make -f scripts/Makefile.build
>
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82357a
> (cat /dev/null;   echo
>
> kernel//root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82357a/agilent_82357a.ko;)
> >
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/agilent_82357a/modules.order
> make -f scripts/Makefile.build
>
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cb7210
> (cat /dev/null;   echo
>
> kernel//root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cb7210/cb7210.ko;)
> >
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cb7210/modules.order
> make -f scripts/Makefile.build
>
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cec
> (cat /dev/null;   echo
>
> kernel//root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cec/cec_gpib.ko;)
> >
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/cec/modules.order
> make -f scripts/Makefile.build
>
> obj=/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib
>   gcc -I/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0
> -I/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/compat/include
>
> -Wp,-MD,/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/.fmh_gpib.o.d
> -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
> -I./arch/x86/include -Iarch/x86/include/generated  -Iinclude
> -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi
> -I./include/uapi -Iinclude/generated/uapi -include
> ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes
> -Wno-trigraphs -fno-strict-aliasing -fno-common
> -Werror-implicit-function-declaration -Wno-format-security
> -fno-delete-null-pointer-checks -std=gnu89 -O2 -m64 -mno-mmx -mno-sse
> -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone
> -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args
> -Wframe-larger-than=2048 -DCONFIG_AS_CFI=1
> -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1
> -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1
> -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe
> -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
> -mno-sse2 -mno-3dnow -mno-avx -mindirect-branch=thunk-extern
> -mindirect-branch-register -DRETPOLINE -Wframe-larger-than=2048
> -fstack-protector-strong -Wno-unused-but-set-variable
> -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -mfentry
> -DCC_USING_FENTRY -fno-inline-functions-called-once
> -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
> -fconserve-stack -DCC_HAVE_ASM_GOTO
>
> -I/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/include
> -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(fmh_gpib)"
> -D"KBUILD_MODNAME=KBUILD_STR(fmh_gpib)" -c -o
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/.tmp_fmh_gpib.o
>
> /root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers/gpib/fmh_gpib/fmh_gpib.c
> make[3]: Leaving directory `/usr/src/kernels/3.10.0-862.14.4.el7.x86_64'
> make[2]: Leaving directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0/drivers'
> make[2]: Entering directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0'
> make[2]: Leaving directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0'
> make[1]: Leaving directory
> `/root/Downloads/linux-gpib-4.2.0/linux-gpib-kernel-4.2.0'
>
> and it appears that the kernel configuration is wrong, however I have
> not been able to determine why as it is a freshly installed and fully
> updated CentOS7
>
> I have tried reinstalling CentOS but that did not give a different result.
>
>
> Installing linux-gpib-4.1 on the same system works fine (which is a good
> thing as we need GPIB for our data acquisition systems).
>
> Anyone have any ideas?
>
>
> --
> Søren Koch
> Senior Development Engineer
> DTU Energy, Risø Campus
> -------------------------------------------
> Technical University of Denmark
> Department of Energy Conversion and Storage
> Frederiksborgvej 399
> Building 227, 1.sal
> 4000 Roskilde
> Direct +45 46775816
> [email protected]
> http://www.ecs.dtu.dk
>
>
> _______________________________________________
> Linux-gpib-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-gpib-general
>

_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.