Hi Gabor,

On 07/06/12 13:21, gabor papp wrote:
just curious, why do you need to build fluxus with static modules? it's
much trickier and not frequently used.

I had a link error with racket that said I needed to recompile something within racket with -fPIC to make useable from a shared object, and I thought static compile of fluxus would be easier than rebuilding racket with -fPIC added somewhere.

--8<--
$ scons RacketPrefix=/usr Prefix=${HOME}/opt
...
g++ -o addons/video/fluxus-video_ss.so -rdynamic -pthread -shared addons/video/src/Video.os addons/video/src/FluxusVideo.os addons/video/src/ofVideoPlayer.os addons/video/src/ofVideoGrabber.os /usr/lib/racket/mzdyn3m.o addons/video/src/ofUCUtils.os -L/usr/lib/racket -L/usr/lib -L/usr/lib -Llibfluxus -lm -lpthread -ldl -ljpeg -ltiff -lfreetype -lz -lbz2 -lpng -lode -lsndfile -lfftw3 -llo -lGLEW -lracket3m -ljack -lGL -lGLU -lglut -lasound -lopenal -lgstvideo-0.10 -lunicap -lavformat -lswscale -lgstapp-0.10 -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 /usr/bin/ld: /usr/lib/libracket3m.a(salloc.o): relocation R_X86_64_TPOFF32 against `scheme_thread_locals' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libracket3m.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
scons: *** [addons/video/fluxus-video_ss.so] Error 1
scons: building terminated because of errors.
$ apt-cache policy racket
racket:
  Installed: 5.2.1+dfsg1-5
  Candidate: 5.2.1+dfsg1-5
  Version table:
 *** 5.2.1+dfsg1-5 0
        500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
        100 /var/lib/dpkg/status
--8<--

i applied the static build patches to master. these were forgotten when
we moved from plt scheme to racket.

Great/

to figure out then gave up as both -audio and -openal modules define a
same-named symbol 'Audio' with different types):
would changing one of the 'Audio' symbol names solve this problem?

Probably! Or even putting each symbol in a different C++ namespace might do the trick?


Claude

Reply via email to