← Back to team overview

maria-discuss team mailing list archive

Re: mariadb-config sym-link in MariaDB 10.5.5

 

Following up, with some more specifics...

After configuring with below options, we have the first `maria*config` find(1) results, and then running “make” yields the expected binary :

% find . -name maria\*config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config
./srcdir/mariadb-10.5.5/debian/mariadb-server-10.5.config

<make>
% find . -name maria\*config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config/mariadb_config
./srcdir/mariadb-10.5.5/debian/mariadb-server-10.5.config

Then, a “make DESTDIR=destdir install” yields the following:

./destdir/usr/bin/mariadb_config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config/mariadb_config
./srcdir/mariadb-10.5.5/debian/mariadb-server-10.5.config

And, after no other changes, rerunning the exact same make install command produces the following.  Clearly, something is wrong with the make install process.  So, should the first install create the sym-link, but isn’t?  Or, is it configured in some way that the sym-link shouldn’t be created, and it is, but only when running make install twice?

./destdir/usr/bin/mariadb_config
./destdir/usr/bin/mariadb-config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config
./srcdir/mariadb-10.5.5/libmariadb/mariadb_config/mariadb_config
./srcdir/mariadb-10.5.5/debian/mariadb-server-10.5.config

% ls -l destdir/usr/bin/maria*config
-rwxr-xr-x 1 cross2 5011 25936 Sep 11 14:05 destdir/usr/bin/mariadb_config
lrwxrwxrwx 1 cross2 5011    14 Sep 11 14:56 destdir/usr/bin/mariadb-config -> mariadb_config

Please let me know.  This looks like a bug in the build/install process, but I want to know how to work around it on my side while the fix is developed.

Thank you!

                 - Chris



From: Maria-discuss <maria-discuss-bounces+cross2=cisco.com@xxxxxxxxxxxxxxxxxxx> on behalf of "Chris Ross (cross2)" <cross2@xxxxxxxxx>
Date: Friday, September 11, 2020 at 08:42
To: "maria-discuss@xxxxxxxxxxxxxxxxxxx" <maria-discuss@xxxxxxxxxxxxxxxxxxx>
Subject: [Maria-discuss] mariadb-config sym-link in MariaDB 10.5.5

Hello there friends.  We have recently moved our product to MariaDB 10.5.5, and someone on my team noticed an oddity that occurs in some build processes.

The product has a complicated make-based build system, and many phases including “make src” and “make build” which pre-req’s the “src” target, and includes packaging.  The dev work to integrate mariadb used “make build”, which works.  Someone found unexpectedly this morning, that if we perform a “make src ; make build” we get a different outcome.  There is a sym-link created by the install target

lrwxrwxrwx 1 cross2 5011 14 Sep 11 08:30 ./destdir/usr/bin/mariadb-config -> mariadb_config

that is _not_ created in the first build.  The first build, which given the dependencies of other parts of our product needing mariadb libraries to build, performs the destdir install (via “make install” in mariadb).  And, that includes mariadb_config, but _not_ mariadb-config.

Can someone help me figure out where that sym-link is created, and why it seems to only be created when maria’s “make install” is run twice?

                 - Chris

Cmake config:

CONF_OPTIONS:=-DBUILD_CONFIG=mysql_release \
        -DAWS_SDK_EXTERNAL_PROJECT=OFF \
        -DCMAKE_INSTALL_PREFIX:PATH=${EXTRAPREFIX}/usr \
        -DINSTALL_LAYOUT=RPM \
        -DINSTALL_PLUGINDIR=lib64/plugin \
        -DINSTALL_SYSCONFDIR="" \
        -DINSTALL_MYSQLTESTDIR="" \
        -DWITH_EMBEDDED_SERVER=NO \
        -DWITH_JEMALLOC=OFF \
        -DWITH_PCRE=auto \
        -DWITH_SSL=system \
        -DWITH_ZLIB=system \
        -DWITH_WSREP=OFF -DPLUGIN_WSREP_INFO=NO \
        -DPLUGIN_AUTH_TEST_PLUGIN=NO \
        -DPLUGIN_FUNC_TEST=NO \
        -DPLUGIN_TYPE_TEST=NO \
        -DPLUGIN_TEST_SQL_DISCOVERY=NO \
        -DPLUGIN_TEST_VERSIONING=NO \
        -DPLUGIN_BLACKHOLE=NO \
        -DPLUGIN_CONNECT=NO \
        -DPLUGIN_EXAMPLE=NO -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=NO \
        -DPLUGIN_FTEXAMPLE=NO \
        -DPLUGIN_FEDERATED=NO -DPLUGIN_FEDERATEDX=NO \
        -DPLUGIN_MROONGA=NO -DMRN_GROONGA_EMBED=OFF \
        -DPLUGIN_S3=NO \
        -DPLUGIN_SPIDER=NO \
        -DPLUGIN_SPHINX=NO \
        -DPLUGIN_TOKUDB=NO \
        -DPLUGIN_ROCKSDB=NO
CONF_OPTIONS += -DSKIP_TESTS=ON -DWITH_UNIT_TESTS=NO

--
Chris Ross
Software Engineering Manager – Eventing/Datastore Teams
cross2@xxxxxxxxx


Follow ups