News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

Code::Blocks doesn't compile on Ubuntu Linux with wx 2.5

Started by Funto, July 25, 2005, 05:02:12 PM

Previous topic - Next topic

rickg22

wxdockit isn't present in version 1.0. It seems you need to delete your codeblocks sources (and devel and output) directory and restart from scratch.

mandrav

Quote from: Funto on July 26, 2005, 07:13:25 PM
I've just downloaded the source package and get these errors when doing make -f Makefile.unix :

Quote
Linking executable devel/codeblocks.exe...
devel/libcodeblocks.so: undefined reference to `CustomVars::~CustomVars [in-charge]()'
devel/libcodeblocks.so: undefined reference to `CustomVars::Load(wxString const&)'
devel/libcodeblocks.so: undefined reference to `VarsArray::operator=(VarsArray const&)'
devel/libcodeblocks.so: undefined reference to `VarsArray::VarsArray[in-charge](VarsArray const&)'
devel/libcodeblocks.so: undefined reference to `CustomVars::Add(wxString const&, wxString const&)'
devel/libcodeblocks.so: undefined reference to `CustomVars::CustomVars[in-charge]()'
devel/libcodeblocks.so: undefined reference to `ExternalDepsDlg::~ExternalDepsDlg [in-charge]()'
devel/libcodeblocks.so: undefined reference to `ExternalDepsDlg::ExternalDepsDlg[in-charge](wxWindow*, cbProject*, ProjectBuildTarget*)'
devel/libcodeblocks.so: undefined reference to `CustomVars::Save(wxString const&)'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [devel/codeblocks.exe] Erreur 1

Please use "make -f Makefile.unix clean" and then "make -f Makefile.unix"

Yiannis.
Be patient!
This bug will be fixed soon...

Funto

Quotewxdockit isn't present in version 1.0. It seems you need to delete your codeblocks sources (and devel and output) directory and restart from scratch.
But I had already started from scratch...

1) I downloaded the last source archive from the site
2) I did a make -f Makefile.unix

I've just tried to do the make -f Makefile.unix clean as you asked me to but, of course, it gives the same results...

And I don't understand how it would be able to compile, since, there is no wxDockit provided and since the Makefile.unix never talks about wxDockit...

mandrav

Quote from: Funto on July 26, 2005, 08:44:06 PM
Quotewxdockit isn't present in version 1.0. It seems you need to delete your codeblocks sources (and devel and output) directory and restart from scratch.

And I don't understand how it would be able to compile, since, there is no wxDockit provided and since the Makefile.unix never talks about wxDockit...
That's the point: the stable branch, VERSION_1_0, does not use wxDockit. This is only in HEAD...
That's why we told you to delete the directory and start from scratch. It seems you have mixed various versions (CVS-HEAD, CVS-VERSION_1_0, source package).

Yiannis.
Be patient!
This bug will be fixed soon...

rickg22

Anyway, the source code tarball (which was broken yesterday) is already on the website. If you don't want to mess with CVS stuff, just untar the file on a new directory and do the make.

Funto

QuoteThat's the point: the stable branch, VERSION_1_0, does not use wxDockit. This is only in HEAD...
Ok, this explains why I couldn't find any wxDockit ^^

QuoteIt seems you have mixed various versions (CVS-HEAD, CVS-VERSION_1_0, source package).
But I didn't...I promise you that I've downloaded the source package and run make -f Makefile.unix, and I get these errors. Am I the only one who gets these errors???

rickg22

You could do a grep for the offending lines in the sourcecode, and publish the snips here to shock everyone. Then we can compare with our own versions.

Funto

I don't really understand what you mean, and I don't know how to use grep... :oops:

However, I FINALLY got something working : in fact, the file Makefile.unix is NOT up to date; I added the references to sdk/customvars.cpp/.h and sdk/externaldepsdlg.cpp/.h to this *unredeable* Makefile and finally got libcodeblocks.so compiled with some definitions which were missing, and which prevented codeblocks.exe to compile.

So I got codeblocks.exe, but as for the following, libastyle.so doesn't compile because of a missing rule concerning customvars.cpp (in fact there are 2 different customvars.cpp files !)...

Well, I copied the libcodeblocks.so file to /usr/lib and created a CodeBlocks folder with a "share" directory, containing what was in my Win32 installation and finally Code::Blocks launches ! But of course the project templates are those for Win32...etc.
It's not a valuable installation ^^

I think the problem is that you forgot to regenerate the Makefile.unix file from the Code::Blocks project...

So please update this so that Linux users can test it :)


Funto

I know somebody else who is trying to compile with Mandriva/wxGTK 2.4 ANSi and he gets the same errors ^^

This confirms that the Makefile.unix is not up to date in my opinion ^^

rickg22

Oh no! :(

Anyway. When you manage to compile, do this:

* Open the codeblocks project under linux.
* Generate the makefile with Codeblocks (I just hope THAT's how Yiannis managed to generate the makefile).
* Upload it here

Ta-da! :)

Funto

There are 2 issues with what you are talking about :
-1st, my Code::Blocks install is really primitive, in so far as I don't have any plugins : I think that's why I can't generate the Makefile, and that's why I can't compile from C::B itself.
-2ndly, it seems that the UNIX C::B project isn't up do date either : when I look into Sources->sdk, I can't see customvars.cpp for example, which is one of the files I had to add manually. This is right for the unix-wx2.6 project too :( And when I try to open the Windows project C::B crashes...

rickg22

hmmmmmmmm
Then it seems we'll have to wait for Yiannis to release an updated makefile.unix

or we could ask any of us users to generate one from cvs VERSION_1_0. Anyone?

knue

the Makefile.unix does not contain information for
sdk/customvars.h
sdk/customvars.cpp

sdk/externaldepsdlg.h
sdk/externaldepsdlg.cpp

I am currently trieng to fix this

knue

yeah it worx:

I attached the makefile.

Remember to do this:

# dos2unix -n update update.unix
# chmod +x update.unix
# ./update.unix

start with:
# cd output
# ./run.sh

enjoy

PS:
Cuz the file is greater than 128 kb I had to compress it but i am not allowed to post *.tar.gz-files. So I added the .txt
Just rename and extract

[attachment deleted by admin]

mandrav

Try this makefile (rename it to Makefile.tgz). This should be in the source package. If it's not, my bad, sorry.

[EDIT]
Hey knue, thanks for doing the same thing :)
[/EDIT]

Yiannis.

[attachment deleted by admin]
Be patient!
This bug will be fixed soon...