Page 1 of 1

OSX - where are the plugins? **FIXED** details in thread

Posted: Tue Jan 24, 2006 10:17 am
by temporal distraction
Built from CVS just now and I cannot find the ".so" for the plugins - I've never been able to build them.

When I look in ~/cvs/bzflag/plugins I see the source for the plugins, and in the one I am mainly interested in I see these files.

Code: Select all

Makefile
CVS
Makefile.am
Makefile.in
playHistoryTracker.cpp
playHistoryTracker.def
playHistoryTracker.sln
playHistoryTracker.vcproj
I've been told that the ".so" files would get built into /usr/local/lib/ but I don't see anything bzf related in there.

So do I need to do something to create these final ".so" files? I've tried using "./configure --enable-plugins" and then "make" - is there a switch for that "make" to create what I need?

When I try "/listplugins" on my running server I get [unknown command] - so something is wrong with what I am doing.

OSX 10.4.4 - Xcode 2.2.1

Posted: Tue Jan 24, 2006 6:58 pm
by Tropican8
Try ./configure --enable-shared --enable plugins

Dunno about Mac but nothing goes to /usr/local/lib unless you run makeinstall on most *nixes (unless you built them).

Posted: Tue Jan 24, 2006 7:13 pm
by loophole
If you can't find the .so file check in .lib/ (note the dot) in the plugin directory

This was causing me some problems last night. :D

Posted: Sun Jan 29, 2006 5:32 am
by temporal distraction
I might be getting closer, but it still doesn't seem to work.

I built from CVS tonight and now my server at least recognizes the command to /listplugins (No Plug-ins loaded)

But I still do not see any "*.so" files anywhere - should then be in the "plugins" folder after the make?

Now inside the bzfag/plugings/playHistoryTracker folder I see:

Code: Select all

CVS
Makefile
Makefile.am
Makefile.in
playHistoryTracker.cpp
playHistoryTracker.def
playHistoryTracker.la
playHistoryTracker.lo
playHistoryTracker.o
playHistoryTracker.sln
playHistoryTracker.vcproj
which is different than my previous build - I even tried to cd into that directory and "make" in there with no luck.

When I do /loadplugin, the log clearly shows that bzfs is looking in /usr/local/lib - so I guess that's where the plugins need to be to load, if I could get them to build.

Any other suggestions? Maybe I need to do something in Xcode? Hmm?

Posted: Sun Jan 29, 2006 7:36 pm
by A Meteorite
You need to do "make install" after "make". That should fix it. :)

Posted: Mon Jan 30, 2006 2:27 am
by temporal distraction
Yea!!! that did it - thanks meteor!

but now I get this error:

Code: Select all

dyld: lazy symbol binding failed: Symbol not found: __Z15bz_debugMessageiPKc
  Referenced from: /usr/local/lib/playHistoryTracker.so
  Expected in: flat namespace

dyld: Symbol not found: __Z15bz_debugMessageiPKc
  Referenced from: /usr/local/lib/playHistoryTracker.so
  Expected in: flat namespace
I'll start looking for that solution now.

Posted: Mon Jan 30, 2006 2:34 am
by A Meteorite
a temporal distraction
Glad you're one step further. :D

But I don't know about that error... hmmm... what GCC version are you using? (run command: "gcc_select")

Posted: Mon Jan 30, 2006 6:45 am
by temporal distraction
A Meteorite wrote: what GCC version are you using? (run command: "gcc_select")
Current default compiler:
gcc version 4.0.1 (Apple Computer, Inc. build 5250)

Just tried it again and got the same error - no other info here on these boards about a "flat namespace" error.

Hmmmm...

Edit:
I googled that error and found that gcc4 is the problem
After running gcc_select 3.3 and building again I get

Code: Select all

2006-01-30 07:34:05: PlayHistoryTracker plugin loaded
2006-01-30 07:34:05: Plugin:/usr/local/lib/playHistoryTracker loaded
2006-01-30 07:34:05: rogueGenocide plugin loaded
2006-01-30 07:34:05: Plugin:/usr/local/lib/RogueGenocide loaded
Thanks again for the tips!
:D