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

cannot configure on current ubuntu LTS #25

Closed
ktsaou opened this issue Nov 16, 2015 · 4 comments
Closed

cannot configure on current ubuntu LTS #25

ktsaou opened this issue Nov 16, 2015 · 4 comments

Comments

@ktsaou
Copy link
Member

ktsaou commented Nov 16, 2015

@alonbl I am trying to run it through several linux distros.

This is what happens on current ubuntu LTS:

$ ./configure --prefix=/opt/netdata
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
./configure: line 3902: PKG_PROG_PKG_CONFIG: command not found
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for inline... inline
checking for sin in -lm... yes
./configure: line 4992: syntax error near unexpected token `newline'
./configure: line 4992: `       PKG_CHECK_MODULES('
@alonbl
Copy link
Contributor

alonbl commented Nov 16, 2015

this is different issue... you need to have access to pkg.m4 on the machine you run make dist.

so when trying this, always use recent development machine to perform the packaging, then transfer the tarball to the build machine. this way you always generate the up-to-date artifacts requires for the build.

@ktsaou
Copy link
Member Author

ktsaou commented Nov 16, 2015

You lost me...

Let's assume I have this machine only and I am trying to install the development version of netdata (the most common case, until we release it), how can I install it?

I tried also as root. Same result.

Note also this:

./configure: line 3902: PKG_PROG_PKG_CONFIG: command not found

Is there something the user can do to configure it?

@alonbl
Copy link
Contributor

alonbl commented Nov 16, 2015

well... autoconf process separate between development machine and build machine.
developer have autoconf/automake/libtool/perl and other tools at his machine, while build requirements are minimum shell and POSIX tools.
the way it is achieved is by generating code at developer machine and have it available for build machine.
configure script is a good example, it is generated out of many files.
one of them, which is missing in this environment is pkg.m4 which is the code of pkg-config.
so your options are:

  1. for development use your machine, for build/test use the older machine. this is the best practice. run autoreconf -ivf && ./configure && make dist at development machine, extract and build tarball on build machine.
  2. locate the package that provide /usr/share/aclocal/pkg.m4, usually it will be something like pkgconfig or pkgconfig-devel, install it, then run autoreconf -ivf.
  3. copy pkg.m4 to package's m4 directory from a machine it is available, then run autoreconf -ivf.

@ktsaou
Copy link
Member Author

ktsaou commented Nov 16, 2015

ok. I found pkg-config was missing.

Alter installing it and running . /etc/profile, everything works.

@ktsaou ktsaou closed this as completed Nov 16, 2015
underhood referenced this issue in underhood/netdata May 21, 2021
vkalintiris pushed a commit to vkalintiris/netdata that referenced this issue Dec 13, 2023
* remove vendor dir

* go mod init

* go mod tidy

* downgrade prometheus package to 2.3.2

* wip1

* wip change modules layout

* wip move from state to flag

* wip remove chartState, move update chart to separate func

* wip set chart priority

* wip minor

* remove auto chart cleanup from populate metrics

* chart attr fix

* Decode never return EOF

Decode never return EOF

apply from github test

Co-Authored-By: l2isbad <ilyamaschenko@gmail.com>

* remove ChartCleanup from JobConfig and minor

* job MainLoop

* Update godplugin/configs.go

Co-Authored-By: l2isbad <ilyamaschenko@gmail.com>

* plugin config Load fix

* dirty name fix

* dirty name fix2

* dirty name fix2

* use Job interface in plugin

* messing with names

* chart Copy fix, add calcSinceLast

* add simple CI

* chart creating fix

* chart dimDivMul fix

* fix CI

* fix syntax

* fix CI2

* fix CI 3

* fix CI 4

* fix CI

* logging fixes

* fix ci

* simple CI

* add mutex to log ticker

* remove UpdateEvery ModuleName stuff from modules.Base

* Update godplugin/configs.go

Co-Authored-By: l2isbad <ilyamaschenko@gmail.com>

* Update godplugin/configs.go

Co-Authored-By: l2isbad <ilyamaschenko@gmail.com>

* Revert "Update godplugin/configs.go"

This reverts commit 25af5c5

* Revert "Update godplugin/configs.go"

This reverts commit 27255bb

* godplugin ticker test

* godplugin ticker test fix

* add "String() string" to chartType, dimAlgo

* charts_test

* charts_test

* charts_test

* add codecov

* add codecov yml

* rename config -> pluginconfig

* remove unused attrs from modules.Base

* add GetDim to Chart

* add additional newline in netdataapi END

* add vars to chart in chartCreate

* calcPenalty

* call recover in job init

* invoke Cleanup if panic

* chart priority simplification

* add chartPrio test

* wip: new config format

* minor

* rename helpers

* Revert "rename helpers"

This reverts commit 24fc3af

* remove pkg/ from .gitignore

* helpers -> pkg

* minor

* move populating active modules to a separate func

* createJobs fixes

* minor

* recheck minor

* recheck minor

* respect global and module defaults

* minor

* minor

* minor

* minor

* skip already started jobs

* plugin New minor changes

* remove select from plugin MainLoop

* minor

* minor

* move default to updateCharts method
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