LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   easystroke 0.5.3 build fails (http://www.linuxquestions.org/questions/slackware-14/easystroke-0-5-3-build-fails-815855/)

imitis 06-23-2010 03:31 AM

easystroke 0.5.3 build fails
 
using slakware64 13.1
modified sbo slackbuild for latest version...


Code:

echo "const char *desktop_file = \"\\" > desktop.c
sed 's/Exec=easystroke/Exec=%s/' easystroke.desktop | sed 's/"/\\"/g' | sed 's/.*/&\\n\\/' >> desktop.c
echo "\";" >> desktop.c
gcc -std=c99 -O2 -fPIC    -c -o desktop.o desktop.c
make: Circular version <- version.o dependency dropped.
echo 'const char *version_string = "0.5.3";' | g++ -O2 -fPIC -o version.o -c -xc++ -
g++ -O2 -fPIC  -o easystroke actiondb.o actions.o annotate.o composite.o dbus-server.o fire.o gesture.o grabber.o main.o prefdb.o prefs.o shape.o stats.o water.o win.o stroke.o gui.o desktop.o version.o  -lboost_serialization-mt -lXtst `pkg-config gtkmm-2.4 dbus-glib-1 --libs`
/usr/lib64/gcc/x86_64-slackware-linux/4.4.4/../../../../x86_64-slackware-linux/bin/ld: cannot find -lboost_serialization-mt
collect2: ld returned 1 exit status
make: *** [easystroke] Error 1


Martinezio 06-23-2010 03:52 AM

Looks like a problem with Boost libraries. What version You have? Try to reinstall boost packages, or recompile it by hand and ensure, that serialization plugin is compiled.

imitis 06-23-2010 03:55 AM

the 0.4.9 version builds just fine....

boost-1.42.0

Martinezio 06-23-2010 04:59 AM

Right, this is the standard library that comes with Slk 13.1... I try to compile easystroke myself and see what happens.

Martinezio 06-23-2010 05:45 AM

Ok, seems to be some kind of problem with the programmers of easystroke ;) They worked with multithreaded version of boost made on Debian, which has -mt suffix on library names. I've just applied this little patch to easystroke Makefile:

Code:

@@ -25,7 +25,7 @@
 CXXFLAGS = -Wall $(DFLAGS) -DLOCALEDIR=\"$(LOCALEDIR)\" `pkg-config gtkmm-2.4 dbus-glib-1 --cflags`
 LDFLAGS  = $(DFLAGS)
 
-LIBS    = $(DFLAGS) -lboost_serialization -lXtst `pkg-config gtkmm-2.4 dbus-glib-1 --libs`
+LIBS    = $(DFLAGS) -lboost_serialization-mt -lXtst `pkg-config gtkmm-2.4 dbus-glib-1 --libs`
 
 BINARY  = easystroke
 ICON    = easystroke.svg

and compiled easystroke without any problems :)

imitis 06-23-2010 05:47 AM

how can I apply this patch?

Martinezio 06-23-2010 06:41 AM

1 Attachment(s)
By hand, or in slackbuild script ;)

copy attached patch file (rename it to .patch) to slackbuild dir, and add this line to You slackbuild just before make invocation:
Code:

patch -p0 < $(CWD)/slack_boost.patch
During the execution of slackbuild script You may be warned, that "previous patch applied" - say yes on that question (You may be asked, but also You may be not ;) it shouldn't ask, and I don't know, why it asked me ;).

If You have problems, PM me - I will send You my slackbuild script.

Good luck :)

imitis 06-23-2010 08:42 AM

thx. worked like charm!!


All times are GMT -5. The time now is 07:38 PM.