In AIX 7.1 Apache modules not building as shared - apache2

I want all my modules built with a .so extension so that they are shared. However, all my modules are building with a .la extension. Here are the contents of the module directory:
httpd.exp libmod_proxy_ajp.a libmod_speling.a mod_info.la mod_proxy_scgi.la
libmod_cern_meta.a libmod_proxy_balancer.a libmod_ssl.a mod_proxy.la mod_rewrite.la
libmod_dbd.a libmod_proxy_connect.a libmod_vhost_alias.a mod_proxy_ajp.la mod_speling.la
libmod_deflate.a libmod_proxy_ftp.a mod_cern_meta.la mod_proxy_balancer.la mod_ssl.la
libmod_expires.a libmod_proxy_http.a mod_dbd.la mod_proxy_connect.la mod_vhost_alias.la
libmod_info.a libmod_proxy_scgi.a mod_deflate.la mod_proxy_ftp.la
libmod_proxy.a libmod_rewrite.a mod_expires.la mod_proxy_http.la
Here is my configure command:
./configure \
--with-mpm=prefork \
--with-ssl=/opt/freeware \
--enable-cern-meta \
--enable-dbd \
--enable-deflate \
--enable-expires \
--enable-info \
--enable-proxy \
--enable-rewrite \
--enable-speling \
--enable-ssl \
--enable-vhost-alias \
--enable-mods-shared="cern_meta dbd deflate expires info proxy rewrite speling ssl vhost_alias"
I have done this many times in the past on AIX 5.2, 5.3 and 6.1 without issue.

.la files are libtool's library control file syntax. Notice they are really just small scripts. Check for your shared library objects inside the .libs directory. You might also explicitly tell configure that you want shared libraries with --enable-shared

Related

Karaf feature:install does nothing

I've downloaded ServiceMix 7.0.1 and followed the documentation. I need to install Camel features using:
karaf#root>feature:install camel-sql
But when I do that nothing happens. There's no response until I hit ctrl-c. The log file doesn't help either.
2020-03-25 14:13:25,709 | INFO | Thread-16 | FeaturesServiceImpl
| 8 - org.apache.karaf.features.core - 4.0.9 | Adding features: camel-sql/[2.24.2,2.24.2]
And the online documentation is sparse to say the least.
Update
Using -v -t gives the below output, but still nothing thereafter:
karaf#root>feature:install -v -t camel-sql
Adding features: camel-sql/[2.24.2,2.24.2]
You have to update Maven configuration in etc/org.ops4j.pax.url.mvn.cfg in your ServiceMIX 7.0.1 installation. Change:
org.ops4j.pax.url.mvn.repositories= \
http://repo1.maven.org/maven2#id=central, \
http://repository.springsource.com/maven/bundles/release#id=spring.ebr.release, \
http://repository.springsource.com/maven/bundles/external#id=spring.ebr.external, \
http://zodiac.springsource.com/maven/bundles/release#id=gemini, \
http://repository.apache.org/content/groups/snapshots-group#id=apache#snapshots#noreleases, \
https://oss.sonatype.org/content/repositories/snapshots#id=sonatype.snapshots.deploy#snapshots#noreleases, \
https://oss.sonatype.org/content/repositories/ops4j-snapshots#id=ops4j.sonatype.snapshots.deploy#snapshots#noreleases
to:
org.ops4j.pax.url.mvn.repositories= \
https://repo1.maven.org/maven2#id=central, \
http://repository.springsource.com/maven/bundles/release#id=spring.ebr.release, \
http://repository.springsource.com/maven/bundles/external#id=spring.ebr.external, \
http://zodiac.springsource.com/maven/bundles/release#id=gemini, \
http://repository.apache.org/content/groups/snapshots-group#id=apache#snapshots#noreleases, \
https://oss.sonatype.org/content/repositories/snapshots#id=sonatype.snapshots.deploy#snapshots#noreleases, \
https://oss.sonatype.org/content/repositories/ops4j-snapshots#id=ops4j.sonatype.snapshots.deploy#snapshots#noreleases
repo1.maven.org no longer allows access using http. https is required.
Can you please try bundle:install mvn:org.apache.camel/camel-sql/2.24.2

Custom u-boot environment variables using buildroot

