Dual 2.3GHz PowrPC G5
Mac OSX 10.4.8
wxWidgets 2.6.3
Hi!
The latest successful rev I have is 3050.
Lately I have got the following build problem:
....
/usr/bin/ld: Undefined symbols:
wxFlatNotebook::SetSelection(unsigned long)
wxFlatNotebook::SetGradientColorTo(wxColour const&)
wxFlatNotebook::SetGradientColorFrom(wxColour const&)
wxFlatNotebook::SetGradientColorBorder(wxColour const&)
wxFlatNotebook::GetSelection() const
collect2: ld returned 1 exit status
make[3]: *** [codeblocks] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
and it does not seem to go away by waiting and doing occasional "svn update"
Any suggestions?
Did you try a full rebuild? (Or removed manually any *.o; *.a and *.gch files...?)
With regards, Morten.
I actually removed all and did a new svn checkout.
I patched from the wiki OSX install page
patch -p0 -i codeblocks-rev2970_pkgconfig.patch
patch -p0 -i codeblocks-rev2994_pluginslib.patch
patch -p0 -i codeblocks-appselfpath.patch
patch -p0 -i codeblocks-wxauigtk.patch
(two of the wiki patches I have found obsolete, so I did not apply these)
I did bootstrap and
./configure --enable-contrib --prefix=$HOME CXXFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
and make.
I also tried without the patches above, but got the same result.
I'm attempting a build of rev 3090, will update the Wiki when complete.
Quote from: bnilsson on October 15, 2006, 01:11:44 PM
I actually removed all and did a new svn checkout.
Did you also uninstall / remove all libraries, before doing the build ?
(i.e. "make uninstall clean make", or doing something similar to that)
There is a bug with the current build scripts that makes it prefer
linking to /usr/local/lib or $PREFIX/lib over the local libraries... :-(
http://forums.next.codeblocks.org/index.php?topic=4088.0
Quote from: bnilsson on October 14, 2006, 09:09:16 PM
Lately I have got the following build problem:
....
/usr/bin/ld: Undefined symbols:
wxFlatNotebook::SetSelection(unsigned long)
wxFlatNotebook::SetGradientColorTo(wxColour const&)
wxFlatNotebook::SetGradientColorFrom(wxColour const&)
wxFlatNotebook::SetGradientColorBorder(wxColour const&)
wxFlatNotebook::GetSelection() const
collect2: ld returned 1 exit status
Reproduced. Looks like a wxMac issue.
The issue seems to be that it is linking towards "wxFlatNotebookBase" while declaring "wxFlatNotebook".
$ grep -r ZN14wxFlatNotebook12SetSelectionEm .
Binary file ./src/sdk/.libs/editorbase.o matches
Binary file ./src/sdk/.libs/editormanager.o matches
Binary file ./src/sdk/.libs/libcodeblocks.0.0.1.dylib matches
Binary file ./src/sdk/.libs/libcodeblocks.0.dylib matches
Binary file ./src/sdk/.libs/libcodeblocks.dylib matches
Binary file ./src/sdk/.libs/messagemanager.o matches
Binary file ./src/sdk/.libs/projectmanager.o matches
Binary file ./src/src/app.o matches
Binary file ./src/src/main.o matches
$ grep -r ZN18wxFlatNotebookBase12SetSelectionEm .
Binary file ./src/sdk/.libs/libcodeblocks.0.0.1.dylib matches
Binary file ./src/sdk/.libs/libcodeblocks.0.dylib matches
Binary file ./src/sdk/.libs/libcodeblocks.dylib matches
Binary file ./src/sdk/wxFlatNotebook/.libs/libwxflatnotebook.a matches
Binary file ./src/sdk/wxFlatNotebook/.libs/wxFlatNotebook.o matches
$ echo __ZN14wxFlatNotebook12SetSelectionEm | c++filt
wxFlatNotebook::SetSelection(unsigned long)
$ echo __ZN18wxFlatNotebookBase12SetSelectionEm | c++filt
wxFlatNotebookBase::SetSelection(unsigned long)
The class wxFlatNotebookBase is no longer exist ... check you header files and make sure that you are up to date.
Eran
Yup, had removed the old libs but had some old stray headers left.
sudo rm -r /usr/local/include/codeblocks
It would be nice if the build scripts (i.e. autotools) could be fixed,
so that it looks in the local dirs before it looks in the system dirs... ?
It also fails to link if you have e.g. an unicode wx in $PREFIX and
a ansi wx in /usr/local, to name a common example that I run into
Moral: make sure to you remove all the objects, and headers too!
It also seems like "make clean" missed to clean up src/sdk/wxFlatNotebook/.libs ?
I eventually got rev3090 to build, but the new wxFlatNotebook doesn't work yet so I'm not releasing it.
Updated the Wiki by removing obsolete patches, and added references to new temporary workarounds...
(http://www.algonet.se/~afb/wx/codeblocks-mac6.png)