Dnia 6 kwietnia 2011 22:24 Michał Lisowski <[email protected]> napisał(a): > W dniu 06.04.2011 22:15, Bartosz Świątek pisze: > > W dniu 6 kwietnia 2011 15:12 użytkownik Michał Lisowski > > <[email protected]> napisał: > >> Tak, patrzyłem na to również. Problem polega na tym, że z > >> -DWITH_EMBEDDED_SERVER=ON powstaje libmysqld.a, ale ma unresolved symbols. > > Dobra, przekonałeś mnie :) > > > > Spróbuj dodać coś takiego: > > > > --- packages/mysql/mysql.spec 2 Apr 2011 04:46:42 -0000 1.547 > > +++ packages/mysql/mysql.spec 6 Apr 2011 20:12:57 -0000 > > @@ -535,6 +535,21 @@ > > %description ndb-cpc -l pl.UTF-8 > > Ten pakiet zawiera standardowego demona MySQL NDB CPC. > > > > +%package embedded > > +Summary: MySQL - Embedded Library > > +Group: Libraries > > + > > +%description embedded > > +This package contains the embedded MySQL library. > > + > > +%package embedded-devel > > +Summary: MySQL - Embedded Library > > +Group: Libraries > > +Requires: %{name}-embedded = %{version}-%{release} > > + > > +%description embedded-devel > > +This package contains the embedded MySQL library. > > + > > %prep > > %setup -q %{?with_sphinx:-a100} > > %if %{with sphinx} > > @@ -659,12 +674,23 @@ > > -DINSTALL_MYSQLTESTDIR_RPM="" \ > > -DINSTALL_SQLBENCHDIR=%{_datadir} \ > > -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \ > > + -DWITH_EMBEDDED_SERVER=ON \ > > .. > > > > %{__make} > > > > %{?with_tests:%{__make} test} > > > > +install -d libmysqld/build > > +cd libmysqld/build > > +ar -x ../libmysqld.a > > +rm -f sql_binlog.cc.o rpl_utility.cc.o > > +CFLAGS=$(echo %{rpmcflags}) > > +LDFLAGS=$(echo %{rpmldflags}) > > +%{__cc} $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o > > libmysqld.so.0.0.1 \ > > + *.o \ > > + -lpthread -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc > > + > > %install > > rm -rf $RPM_BUILD_ROOT > > install -d > > $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \ > > @@ -676,6 +702,12 @@ > > > > cp -a Docs/mysql.info $RPM_BUILD_ROOT%{_infodir} > > > > +# Remove libmysqld.a, install libmysqld.so > > +rm -f $RPM_BUILD_ROOT%{_libdir}/libmysqld.a > > +install -m 0755 build/libmysqld/build/libmysqld.so.0.0.1 > > $RPM_BUILD_ROOT%{_libdir}/libmysqld.so.0.0.1 > > +ln -s libmysqld.so.0.0.1 $RPM_BUILD_ROOT%{_libdir}/libmysqld.so.0 > > +ln -s libmysqld.so.0 $RPM_BUILD_ROOT%{_libdir}/libmysqld.so > > + > > install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql > > cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql > > cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql > > @@ -827,6 +859,8 @@ > > > > %post libs -p /sbin/ldconfig > > %postun libs -p /sbin/ldconfig > > +%post embedded -p /sbin/ldconfig > > +%postun embedded -p /sbin/ldconfig > > > > %triggerpostun -- mysql< 4.0.20-2.4 > > # For clusters in /etc/%{name}/clusters.conf > > @@ -1227,6 +1261,15 @@ > > %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) > > /etc/sysconfig/mysql-ndb-cpc > > %{_mandir}/man1/ndb_cpcd.1* > > %endif > > + > > +%files embedded > > +%defattr(644,root,root,755) > > +%attr(755,root,root) %{_libdir}/libmysqld.so.? > > +%attr(755,root,root) %{_libdir}/libmysqld.so.*.*.* > > + > > +%files embedded-devel > > +%defattr(644,root,root,755) > > +%attr(755,root,root) %{_libdir}/libmysqld.so > > > > %define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`) > > %changelog > > > > > > Tylko jeszcze cośtam trzeba dodać zeby się rpm nie czepiał o symbole. > > Z tym powinien się już amarok budować. > > > > > > eeee, ten %{__make} ci nie przejdzie. Oszukałem, libmysqld.a nie > powstanie, bo przy jego linkowaniu się wypieprza. Dalej wszystko fajnie, > ale nie mogę nic zrobić bez wygenerowania libmysqld.a >
Tylko po co to wszystko skoro jest dostepna latka na cmake co zbuduje i lib.a i lib.so ? Jedynym problemem sa te 2 latki o ktorych pisalem, bo powoduja nie rozwiazane symbole. Pozdrawiam Bartlomiej Zimon _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
