Cross-compiling syslog-ng 3.11.1 for an embedded application.
Greetings! We are currently running syslog-ng v3.8.1 in an embedded Linux system. However, we want to upgrade to 3.11.1 in order to eliminate some memory leaks. Unfortunately we've run into a bit of a snag getting 3.11.1 to run on our target system. Under 3.8.1, syslogND is an ELF binary installed in the sbin directory. Under 3.11.1, it is a *script* installed in sbin. This script is trying to do some bad things including linking an executable (lt-syslog-ng, I believe.) We do not have a linker that will run on the target system. We cannot link anything. What is the reason behind this and how can it be circumvented? -- Robert King, Tellabs
Hi, This sounds like you haven't ran make install, only the compilation phase happened so far. In this stage libtool script are present and only during the install phase will libtool "finalize" the process and replace scripts with the actual executables. Regards, Sandor On 09/29/2017 05:29 PM, Robert King wrote:
Greetings! We are currently running syslog-ng v3.8.1 in an embedded Linux system. However, we want to upgrade to 3.11.1 in order to eliminate some memory leaks. Unfortunately we've run into a bit of a snag getting 3.11.1 to run on our target system.
Under 3.8.1, syslogND is an ELF binary installed in the sbin directory. Under 3.11.1, it is a *script* installed in sbin. This script is trying to do some bad things including linking an executable (lt-syslog-ng, I believe.) We do not have a linker that will run on the target system. We cannot link anything.
What is the reason behind this and how can it be circumvented?
-- Robert King, Tellabs ______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Sandor Geller Sent: Monday, October 02, 2017 3:52 AM To: syslog-ng@lists.balabit.hu Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. Hi, This sounds like you haven't ran make install, only the compilation phase happened so far. In this stage libtool script are present and only during the install phase will libtool "finalize" the process and replace scripts with the actual executables. Yes – It appears that the make install is failing. However, it looks like ‘make install’ under my cross-compilation environment is *vastly* different from what happens under Linux Mint. For one thing, ‘make install’ on our development system generates more code: GEN lib/rewrite/rewrite-expr-grammar.y YACC lib/rewrite/rewrite-expr-grammar.c YACC lib/rewrite/rewrite-expr-grammar.h GEN lib/parser/parser-expr-grammar.y YACC lib/parser/parser-expr-grammar.c YACC lib/parser/parser-expr-grammar.h GEN lib/filter/filter-expr-grammar.y YACC lib/filter/filter-expr-grammar.c YACC lib/filter/filter-expr-grammar.h … And then runs configure again… cd . && /bin/sh /vobs/components/utility/syslog-ng/syslog-ng/missing --run auto make-1.11 --foreign /vobs/components/utility/syslog-ng/syslog-ng/missing: line 52: automake-1.11: co mmand not found WARNING: `automake-1.11' is missing on your system. You should only need it if you modified `Makefile.am', `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site. /bin/sh ./config.status –recheck … And then fails with: clearmake: Error: Unable to find ancestor directory of audited object "/vobs/com ponents/utility/syslog-ng/syslog-ng/conftest.dir/sub/conftest.o" clearmake: Error: Unable to execute build script for "config.status" *** Error code 1 clearmake: Error: Build script failed for "install-recursive" *** Error code 1 clearmake: Error: Build script failed for "install" At this point, there’s a very real possibility that we’ll remove syslog-ng from this project and begin looking for alternatives, or do without. We can’t afford to spend any more time on this.
You seem to be missing automake in your build environment, which should only be needed if you changed something. I am not sure you are that interested in troubleshooting the build issue, at least judging the last note you sent. Syslog-ng uses pretty standard tools for building, so it should work pretty easily, however we dont do crossbuilds ourselves. On Oct 2, 2017 17:42, "Robert King" <robert.king@tellabs.com> wrote:
From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Sandor Geller Sent: Monday, October 02, 2017 3:52 AM To: syslog-ng@lists.balabit.hu Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application.
Hi,
This sounds like you haven't ran make install, only the compilation phase happened so far. In this stage libtool script are present and only during the install phase will libtool "finalize" the process and replace scripts with the actual executables.
Yes – It appears that the make install is failing. However, it looks like ‘make install’ under my cross-compilation environment is *vastly* different from what happens under Linux Mint. For one thing, ‘make install’ on our development system generates more code:
GEN lib/rewrite/rewrite-expr-grammar.y
YACC lib/rewrite/rewrite-expr-grammar.c
YACC lib/rewrite/rewrite-expr-grammar.h
GEN lib/parser/parser-expr-grammar.y
YACC lib/parser/parser-expr-grammar.c
YACC lib/parser/parser-expr-grammar.h
GEN lib/filter/filter-expr-grammar.y
YACC lib/filter/filter-expr-grammar.c
YACC lib/filter/filter-expr-grammar.h
…
And then runs configure again…
cd . && /bin/sh /vobs/components/utility/syslog-ng/syslog-ng/missing --run auto make-1.11 --foreign
/vobs/components/utility/syslog-ng/syslog-ng/missing: line 52: automake-1.11: co mmand not found
WARNING: `automake-1.11' is missing on your system. You should only need it if
you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.
/bin/sh ./config.status –recheck
…
And then fails with:
clearmake: Error: Unable to find ancestor directory of audited object "/vobs/com ponents/utility/syslog-ng/ syslog-ng/conftest.dir/sub/conftest.o"
clearmake: Error: Unable to execute build script for "config.status"
*** Error code 1
clearmake: Error: Build script failed for "install-recursive"
*** Error code 1
clearmake: Error: Build script failed for "install"
At this point, there’s a very real possibility that we’ll remove syslog-ng from this project and begin looking for alternatives, or do without. We can’t afford to spend any more time on this.
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Scheidler, Balázs Sent: Monday, October 02, 2017 11:57 PM To: Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu> Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. You seem to be missing automake in your build environment, which should only be needed if you changed something. Correct. I’m not interested in changing anything. Just getting it to build in our cross-compilation environment. I am not sure you are that interested in troubleshooting the build issue, at least judging the last note you sent. To be honest, after troubleshooting it for the past three weeks, I’m getting sick of it. I’ve brought in or updated four other open-source packages that also used autoconfig, and none of them have given me the problems syslog-ng has. Syslog-ng uses pretty standard tools for building, so it should work pretty easily, however we dont do crossbuilds ourselves. Can you tell me why …/syslog-ng/syslog-ng is a script and why …/syslog-ng/syslog-ng/.libs is empty when there are no errors during configuration or building? This is costing my company a lot of time and money and if syslog-ng cannot be cross-compiled anymore, I need to know so we can stop this and move on to other projects.
Hi, On Oct 3, 2017 21:25, "Robert King" <robert.king@tellabs.com> wrote: *From:* syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] *On Behalf Of *Scheidler, Balázs *Sent:* Monday, October 02, 2017 11:57 PM *To:* Syslog-ng users' and developers' mailing list < syslog-ng@lists.balabit.hu> *Subject:* Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. You seem to be missing automake in your build environment, which should only be needed if you changed something. Correct. I’m not interested in changing anything. Just getting it to build in our cross-compilation environment. I am not sure you are that interested in troubleshooting the build issue, at least judging the last note you sent. To be honest, after troubleshooting it for the past three weeks, I’m getting sick of it. I’ve brought in or updated four other open-source packages that also used autoconfig, and none of them have given me the problems syslog-ng has. Syslog-ng uses pretty standard tools for building, so it should work pretty easily, however we dont do crossbuilds ourselves. Can you tell me why …/syslog-ng/syslog-ng is a script and why …/syslog-ng/syslog-ng/.libs is empty when there are no errors during configuration or building? This is costing my company a lot of time and money and if syslog-ng cannot be cross-compiled anymore, I need to know so we can stop this and move on to other projects. syslog-ng uses libtool that does that in the build directory and only creates the binary when installing it. We never explicitly broke or implemented cross compiling, it's a feature of autotools that we use. I am not sure why stuff is being regenerated during make install, it should happen even for building in tree. If those files exist already try touching them with touch to make sure their timestamp is newer than the source files in which case or won't rebuild them. Again, so without your help and a civilized exchange of emails this can't be troubleshot, as I never saw your environment, and can't check various details that would affect compilation. ____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Scheidler, Balázs Sent: Tuesday, October 03, 2017 11:32 PM To: Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu> Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. Hi, Again, so without your help and a civilized exchange of emails this can't be troubleshot, as I never saw your environment, and can't check various details that would affect compilation. What information would you like from me to progress? We are using gmake to build the targets. We are calling the configure script with the following arguments: PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \ SED=/bin/sed \ ./configure \ --host=$HOST \ PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \ --build=$BUILD \ --prefix=$INSTALLDIR \ --bindir=$INSTALLDIR/bin \ --sbindir=$INSTALLDIR/sbin \ --includedir=$INSTALLDIR/include \ --libdir=$INSTALLDIR/lib \ --sharedstatedir=$INSTALLDIR/share \ --exec-prefix=$EXECDIR \ --libexecdir=$EXECDIR/lib \ --localstatedir=$EXECDIR/etc/syslog-ng/var \ --sysconfdir=$EXECDIR/etc/syslog-ng/etc \ --enable-shared=yes \ --enable-ssl \ --enable-static=yes \ --enable-dynamic-linking=yes \ --disable-json \ --enable-pcre=no \ --with-libmongo-client=no \ --with-librabbitmq-client=no \ CC=$MVL/bin/ppc_440-gcc \ CFLAGS="-g -O2" \ CPP=$MVL/bin/ppc_440-cpp \ CPPFLAGS="-I$EVENTLOGRELEASE/include -I$GLIBRELEASE/include -I$TARGET/usr/include -I$TARGET/usr/local/include" \ LDFLAGS="-L/vobs/tools/openssl/openssl/release/$OS/lib -L$EVENTLOGRELEASE/lib -L$GLIBRELEASE/lib -L$TARGET/lib -L$TARGET/usr/lib" \ OPENSSL_CFLAGS="${OPENSSL_CC_INC_PATH} ${OPENSSL_CC_FIPS_INC_PATH} -DBUILD_WITH_SSL" \ OPENSSL_LIBS="-lssl -lcrypto" \ LIBS="-lssl -lcrypto"
Hi, could you share a build environment where we can easily reproduce the issue(eg.: a docker file, or, image )? Laszlo Budai On Wednesday, October 4, 2017, Robert King <robert.king@tellabs.com> wrote:
*From:* syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu <javascript:_e(%7B%7D,'cvml','syslog-ng-bounces@lists.balabit.hu');>] *On Behalf Of *Scheidler, Balázs *Sent:* Tuesday, October 03, 2017 11:32 PM *To:* Syslog-ng users' and developers' mailing list < syslog-ng@lists.balabit.hu <javascript:_e(%7B%7D,'cvml','syslog-ng@lists.balabit.hu');>> *Subject:* Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application.
Hi,
Again, so without your help and a civilized exchange of emails this can't be troubleshot, as I never saw your environment, and can't check various details that would affect compilation.
What information would you like from me to progress?
We are using gmake to build the targets. We are calling the configure script with the following arguments:
PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \
SED=/bin/sed \
./configure \
--host=$HOST \
PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \
--build=$BUILD \
--prefix=$INSTALLDIR \
--bindir=$INSTALLDIR/bin \
--sbindir=$INSTALLDIR/sbin \
--includedir=$INSTALLDIR/include \
--libdir=$INSTALLDIR/lib \
--sharedstatedir=$INSTALLDIR/share \
--exec-prefix=$EXECDIR \
--libexecdir=$EXECDIR/lib \
--localstatedir=$EXECDIR/etc/syslog-ng/var \
--sysconfdir=$EXECDIR/etc/syslog-ng/etc \
--enable-shared=yes \
--enable-ssl \
--enable-static=yes \
--enable-dynamic-linking=yes \
--disable-json \
--enable-pcre=no \
--with-libmongo-client=no \
--with-librabbitmq-client=no \
CC=$MVL/bin/ppc_440-gcc \
CFLAGS="-g -O2" \
CPP=$MVL/bin/ppc_440-cpp \
CPPFLAGS="-I$EVENTLOGRELEASE/include -I$GLIBRELEASE/include -I$TARGET/usr/include -I$TARGET/usr/local/include" \
LDFLAGS="-L/vobs/tools/openssl/openssl/release/$OS/lib -L$EVENTLOGRELEASE/lib -L$GLIBRELEASE/lib -L$TARGET/lib -L$TARGET/usr/lib" \
OPENSSL_CFLAGS="${OPENSSL_CC_INC_PATH} ${OPENSSL_CC_FIPS_INC_PATH} -DBUILD_WITH_SSL" \
OPENSSL_LIBS="-lssl -lcrypto" \
LIBS="-lssl -lcrypto"
Not easily, and not without getting permission from the director of development. Let’s start with an easy question. …/syslog-ng/syslog-ng is a script. Is this part of the *final* distribution to be installed on the target system? There is also …/syslog-ng/.libs/syslog-ng with is an ELF binary executable. Is this part of the *final* distribution to be installed on the target system? Why are there two executable files with the same name? …/syslog-ng/.libs/syslog-ng is being natively built on a generic Linux Mint system, but not on my cross-development system. How do you suggest troubleshooting this? Going through the generated Makefile in the project root directory is a nightmare. There is no makefile in …/syslog-ng, so I can’t try to build just that. Sorry that I was irritated earlier, but I’ve been fighting this for three weeks and my boss is getting angry. From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Budai, László Sent: Wednesday, October 04, 2017 10:00 AM To: Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu> Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. Hi, could you share a build environment where we can easily reproduce the issue(eg.: a docker file, or, image )? Laszlo Budai On Wednesday, October 4, 2017, Robert King <robert.king@tellabs.com<mailto:robert.king@tellabs.com>> wrote: From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu<javascript:_e(%7B%7D,'cvml','syslog-ng-bounces@lists.balabit.hu');>] On Behalf Of Scheidler, Balázs Sent: Tuesday, October 03, 2017 11:32 PM To: Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu<javascript:_e(%7B%7D,'cvml','syslog-ng@lists.balabit.hu');>> Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. Hi, Again, so without your help and a civilized exchange of emails this can't be troubleshot, as I never saw your environment, and can't check various details that would affect compilation. What information would you like from me to progress? We are using gmake to build the targets. We are calling the configure script with the following arguments: PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \ SED=/bin/sed \ ./configure \ --host=$HOST \ PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \ --build=$BUILD \ --prefix=$INSTALLDIR \ --bindir=$INSTALLDIR/bin \ --sbindir=$INSTALLDIR/sbin \ --includedir=$INSTALLDIR/include \ --libdir=$INSTALLDIR/lib \ --sharedstatedir=$INSTALLDIR/share \ --exec-prefix=$EXECDIR \ --libexecdir=$EXECDIR/lib \ --localstatedir=$EXECDIR/etc/syslog-ng/var \ --sysconfdir=$EXECDIR/etc/syslog-ng/etc \ --enable-shared=yes \ --enable-ssl \ --enable-static=yes \ --enable-dynamic-linking=yes \ --disable-json \ --enable-pcre=no \ --with-libmongo-client=no \ --with-librabbitmq-client=no \ CC=$MVL/bin/ppc_440-gcc \ CFLAGS="-g -O2" \ CPP=$MVL/bin/ppc_440-cpp \ CPPFLAGS="-I$EVENTLOGRELEASE/include -I$GLIBRELEASE/include -I$TARGET/usr/include -I$TARGET/usr/local/include" \ LDFLAGS="-L/vobs/tools/openssl/openssl/release/$OS/lib -L$EVENTLOGRELEASE/lib -L$GLIBRELEASE/lib -L$TARGET/lib -L$TARGET/usr/lib" \ OPENSSL_CFLAGS="${OPENSSL_CC_INC_PATH} ${OPENSSL_CC_FIPS_INC_PATH} -DBUILD_WITH_SSL" \ OPENSSL_LIBS="-lssl -lcrypto" \ LIBS="-lssl -lcrypto"
Hello, The scripts generated by libtool aren't part of the final delivery. The executables in .libs/ will get installed during 'make install' into their final destination and then libtool will (re)link executables against the freshly installed libraries. This is why a successful 'make install' is needed and then the result could get copied to the target host. gmake compares timestamps of source and compiled files to track dependencies so if there was a change after the build process then reconfigure / rebuild gets triggered - this should get avoided but it is more or less impossible to guess what happened on your system after running make... For example many years ago I had issues with certain filesystems not storing fractions of seconds so timestamps were rounded to seconds and comparision became a bit stochastic... Regards, Sandor On 10/04/2017 05:08 PM, Robert King wrote:
Not easily, and not without getting permission from the director of development.
Let’s start with an easy question. …/syslog-ng/syslog-ng is a script. Is this part of the **final** distribution to be installed on the target system? There is also …/syslog-ng/.libs/syslog-ng with is an ELF binary executable. Is this part of the **final** distribution to be installed on the target system? Why are there two executable files with the same name?
…/syslog-ng/.libs/syslog-ng is being natively built on a generic Linux Mint system, but not on my cross-development system. How do you suggest troubleshooting this? Going through the generated Makefile in the project root directory is a nightmare. There is no makefile in …/syslog-ng, so I can’t try to build just that.
Sorry that I was irritated earlier, but I’ve been fighting this for three weeks and my boss is getting angry.
*From:* syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] *On Behalf Of *Budai, László *Sent:* Wednesday, October 04, 2017 10:00 AM *To:* Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu> *Subject:* Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application.
Hi,
could you share a build environment where we can easily reproduce the issue(eg.: a docker file, or, image )?
Laszlo Budai
On Wednesday, October 4, 2017, Robert King <robert.king@tellabs.com <mailto:robert.king@tellabs.com>> wrote:
*From:* syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu <javascript:_e(%7B%7D,'cvml','syslog-ng-bounces@lists.balabit.hu');>] *On Behalf Of *Scheidler, Balázs *Sent:* Tuesday, October 03, 2017 11:32 PM *To:* Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu <javascript:_e(%7B%7D,'cvml','syslog-ng@lists.balabit.hu');>> *Subject:* Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application.
Hi,
Again, so without your help and a civilized exchange of emails this can't be troubleshot, as I never saw your environment, and can't check various details that would affect compilation.
What information would you like from me to progress?
We are using gmake to build the targets. We are calling the configure script with the following arguments:
PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \
SED=/bin/sed \
./configure \
--host=$HOST \
PKG_CONFIG_PATH=$PCRERELEASE/lib/pkgconfig:$EVENTLOGRELEASE/lib/pkgconfig:$GLIBRELEASE/lib/pkgconfig \
--build=$BUILD \
--prefix=$INSTALLDIR \
--bindir=$INSTALLDIR/bin \
--sbindir=$INSTALLDIR/sbin \
--includedir=$INSTALLDIR/include \
--libdir=$INSTALLDIR/lib \
--sharedstatedir=$INSTALLDIR/share \
--exec-prefix=$EXECDIR \
--libexecdir=$EXECDIR/lib \
--localstatedir=$EXECDIR/etc/syslog-ng/var \
--sysconfdir=$EXECDIR/etc/syslog-ng/etc \
--enable-shared=yes \
--enable-ssl \
--enable-static=yes \
--enable-dynamic-linking=yes \
--disable-json \
--enable-pcre=no \
--with-libmongo-client=no \
--with-librabbitmq-client=no \
CC=$MVL/bin/ppc_440-gcc \
CFLAGS="-g -O2" \
CPP=$MVL/bin/ppc_440-cpp \
CPPFLAGS="-I$EVENTLOGRELEASE/include -I$GLIBRELEASE/include -I$TARGET/usr/include -I$TARGET/usr/local/include" \
LDFLAGS="-L/vobs/tools/openssl/openssl/release/$OS/lib -L$EVENTLOGRELEASE/lib -L$GLIBRELEASE/lib -L$TARGET/lib -L$TARGET/usr/lib" \
OPENSSL_CFLAGS="${OPENSSL_CC_INC_PATH} ${OPENSSL_CC_FIPS_INC_PATH} -DBUILD_WITH_SSL" \
OPENSSL_LIBS="-lssl -lcrypto" \
LIBS="-lssl -lcrypto"
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
From: syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] On Behalf Of Sandor Geller Sent: Wednesday, October 04, 2017 10:32 AM To: syslog-ng@lists.balabit.hu Subject: Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application. Hello, The scripts generated by libtool aren't part of the final delivery. The executables in .libs/ will get installed during 'make install' into their final destination and then libtool will (re)link executables against the freshly installed libraries. This is why a successful 'make install' is needed and then the result could get copied to the target host. OK – I understand that. However on my cross-compilation environment, …/syslog-ng/.libs/syslog-ng is not getting built. It simply isn’t there and I’m not seeing any errors indicating it wasn’t built. gmake compares timestamps of source and compiled files to track dependencies so if there was a change after the build process then reconfigure / rebuild gets triggered - this should get avoided but it is more or less impossible to guess what happened on your system after running make... For example many years ago I had issues with certain filesystems not storing fractions of seconds so timestamps were rounded to seconds and comparision became a bit stochastic... OK -- We’ll try switching to make instead of gmake. -- King
When you wrote make install is failling for you, there was this part: GEN lib/rewrite/rewrite-expr-grammar.y YACC lib/rewrite/rewrite-expr-grammar.c ... Maybe I have a clue. Did you happen to run "make clean" in any point during your investigation? Unfortunately "make clean" is a bit more destructive than one would expect on the tarball. If that's the case, please try to start with a freshly extracted directory and do not run make clean. The "make install" should not fail after a successful configure+make. Antal On Wed, Oct 4, 2017 at 5:57 PM Robert King <robert.king@tellabs.com> wrote:
*From:* syslog-ng [mailto:syslog-ng-bounces@lists.balabit.hu] *On Behalf Of *Sandor Geller *Sent:* Wednesday, October 04, 2017 10:32 AM *To:* syslog-ng@lists.balabit.hu
*Subject:* Re: [syslog-ng] Cross-compiling syslog-ng 3.11.1 for an embedded application.
Hello,
The scripts generated by libtool aren't part of the final delivery. The executables in .libs/ will get installed during 'make install' into their final destination and then libtool will (re)link executables against the freshly installed libraries. This is why a successful 'make install' is needed and then the result could get copied to the target host.
OK – I understand that. However on my cross-compilation environment, …/syslog-ng/.libs/syslog-ng is not getting built. It simply isn’t there and I’m not seeing any errors indicating it wasn’t built.
gmake compares timestamps of source and compiled files to track dependencies so if there was a change after the build process then reconfigure / rebuild gets triggered - this should get avoided but it is more or less impossible to guess what happened on your system after running make... For example many years ago I had issues with certain filesystems not storing fractions of seconds so timestamps were rounded to seconds and comparision became a bit stochastic...
OK -- We’ll try switching to make instead of gmake.
-- King
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
participants (5)
-
Antal Nemes
-
Budai, László
-
Robert King
-
Sandor Geller
-
Scheidler, Balázs