How do you add a new set of custom environment variables to u-boot using buildroot as the os build system?
I attempted to patch the include/configs/rpi.h using an external tree patch to add a new variable but kconfig got grumpy (patch shown after complaining):
The following new ad-hoc CONFIG options were detected:
CONFIG_XXXXXX_ENV_SETTINGS
Please add these via Kconfig instead. Find a suitable Kconfig
file and add a 'config' or 'menuconfig' option.
Makefile:871: recipe for target 'all' failed
--- a/include/configs/rpi.h 2018-03-13 12:02:19.000000000 +0000
+++ b/include/configs/rpi.h 2018-11-19 12:32:15.728000000 +0000
## -140,0 +141,7 ##
+#define CONFIG_XXXXXX_ENV_SETTINGS \
+ "newboard=true" \
+ "hasFailedBoot=false" \
+ "hasFailedBootCount=0" \
+ "maximumFailedBootCount=3"
+
+
## -145 +152,2 ##
- BOOTENV
+ BOOTENV \
+ CONFIG_XXXXXX_ENV_SETTINGS
I can use uboot-menuconfig to set up u-boot specific stuff but am not sure how to create environment variables
You can set CONFIG_USE_DEFAULT_ENV_FILE in uboot-menuconfig and point that to a file that contains the complete default environment.
Since you use Buildroot, don't forget to save the modified U-Boot configuration by changing its location (Buildroot option BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE) and running make uboot-update-defconfig.

How can I change these variables?

I have in my C code, which I based on GNU hello, this
printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
Now I want to change the package variables but I can't find where they are set. Do you know where I can change them? If I serach for the variables in my project I only find auto-generated files such as config.h etc.
The variables must come from somewhere, where is it?
The way I build my project is ./configure && make && sudo make install
They come from the configure script:
# Identity of this package.
PACKAGE_NAME='GNU Hello'
PACKAGE_TARNAME='hello'
PACKAGE_VERSION='2.7'
PACKAGE_STRING='GNU Hello 2.7'
PACKAGE_BUGREPORT='bug-hello#gnu.org'
PACKAGE_URL='http://www.gnu.org/software/hello/'
Makefile.in contains:
PACKAGE_NAME = #PACKAGE_NAME#
PACKAGE_STRING = #PACKAGE_STRING#
PACKAGE_TARNAME = #PACKAGE_TARNAME#
PACKAGE_URL = #PACKAGE_URL#
PACKAGE_VERSION = #PACKAGE_VERSION#
and there's presumably something in the configure script that replaces all the #VARNAME# placeholders with the values of the variables.
I found these with:
grep -R PACKAGE_NAME .
while in the hello-2.7 directory.

Error while trying to make a RabbitMQ C-master project

