Hi Ian, Made recommended changes to the file main.go.You can see the file in my repository : https://github.com/nitishsaboo/Testing Now 'go build -x' is failing with the following error:
WORK=/tmp/go-build838755651 mkdir -p $WORK/b001/ cd /home/nitish/Documents/goworkspace/src/forgithub CGO_LDFLAGS='"-g" "-O2"' /usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/b001/ -importpath forgithub -- -I $WORK/b001/ -g -O2 -I/tmp/install/syslog-ng-3.6.2/ -I/usr/local/include/syslog-ng/ -I/usr/local/include/syslog-ng/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/ivykis/ -I/usr/local/include/syslog-ng/ivykis/ -I/usr/local/include/eventlog/ -I/usr/include/glib-2.0/ -I/tmp/install/syslog-ng-3.6.2/modules/ ./main.go cd $WORK gcc -fno-caret-diagnostics -c -x c - || true gcc -Qunused-arguments -c -x c - || true gcc -fdebug-prefix-map=a=b -c -x c - || true gcc -gno-record-gcc-switches -c -x c - || true cd $WORK/b001 TERM='dumb' gcc -I /home/nitish/Documents/goworkspace/src/forgithub -fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -I/tmp/install/syslog-ng-3.6.2/ -I/usr/local/include/syslog-ng/ -I/usr/local/include/syslog-ng/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/ivykis/ -I/usr/local/include/syslog-ng/ivykis/ -I/usr/local/include/eventlog/ -I/usr/include/glib-2.0/ -I/tmp/install/syslog-ng-3.6.2/modules/ -o ./_x001.o -c _cgo_export.c TERM='dumb' gcc -I /home/nitish/Documents/goworkspace/src/forgithub -fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -I/tmp/install/syslog-ng-3.6.2/ -I/usr/local/include/syslog-ng/ -I/usr/local/include/syslog-ng/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/ivykis/ -I/usr/local/include/syslog-ng/ivykis/ -I/usr/local/include/eventlog/ -I/usr/include/glib-2.0/ -I/tmp/install/syslog-ng-3.6.2/modules/ -o ./_x002.o -c main.cgo2.c cd /home/nitish/Documents/goworkspace/src/forgithub TERM='dumb' gcc -I . -fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I $WORK/b001/ -g -O2 -I/tmp/install/syslog-ng-3.6.2/ -I/usr/local/include/syslog-ng/ -I/usr/local/include/syslog-ng/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/compat/ -I/tmp/install/syslog-ng-3.6.2/lib/ivykis/ -I/usr/local/include/syslog-ng/ivykis/ -I/usr/local/include/eventlog/ -I/usr/include/glib-2.0/ -I/tmp/install/syslog-ng-3.6.2/modules/ -o $WORK/b001/_x003.o -c syslog-node.c forgithub In file included from /usr/local/include/syslog-ng/apphook.h:28:0, from syslog-node.c:3: /usr/local/include/syslog-ng/syslog-ng.h:58:14: error: unknown type name ‘gchar’ extern const gchar *module_path; ^~~~~ In file included from syslog-node.c:3:0: /usr/local/include/syslog-ng/apphook.h:40:37: error: unknown type name ‘gint’; did you mean ‘uint’? typedef void (*ApplicationHookFunc)(gint type, gpointer user_data); ^~~~ uint /usr/local/include/syslog-ng/apphook.h:40:48: error: unknown type name ‘gpointer’ typedef void (*ApplicationHookFunc)(gint type, gpointer user_data); ^~~~~~~~ /usr/local/include/syslog-ng/apphook.h:42:32: error: unknown type name ‘gint’; did you mean ‘uint’? void register_application_hook(gint type, ApplicationHookFunc func, gpointer user_data); ^~~~ uint /usr/local/include/syslog-ng/apphook.h:42:43: error: unknown type name ‘ApplicationHookFunc’ void register_application_hook(gint type, ApplicationHookFunc func, gpointer user_data); ^~~~~~~~~~~~~~~~~~~ /usr/local/include/syslog-ng/apphook.h:42:69: error: unknown type name ‘gpointer’ void register_application_hook(gint type, ApplicationHookFunc func, gpointer user_data); ^~~~~~~~ In file included from syslog-node.c:5:0: /usr/local/include/syslog-ng/tags.h:30:9: error: unknown type name ‘guint16’ typedef guint16 LogTagId; ^~~~~~~ /usr/local/include/syslog-ng/tags.h:43:37: error: unknown type name ‘gchar’ LogTagId log_tags_get_by_name(const gchar *name); ^~~~~ /usr/local/include/syslog-ng/tags.h:44:7: error: unknown type name ‘gchar’ const gchar *log_tags_get_by_id(LogTagId id); ^~~~~ In file included from /usr/local/include/syslog-ng/gsockaddr.h:29:0, from /usr/local/include/syslog-ng/logmsg.h:29, from syslog-node.c:6: /usr/local/include/syslog-ng/atomic.h:31:3: error: unknown type name ‘gint’ gint counter; ^~~~ /usr/local/include/syslog-ng/atomic.h:40:15: error: unknown type name ‘gboolean’ static inline gboolean ^~~~~~~~ /usr/local/include/syslog-ng/atomic.h:46:15: error: unknown type name ‘gint’ static inline gint .. .. Can you please guide me as in which library I am missing here and what needs to be done in this case? Thanks On Wed, Apr 17, 2019 at 10:48 AM Ian Lance Taylor <i...@golang.org> wrote: > On Tue, Apr 16, 2019 at 9:56 PM Nitish Saboo <nitish.sabo...@gmail.com> > wrote: > > > > I am new to GO.Can I get little help on this ? > > It's really hard to know what the answer is. > > One thing you can try is adding a #cgo CFLAGS line with a -I option > pointing to your syslog-ng directory. See https://golang.org/cmd/cgo. > > Ian > > > > On Wednesday, April 17, 2019 at 12:09:30 AM UTC+5:30, Nitish Saboo wrote: > >> > >> Hi, > >> > >> > >> I am using syslog-ng-3.6.2 ( > https://src.fedoraproject.org/lookaside/pkgs/syslog-ng/syslog-ng_3.6.2.tar.gz/6928e9be3499a2e9ae52ea8aa204b165/ > ). > >> I want to use syslog-ng header files in my project. > >> > >> This is my repository : https://github.com/nitishsaboo/Testing > >> > >> syslog-node.c is a file where I am using syslog-ng's header files. > >> The match function in 'syslog-node.c' is being called from 'main.go' > file. > >> > >> > >> When I run 'go build' it fails with the following error: > >> > >> > >> # forgithub > >> syslog-node.c:2:10: fatal error: config.h: No such file or directory > >> #include "config.h" > >> ^~~~~~~~~~ > >> compilation terminated. > >> > >> > >> However, 'config.h' file is present in my syslog-ng-3.6.2 directory > where main.go is present but it is still not able to find 'config.h'. > >> > >> > >> nitish@nitish-VirtualBox:~/Documents/goworkspace/src/forgithub$ ls > >> common.gypi syslog-ng-3.13.2 syslog-node.c > >> deps syslog-ng-3.13.2.tar.gz syslog-node.gyp > >> eventlog-0.2.13 syslog-ng-3.6.2 syslog-node.h > >> eventlog_0.2.13.tar.gz syslog-ng_3.6.2.tar.gz > >> main.go > >> > >> > >> nitish@nitish-VirtualBox:~$ cd > Documents/goworkspace/src/forgithub/syslog-ng-3.6.2/ > >> > >> > >> nitish@nitish-VirtualBox:~/Documents/goworkspace/src/forgithub/syslog-ng-3.6.2$ > ls > >> aclocal.m4 CONTRIBUTING.md m4 syslog-ng > >> AUTHORS COPYING Makefile syslog-ng-ctl > >> autogen.sh debian Makefile.am syslog-ng.pc > >> compile depcomp Makefile.in syslog-ng.pc.in > >> config.guess dist.conf missing syslog-ng.spec > >> config.h dist.conf.in Mk syslog-ng.spec.in > >> config.h.in doc modules test-driver > >> config.log INSTALL NEWS.md tests > >> config.status install-sh pkg-config-0.29 tgz2build > >> config.sub lib pkgconfig.tgz VERSION > >> configure libtest scl ylwrap > >> configure.ac libtool scripts > >> contrib ltmain.sh stamp-h1 > >> > >> > >> go build -x > >> > >> ========= > >> > >> > >> > >> WORK=/tmp/go-build995828799 > >> mkdir -p $WORK/b001/ > >> cd /home/nitish/Documents/goworkspace/src/forgithub > >> CGO_LDFLAGS='"-g" "-O2"' /usr/local/go/pkg/tool/linux_amd64/cgo -objdir > $WORK/b001/ -importpath forgithub -- -I $WORK/b001/ -g -O2 -I > ./syslog-ng-3.6.2/include ./main.go > >> cd $WORK > >> gcc -fno-caret-diagnostics -c -x c - || true > >> gcc -Qunused-arguments -c -x c - || true > >> gcc -fdebug-prefix-map=a=b -c -x c - || true > >> gcc -gno-record-gcc-switches -c -x c - || true > >> cd $WORK/b001 > >> TERM='dumb' gcc -I /home/nitish/Documents/goworkspace/src/forgithub > -fPIC -m64 -pthread -fmessage-length=0 > -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ > -g -O2 -I > /home/nitish/Documents/goworkspace/src/forgithub/syslog-ng-3.6.2/include -o > ./_x001.o -c _cgo_export.c > >> TERM='dumb' gcc -I /home/nitish/Documents/goworkspace/src/forgithub > -fPIC -m64 -pthread -fmessage-length=0 > -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I ./ > -g -O2 -I > /home/nitish/Documents/goworkspace/src/forgithub/syslog-ng-3.6.2/include -o > ./_x002.o -c main.cgo2.c > >> cd /home/nitish/Documents/goworkspace/src/forgithub > >> TERM='dumb' gcc -I . -fPIC -m64 -pthread -fmessage-length=0 > -fdebug-prefix-map=$WORK/b001=/tmp/go-build -gno-record-gcc-switches -I > $WORK/b001/ -g -O2 -I ./syslog-ng-3.6.2/include -o $WORK/b001/_x003.o -c > syslog-node.c > >> # forgithub > >> syslog-node.c:2:10: fatal error: config.h: No such file or directory > >> #include "config.h" > >> ^~~~~~~~~~ > >> compilation terminated. > >> > >> > >> 1)Do you think there is some issue with the GO code where I need to add > some flags to point it to the config.h? > >> > >> 2)Can you please guide me in the right direction to fix compilation > issue, as in where am i missing the piece of link ? > >> > >> > >> Thanks, > >> > >> Nitish > >> > >> > >> > >> > > -- > > You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to golang-nuts+unsubscr...@googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.