OS-SCO-OpenSource-BuildIssues

From KRayWiki
Jump to navigation Jump to search

Index to SCO OpenServer 5.0.7 issues relating to building open source projects

See Also:> 
OS-SCO-OpenSource-BuildEnvironment
OS-SCO-OpenSource-KnownIssues
OS-SCO-OpenSource
OS-SCO

./configure

./configure[*]: : is not an identifier

This issue may seem insignificant if a fatal error does not occur, but experience shows that it can negatively impact `make` and `make install`.

Workaround:

Require that BASH is used instead of the Bourne shell. For example:
$ CONFIG_SHELL=$(which bash) ./configure CONFIG_SHELL=$(which bash) --prefix="${HOME}"
It is intentional that CONFIG_SHELL is specified twice!

Generic ./configure command fails

When a generic ./configure command fails, it is sometimes helpful to specify a compiler before doing in-depth troubleshooting.

Workaround:

Specify a compiler to use by changing CC= to either CC=gcc or CC=gcc-3.4.6.

./configure succeeds; optional resources missing

Note:

  • Missing optional resources are not necessarily obvious.
  • Missing resources may create issues later when the built object is used.
  • When the built resource is a library, fixing such issues requires resolving issues in why the resource was not found.
    • This may require building pre-requisites or reconfiguring the build so the resource is found and used.
    • Compiling pre-requisites of a build may imply that other builds may also benefit from a rebuild.

Workaround:

  • Later revisions of the make_dist.txt build procedure create *-configure.out and *-configure.log files.
The improved build procedure was created after many resources were already built. There is value in validating prior builds by rebuilding them and analyzing results.
It is wise to analyze these files and to look for evidence of missing resources, warnings, errors, or other notices, easily missed due to the volume and speed of console output.

configure: error: dlopen was not found

Per MySQL 2.12.3. Solaris Notes:

Solaris does not provide static versions of all system libraries (libpthreads and libdl), so you cannot compile MySQL with --static. If you try to do so, you get one of the following errors: ld: fatal: library -ldl: not found undefined reference to `dlopen' cannot find -lrt

Avoiding use of CFLAGS="-static" appears to resolve similar dlopen problems when compiling software on SCO OpenServer 5.0.7.

configure: error: You must have either have gettext support

Even though gettext is installed, ./configure may not find it.

$ which gettext /usr/gnu/bin/gettext $ gettext --version | head -1 gettext (GNU gettext-runtime) 0.14.5 $ ./configure --prefix=${PKG_PRFX} ... configure: error: *** You must have either have gettext support in your C library, or use the *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html

Workaround:

In the case where this was observed (glib.txt), the location of related resources was known to the ./configure script via CFLAGS and LDFLAGS environment variables:

CC=gcc CFLAGS=-I/usr/gnu/include LDFLAGS=-L/usr/gnu/lib ./configure --prefix=/usr/local

make

make succeeds; warnings or non-fatal errors occur

Note:

  • Warnings or errors are not necessarily obvious (fatal).
  • Such issues may impact installed resources or result in fewer installed components
    • Evidence of build/install issues may not occur until resources are used in a way that exercises an affected object.

Workaround:

Later revisions of the make_dist.txt build procedure create a *-make.out file.
The improved build procedure was created after many resources were already built. There is value in validating prior builds by rebuilding them and analyzing results.
It is wise to analyze these files and to look for evidence of missing resources, warnings, errors, or other notices, easily missed due to the volume and speed of console output.

make install

make succeeds; warnings or non-fatal errors occur

Note:

  • Warnings or errors are not necessarily obvious (fatal).
  • Such issues may impact installed resources or result in fewer installed components
    • Evidence of build/install issues may not occur until resources are used in a way that exercises an affected object.
  • Notices may emphasize a need for additional processes not necessarily typical, or commonly skipped, when building open source projects.
    • For example, some projects encourage use of built-in validation test-suites like `make check` or `make tests` that can reveal build problems that are not trivial to identify otherwise.

Workaround:

Later revisions of the make_dist.txt build procedure create a *-install.out file.
The improved build procedure was created after many resources were already built. There is value in validating prior builds by rebuilding them and analyzing results.
It is wise to analyze these files and to look for evidence of missing resources, warnings, errors, or other notices, easily missed due to the volume and speed of console output.