I am trying to build my own project, i.e., smart_parking using RabbitMQ C-master. The link to the C APIs is:
https://github.com/alanxz/rabbitmq-c
I made a folder with the name smart_parking in the rabbitmq folder. I also wrote the CMakeLists.txt files and edited the Makefile.am as follows:
CMakeLists.txt:
# vim:set ts=2 sw=2 sts=2 et:
include_directories(${LIBRABBITMQ_INCLUDE_DIRS})
if (WIN32)
set(PLATFORM_DIR win32)
else (WIN32)
set(PLATFORM_DIR unix)
endif (WIN32)
set(COMMON_SRCS
utils.h
utils.c
${PLATFORM_DIR}/platform_utils.c
)
add_executable(client_1 client_1.c ${COMMON_SRCS})
target_link_libraries(client_1 ${RMQ_LIBRARY_TARGET})
add_executable(client_2 client_2.c ${COMMON_SRCS})
target_link_libraries(client_2 ${RMQ_LIBRARY_TARGET})
add_executable(client_3 client_3.c ${COMMON_SRCS})
target_link_libraries(client_3 ${RMQ_LIBRARY_TARGET})
add_executable(client_4 client_4.c ${COMMON_SRCS})
target_link_libraries(client_4 ${RMQ_LIBRARY_TARGET})
Makefile.am:
if SMART_PARKING
noinst_LTLIBRARIES += smart_parking/libutils.la
smart_parking_libutils_la_SOURCES = \
smart_parking/utils.c \
smart_parking/utils.h
smart_parking_libutils_la_CFLAGS = $(AM_CFLAGS)
if OS_UNIX
smart_parking_libutils_la_SOURCES += smart_parking/unix/platform_utils.c
endif
if OS_WIN32
smart_parking_libutils_la_SOURCES += smart_parking/win32/platform_utils.c
smart_parking_libutils_la_CFLAGS += -I$(top_srcdir)/tools/win32/msinttypes
endif
noinst_PROGRAMS = \
smart_parking/client_1 \
smart_parking/client_2 \
smart_parking/client_3 \
smart_parking/client_4
smart_parking_client_1_SOURCES = smart_parking/client_1.c
smart_parking_client_1_LDADD = \
smart_parking/libutils.la \
librabbitmq/librabbitmq.la
smart_parking_client_2_SOURCES = smart_parking/client_2.c
smart_parking_client_2_LDADD = \
smart_parking/libutils.la \
librabbitmq/librabbitmq.la
smart_parking_client_3_SOURCES = smart_parking/client_3.c
smart_parking_client_3_LDADD = \
smart_parking/libutils.la \
librabbitmq/librabbitmq.la
smart_parking_client_4_SOURCES = smart_parking/client_4.c
smart_parking_client_4_LDADD = \
smart_parking/libutils.la \
librabbitmq/librabbitmq.la
endif
But when I try to make the project, I get the following error:
GEN tools/doc/amqp-publish.1
usage: xmlto [OPTION]... FORMAT XML
OPTIONs are:
-v verbose output (-vv for very verbose)
-x stylesheet use the specified stylesheet instead of choosing one
-m fragment use the XSL fragment to customize the stylesheet
-o directory put output in the specified directory instead of
the current working directory
-p postprocopts pass option to postprocessor
--extensions turn on stylesheet extensions for this tool chain
--noautosize do not autodetect paper size via locales or paperconf
--noclean temp files are not deleted automatically
(good for diagnostics)
--noextensions do not use passivetex/fop extensions
--searchpath colon-separated list of fallback directories
--skip-validation
do not attempt to validate the input before processing
--stringparam paramname=paramvalue
pass a named parameter to the stylesheet from the
command line
--with-fop use fop for formatting (if fop available)
--with-dblatex use dblatex for formatting (if dblatex available)
Available FORMATs depend on the type of the XML file (which is
determined automatically).
For documents of type "docbook":
awt dvi epub fo html htmlhelp html-nochunks javahelp man mif pcl pdf ps svg text txt xhtml xhtml-nochunks
For documents of type "xhtml1":
awt dvi fo mif pcl pdf ps svg txt
For documents of type "fo":
awt dvi mif pcl pdf ps svg txt
make[1]: *** [tools/doc/amqp-publish.1] Error 1
make[1]: Leaving directory `/home/l4tmm/Desktop/Smart parking simulation in C/rabbitmq-c'
make: *** [all] Error 2
The usage: xmlto [OPTION]... FORMAT XML error is due to xmlto being called incorrectly from the build script. Disable doc generation by passing in --disable-docs to the configure script.

Custom build of openSSL for OS X - limit ciphers suites

Main goal
I need openSSL. Apple deprecated this library since 10.7 It is even impossible to create context when ignoring warnings about deprecation.
I decided to build openSSL and tweak it to my needs:
disable SSL protocol (only TLS should be supported)
limit cipher suites to secure one
What I have done
How I'm trying to build it.
I've downloaded sources version 1.0.2d and configured it this way:
./Configure -openssldir=$(pwd)/output-build \
enable-ec_nistp_64_gcc_128 \
no-ssl2 no-ssl3 \
no-shared no-comp \
enable-TLS_DHE_RSA_WITH_AES_256_CBC_SHA \
enable-TLS_DH_RSA_WITH_AES_256_CBC_SHA \
enable-TLS_DHE_DSS_WITH_AES_256_CBC_SHA \
enable-TLS_DH_DSS_WITH_AES_256_CBC_SHA \
enable-TLS_RSA_WITH_AES_256_CBC_SHA \
enable-TLS_DHE_RSA_WITH_AES_128_CBC_SHA \
enable-TLS_DH_RSA_WITH_AES_128_CBC_SHA \
enable-TLS_DHE_DSS_WITH_AES_128_CBC_SHA \
enable-TLS_DH_DSS_WITH_AES_128_CBC_SHA \
enable-TLS_RSA_WITH_AES_128_CBC_SHA \
enable-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA \
enable-TLS_RSA_WITH_3DES_EDE_CBC_SHA \
darwin64-x86_64-cc
Problem
Switches for disabling SSL are clear and I'm happy with it.
Switches for cipher suites are very inconvenient, I'm not sure how they work. They are not documented, ./Configure --help prints this:
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...]
[experimental-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx]
[no-hw-xxx|no-hw] [[no-]threads] [[no-]shared]
[[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386]
[--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]]
[--test-sanity] os/compiler[:flags]
I just want listed cipher suites and nothing else. Format of this switches give me impression that I have to disable quite long list of other cipher suites. Is there better way so I can disabled all but those listed above?

Resources