[Bug 1083962] Review Request: maxscale - A database-centric proxy that works with MariaDB and MySQL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1083962



--- Comment #15 from Paulo Andrade <paulo.cesar.pereira.de.andrade@xxxxxxxxx> ---
(In reply to Oden Eriksson from comment #13)
> I'm back.

  Sorry for the delay, did not reply earlier because I did want
to try to help and work a bit on it to help it getting fixed...

> There is nothing more I can do to the source code to make it conform to the
> requests made in this bugreport. The source surely needs good autopoo but
> for now there is none. It builds, it installs, it works, should be enough,
> no?

  I cannot confirm it works, %check (make testall) does not work
either :-)

  I started patching it a bit to get "make install" to work, but
it really is quite broken... starting with a simple:

%if %__isa_bits == 64
    sed -i 's|\(libdir = \).*|\1%{_libdir}|' makefile.inc
%endif

I got past the first error I noticed in #12, but then, in
make install there are bad dependencies, so I started running
make install in subdirectories, at first "log_manager" and
"query_classifier", but the problem is that it fails to
link because it installs query_classifier stuff in
/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64/maxscale/modules/
instead of
home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64/
and then fails to link; sample error message from where I stopped:

---%<---
libtool: install: (cd
/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/server/modules/routing/readwritesplit;
/bin/sh /usr/bin/libtool  --tag CC --mode=relink cc -c -fPIC -I/usr/include
-I../../include -I../../../include
-I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager
-I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils
-I/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier
-I/usr/include/mysql/ -I/usr/include/mysql/private/ -I/usr/include/mysql/extra/
-Wall -g -Wall -fPIC -shared
-L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager
-L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier -L/usr/lib64 -rpath
/usr/lib64/maxscale/modules -avoid-version -module -o libreadwritesplit.la
readwritesplit.o /home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o
-lssl -pthread -L/usr/lib64/mysql -lmysqld
/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier/libquery_classifier.la
/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager/liblog_manager.la
-inst-prefix-dir /home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64)

*** Warning: Linking the shared library libreadwritesplit.la against the
non-libtool
*** objects  readwritesplit.o
/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o is not portable!
libtool: relink: gcc -shared  -fPIC -DPIC   readwritesplit.o
/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/utils/skygw_utils.o  
-L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/log_manager
-L/home/pcpa/rpmbuild/BUILD/maxscale-0.5.0/query_classifier -L/usr/lib64 -lssl
-L/usr/lib64/mysql
-L/home/pcpa/rpmbuild/BUILDROOT/maxscale-0.5.0-1.fc21.x86_64/usr/lib64
-lquery_classifier -lpthread -lmysqld -llog_manager  -pthread   -pthread
-Wl,-soname -Wl,libreadwritesplit.so -o .libs/libreadwritesplit.so
/usr/bin/ld: cannot find -lquery_classifier
collect2: error: ld returned 1 exit status
---%<---

BTW, I also made a this quick/hacked patch to get a bit further in
%install:
---%<---
diff -up maxscale-0.5.0/query_classifier/query_classifier.cc.orig
maxscale-0.5.0/query_classifier/query_classifier.cc
--- maxscale-0.5.0/query_classifier/query_classifier.cc.orig    2014-05-02
12:16:02.583431844 -0300
+++ maxscale-0.5.0/query_classifier/query_classifier.cc    2014-05-02
12:19:05.693438856 -0300
@@ -35,21 +35,19 @@
 #include "../utils/skygw_debug.h"
 #include <log_manager.h>

-#include <mysql.h>
-#include <my_sys.h>
-#include <my_global.h>
-#include <my_dbug.h>
-#include <my_base.h>
-#include <sql_list.h>
-#include <mysqld_error.h>
-#include <sql_class.h>
-#include <sql_lex.h>
-#include <embedded_priv.h>
-#include <sql_class.h>
-#include <sql_lex.h>
-#include <sql_parse.h>
-#include <errmsg.h>
-#include <client_settings.h>
+#include <mysql/mysql.h>
+#include <mysql/my_sys.h>
+#include <mysql/my_global.h>
+#include <mysql/my_dbug.h>
+#include <mysql/private/my_base.h>
+#include <mysql/private/sql_list.h>
+#include <mysql/mysqld_error.h>
+#include <mysql/private/sql_class.h>
+#include <mysql/private/sql_lex.h>
+#include <mysql/private/embedded_priv.h>
+#include <mysql/private/sql_parse.h>
+#include <mysql/errmsg.h>
+#include <mysql/private/client_settings.h>

 #include <item_func.h>

---%<---

as well as a quick/hacked patch to build_gateway.inc, i.e.

sed -i 's|$(HOME)||g' build_gateway.inc
sed -i "s|\(ROOT_PATH := \).*|\1$PWD|" build_gateway.inc
%if %__isa_bits == 32
    sed -i 's|lib64|lib|g' build_gateway.inc
%endif

> $ cat /etc/redhat-release 
> Red Hat Enterprise Linux Server release 6.5 (Santiago)
> 
> $ rpm --eval %{__global_ldflags}
> %{__global_ldflags}
> 
> The intended target was RHEL6, RHEL7 and fedora+ using just one source rpm
> package. But, on RHEL6 I just realized it needs a newer mariadb version so I
> removed RHEL6 support from this package. I think when I worked with this I
> must have had the yum.mariadb.org mariadb packages installed. Heh.
> 
> New spec and src.rpm files up at the same location.

You should bump the release when asking for a new review.

For the moment, I am sorry but I cannot give a positive review if
"make install" and "make testall" are not patched to work.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]