Difference between revisions of "OS-SCO-OpenSource-BuildIssues"
Jump to navigation
Jump to search
(Add a new SCO topic) |
(Add a way to resolve dlopen errors during build.) |
||
Line 39: | Line 39: | ||
:: 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. | :: 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. | :: 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 [http://uw714doc.xinuos.com/en/MysqlDoc/installing.html#perl-installation 2.12.3. Solaris Notes]: | ||
+ | |||
+ | <div style="background-color: #EEEEEE; border: dashed; border-width: 1px; font-family: courier; margin: 1em 2em; padding: 1ex; white-space: pre;"><nowiki>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 | ||
+ | </nowiki></div> | ||
+ | |||
+ | Avoiding use of ''CFLAGS="-static"'' appears to resolve similar ''dlopen'' problems when compiling software on SCO OpenServer 5.0.7. | ||
</blockquote> | </blockquote> |
Revision as of 18:12, 8 January 2021
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
Contents
./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:
./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 -lrtAvoiding use of CFLAGS="-static" appears to resolve similar dlopen problems when compiling software on SCO OpenServer 5.0.7.
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.