importance of CL5 new dependencies?

CodeLite installation/troubleshooting forum
petah
CodeLite Expert
Posts: 231
Joined: Sat Nov 24, 2012 8:04 pm
Genuine User: Yes
IDE Question: c++
Location: Los Angeles
Contact:

importance of CL5 new dependencies?

Post by petah »

CL5 adds new dependencies I'd rather avoid:

libgail18
libgeoclue0
libicu48
libjavascriptcoregtk-1.0-0
libwebkitgtk-1.0-0
libwebkitgtk-1.0-common

Before I embark on a custom build, how central are those to CL itself? Checking dependencies with debtree+graphiz is too noisy to draw conclusions.

I'm on Debian Wheezy x64, using the updated CL repos.

thx!

-- p
main: Debian Jessie x64 + custom wxTrunk
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: importance of CL5 new dependencies?

Post by eranif »

petah wrote:CL5 adds new dependencies I'd rather avoid:

libgail18
libgeoclue0
libicu48
libjavascriptcoregtk-1.0-0
libwebkitgtk-1.0-0
libwebkitgtk-1.0-common

Before I embark on a custom build, how central are those to CL itself? Checking dependencies with debtree+graphiz is too noisy to draw conclusions.

I'm on Debian Wheezy x64, using the updated CL repos.

thx!

-- p
My guess is that these libraries are needed because of codelite dependency with libwx29_unofficial* (which includes libwxwebview)
In order to avoid those dependecies, you will need to build codelite + wxWidgets 2.94 from sources

Eran
Make sure you have read the HOW TO POST thread
petah
CodeLite Expert
Posts: 231
Joined: Sat Nov 24, 2012 8:04 pm
Genuine User: Yes
IDE Question: c++
Location: Los Angeles
Contact:

Re: importance of CL5 new dependencies?

Post by petah »

will do, thx a lot!

-- p
main: Debian Jessie x64 + custom wxTrunk
petah
CodeLite Expert
Posts: 231
Joined: Sat Nov 24, 2012 8:04 pm
Genuine User: Yes
IDE Question: c++
Location: Los Angeles
Contact:

Re: importance of CL5 new dependencies?

Post by petah »

I managed to build a custom CL5 without the extra deps (Debian Wheezy x64) but had:

error: ‘wxPrintf’ was not declared in this scope

in the following files

./CodeLite/cpptoken.cpp
./CodeLite/file_logger.cpp
./Plugin/macrosdlg.cpp
./UnitTestCPP/unittestcppoutputparser.cpp
./codelite_clang/clang.cpp

which I solved by adding

#include <wx/wxcrtvararg.h>

Is this due to my wx config?

../configure --with-gtk --enable-utf8 --disable-monolithic --disable-compat28 --disable-ipv6 --disable-sound --disable-mediactrl --disable-webview --without-opengl --without-gnomeprint --disable-mdi --disable-apple_ieee --disable-mdidoc --disable-webkit --disable-webviewwebkit --disable-webviewie --enable-gif --disable-tga --without-libtiff --enable-xrc --enable-aui --enable-stl --enable-stc --without-subdirs --enable-filehistory

This is on a fresh CL from git head and happens on both "unofficial" wx 2.9.4 and wx SVN head.

Btw, it's worth mentioning that "make install" can be run as non-root on a custom build; I spent a whole while inside a qemu VM before realizing that :P

thx!

-- peter
main: Debian Jessie x64 + custom wxTrunk
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: importance of CL5 new dependencies?

Post by eranif »

petah wrote:#include <wx/wxcrtvararg.h>
Is this due to my wx config?
perhaps, as it does not happen on any of the machines I am building on (without PCH)
petah wrote:Btw, it's worth mentioning that "make install" can be run as non-root on a custom build;
root privileges are required only if the target installation folder requires admin rights. If you use a different PREFIX - then you can install it without admin rights.

Read this it is explained in more details here:
Building codelite under linux

Eran
Make sure you have read the HOW TO POST thread
petah
CodeLite Expert
Posts: 231
Joined: Sat Nov 24, 2012 8:04 pm
Genuine User: Yes
IDE Question: c++
Location: Los Angeles
Contact:

Re: importance of CL5 new dependencies?

Post by petah »

can you pls post your /home/eran/devl/wx/build/wx-config so I can diff with mine?

or better yet add it to your git repository?

thx,

-- p
main: Debian Jessie x64 + custom wxTrunk
DavidGH
CodeLite Plugin
Posts: 819
Joined: Wed Sep 03, 2008 7:26 pm
Contact:

Re: importance of CL5 new dependencies?

Post by DavidGH »

Hi,
can you pls post your /home/eran/devl/wx/build/wx-config so I can diff with mine?
That won't help.
wx-config will report things like what wx libs are available, or what the compilation line should be, for a particular wx build. But you already know that information for your build, and you know how it differed from a standard one.

Your missing #includes are probably due to the things you didn't build. I expect those header files themselves did #include "wx/foo.h", and foo.h contained lines like:

Code: Select all

#if wxUSE_BAR
 #include "wx/wxcrtvararg.h"
...
...
#endif
There's no easy answer to this situation; there are so many rarely-used --disable options that it's impossible to test them all.

To solve your original issue ("CL5 adds new dependencies I'd rather avoid") it's likely that building wx2.9 with a simple ../configure --with-gtk is all you need to do. If the dependencies for things like wxWebView aren't already installed, wx simply configures itself without webview support.

Regards,

David
petah
CodeLite Expert
Posts: 231
Joined: Sat Nov 24, 2012 8:04 pm
Genuine User: Yes
IDE Question: c++
Location: Los Angeles
Contact:

Re: importance of CL5 new dependencies?

Post by petah »

DavidGH wrote: To solve your original issue ("CL5 adds new dependencies I'd rather avoid") it's likely that building wx2.9 with a simple ../configure --with-gtk is all you need to do.
Well I'll be damned, it is actually that simple :oops:
There's no easy answer to this situation; there are so many rarely-used --disable options that it's impossible to test them all.
THAT BEING SAID, wx/wxcrtvararg.h is pulled in by <wx/string.h> at line 4348:

Code: Select all

#if WXWIN_COMPATIBILITY_2_8
    // lot of code out there doesn't explicitly include wx/crt.h, but uses
    // CRT wrappers that are now declared in wx/wxcrt.h and wx/wxcrtvararg.h,
    // so let's include this header now that wxString is defined and it's safe
    // to do it:
    #include "wx/crt.h"
#endif
so it may be prudent to manually add <wx/crt.h> to the above CL files.

Does my "discovery" make up for my wx-config ignorance? hardly :)

cheers,

-- p
main: Debian Jessie x64 + custom wxTrunk
Post Reply