[flext] compilation problem

dev scrime scrime.dev at gmail.com
Fri Aug 31 17:25:07 CEST 2012


Hello list.

I recently got a razer hydra gaming device (from sixense technologies).
I downloaded the SDK for Mac and installed it ( you can get it here : 
http://sixense.com/developers ).
Now I'm trying to compile a flext external for Max, supposed to act as a 
simple hydra driver.
It's a kind of adaptation of the sixense_simple3d example that comes 
with the SDK, including the calibration stage.

I installed the SDK for a 32 bit system, though I have an x86_64 macbook 
pro, since I want to use it in Max 5. This seems to have installed both 
32 and 64 bit versions of the .dylibs in /usr/local/lib.

But unfortunately during the linking process, I got "Undefined symbols 
for architecture i386" errors.

I guess this will not be very useful alone, but here are the full 
linking error messages :

    /lipo max-darwin/release-single/hydra.opp_i386 -create -output
    max-darwin/release-single/hydra.opp/
    /c++ -mmacosx-version-min=10.4
    -L/Users/joseph/Dev/__GeeksCorner/Hydra_stuff/sixenseSDK_linux_OSX/lib/osx/release_dll
    -framework MaxAPI -framework MaxAudioAPI -bundle -dynamic -framework
    vecLib -Wl,-S -arch i386 -framework ApplicationServices
    -L/usr/local/lib -o
    max-darwin/release-single/hydra.mxo/Contents/MacOS/hydra
    max-darwin/release-single/hydra.opp  -lflext-max_s/
    /Undefined symbols for architecture i386:/
    /  "sixenseUtils::getTheControllerManager()", referenced from:/
    /controller_manager_setup_callback(sixenseUtils::IControllerManager::setup_step)
    in hydra.opp/
    /      hydra::hydra(int, atom*) in hydra.opp/
    /      hydra::send_hydra_values() in hydra.opp/
    /  "_sixenseExit", referenced from:/
    /      hydra::~hydra() in hydra.opp/
    /  "_sixenseGetAllNewestData", referenced from:/
    /      hydra::send_hydra_values() in hydra.opp/
    /  "_sixenseGetMaxBases", referenced from:/
    /      hydra::send_hydra_values() in hydra.opp/
    /  "_sixenseGetMaxControllers", referenced from:/
    /      hydra::send_hydra_values() in hydra.opp/
    /  "_sixenseInit", referenced from:/
    /      hydra::hydra(int, atom*) in hydra.opp/
    /  "_sixenseIsControllerEnabled", referenced from:/
    /      hydra::send_hydra_values() in hydra.opp/
    /  "_sixenseSetActiveBase", referenced from:/
    /      hydra::send_hydra_values() in hydra.opp/
    /ld: symbol(s) not found for architecture i386/
    /clang: error: linker command failed with exit code 1 (use -v to see
    invocation)/
    /make[1]: ***
    [max-darwin/release-single/hydra.mxo/Contents/MacOS/hydra] Error 1/
    /rm max-darwin/release-single/hydra.opp_i386/
    /make: *** [build-release-single] Error 2/

Since I'm not a very experienced programmer, I must miss a basic point, 
related to Library paths or something like that ...

To be able to use sixense dynamic libraries, I modified the 
config-max-mac.txt file before compiling flext :

    /# user defined compiler flags/
    /UFLAGS += -ffast-math -mmacosx-version-min=10.4
    -I/Users/joseph/Dev/__GeeksCorner/Hydra_stuff/sixenseSDK_linux_OSX/include
    -I/Users/joseph/Dev/__GeeksCorner/Hydra_stuff/sixenseSDK_linux_OSX/include/sixense_utils
    -I/Users/joseph/Dev/__GeeksCorner/Hydra_stuff/sixenseSDK_linux_OSX/include/sixense_utils/controller_manager/
    //
    /# user defined linker flags/
    /LDFLAGS += -mmacosx-version-min=10.4
    -L/Users/joseph/Dev/__GeeksCorner/Hydra_stuff/sixenseSDK_linux_OSX/lib/osx/release_dll/

    /ARCH=i386/

I'm using flext version 0.5.2

If someone on the list had any idea about where the errors could come 
from, I would be veeeeeeeeery grateful.

Thanks,

Joseph Larralde
SCRIME - Université Bordeaux 1
http://scrime.labri.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://grrrr.org/pipermail/flext/attachments/20120831/2e2b61ec/attachment.htm>


More information about the flext mailing list