Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-12423

install fails to create/install symlinks to mysqlclient compat libs

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.2.5, 10.2(EOL)
    • 10.2.7
    • Compiling, Server
    • None

    Description

      mkdir build
      cd build
      cmake .. -LAH
      	...
      	// creates libmysql* symbolic links
      	CONC_WITH_MYSQLCOMPAT:BOOL=ON
      	...
      rm -f CMakeCache.txt
      cmake .. -DCONC_WITH_MYSQLCOMPAT=1 ...
      make -j4 V=1
      rm -rf /usr/local/mariadb/
      make install
      

      note, NO SYMLINKS

      ls -al /usr/local/mariadb/lib64/
      	total 840K
      	drwxrwxr-x+  2 root root 4.0K Apr  1 17:49 ./
      	drwxrwxr-x+ 13 root root 4.0K Apr  1 17:47 ../
      	-rw-r--r--+  1 root root 445K Apr  1 17:39 libmariadbclient.a
      	lrwxrwxrwx   1 root root   15 Apr  1 17:47 libmariadb.so -> libmariadb.so.3*
      	-rwxr-xr-x+  1 root root 335K Apr  1 17:39 libmariadb.so.3*
      	-rw-r--r--+  1 root root  22K Apr  1 17:39 libmysqlservices.a
      

      checking sources

      cd ../
      rm -rf build
      grep MYSQLCOMPAT `grep -rln MYSQLCOMPAT .`
      	./cmake/mariadb_connector_c.cmake:SET(CONC_WITH_MYSQLCOMPAT ON)
      	./libmariadb/CMakeLists.txt:FOREACH(V WITH_MYSQLCOMPAT WITH_MSI WITH_SIGNCODE WITH_RTC WITH_UNITTEST
      ??	./libmariadb/CMakeLists.txt:  ADD_OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" ON)
      

      trying instead

      -	cmake .. -DCONC_WITH_MYSQLCOMPAT=1 ...
      +	cmake .. -DWITH_MYSQLCOMPAT=1 ...
       
      	make -j4 V=1
      	rm -rf /usr/local/mariadb/
      	make install
      

      note, still NO SYMLINKS

      ls -al /usr/local/mariadb/lib64/
      	total 816K
      	drwxrwxr-x+  2 root root 4.0K Apr  1 19:14 ./
      	drwxrwxr-x+ 13 root root 4.0K Apr  1 19:14 ../
      	-rw-r--r--+  1 root root 445K Apr  1 19:08 libmariadbclient.a
      	lrwxrwxrwx   1 root root   15 Apr  1 19:14 libmariadb.so -> libmariadb.so.3*
      	-rwxr-xr-x+  1 root root 335K Apr  1 19:08 libmariadb.so.3*
      	-rw-r--r--+  1 root root  22K Apr  1 19:08 libmysqlservices.a
      

      Attachments

        Activity

          pgnd pgnd added a comment -

          I see 10.2.6 has been released. As configured above, installs from 10.2-branch still do not create the compat symlinks.

          As that's changed behavior from earlier releases,

          (1) is that the intention/plan going forward?
          (2) should packagers accommodate locally?

          pgnd pgnd added a comment - I see 10.2.6 has been released . As configured above, installs from 10.2-branch still do not create the compat symlinks. As that's changed behavior from earlier releases, (1) is that the intention/plan going forward? (2) should packagers accommodate locally?

          A preliminary answer — no, this is not the intention, it's a bug that didn't make the deadline. Hopefully, it'll be fixed in the next release.

          A proper bug resolution should come in a few of weeks, closer to the 10.2.7 release date.

          serg Sergei Golubchik added a comment - A preliminary answer — no, this is not the intention, it's a bug that didn't make the deadline. Hopefully, it'll be fixed in the next release. A proper bug resolution should come in a few of weeks, closer to the 10.2.7 release date.
          pgnd pgnd added a comment -

          fyi, then:

          for those building/installing mariadb locally – 'above' a distro installed, earlier/different release of MDB – and your build's installed lib paths are modified at any point to precede distro-installed paths (e.g., /usr/local/lib64 preceding /usr/lib64), the presence of the distro's libmysqlclient.so – in the absence of these^ symlinks from your build – will be used by (the many) apps that (still) search for & link against libmysqlclient.so.

          That can/will cause some ... interesting ... run-time issues.

          For now, a DIY symlink is needed.

          pgnd pgnd added a comment - fyi, then: for those building/installing mariadb locally – 'above' a distro installed, earlier/different release of MDB – and your build's installed lib paths are modified at any point to precede distro-installed paths (e.g., /usr/local/lib64 preceding /usr/lib64), the presence of the distro's libmysqlclient.so – in the absence of these^ symlinks from your build – will be used by (the many) apps that (still) search for & link against libmysqlclient.so. That can/will cause some ... interesting ... run-time issues. For now, a DIY symlink is needed.

          People

            serg Sergei Golubchik
            pgnd pgnd
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.