|
|
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » Compiling under Linux
Compiling under Linux [message #37988] |
Tue, 27 November 2012 11:09 |
cbpporter
Messages: 1401 Registered: September 2007
|
Ultimate Contributor |
|
|
It has been years since I had to compile U++ for Linux, and even then I used the NOGTK flag. Today I tried to compile from source on a machine I have no root access, and I got this:
Quote: |
c++ -c -x c++ -O3 -ffunction-sections -fdata-sections -I./ -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -I/usr/X11R6/include/gtk-2.0 -I/usr/X11R6/include/glib-2.0 -I/usr/X11R6/lib/glib-2.0/include -I/usr/X11R6/lib/gtk-2.0/include -I/usr/X11R6/include/cairo -I/usr/X11R6/include/pango-1.0 -I/usr/X11R6/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -DflagGUI -DflagGCC -DflagSHARED -DflagLINUX -DflagPOSIX CtrlLib/TrayIconX11.cpp -o _out/CtrlLib//home/upp/Scripts/GCCMK.bm-Gcc-Gui-Linux-Posix- Shared/TrayIconX11.o
CtrlLib/TrayIconX11.cpp:9:34: error: libnotify/notify.h: No such file or directory
CtrlLib/TrayIconX11.cpp: In member function âvoid Upp::TrayIcon::Message(int, const char*, const char*, int)â:
CtrlLib/TrayIconX11.cpp:104: error: ânotify_is_inittedâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:105: error: ânotify_initâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:111: error: âNotifyNotificationâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:111: error: ânotificationâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:118: error: ânotify_notification_newâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:119: error: ânotify_notification_set_timeoutâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:120: error: ânotify_notification_showâ was not declared in this scope
CtrlLib/TrayIconX11.cpp: In function âvoid Upp::s__s125_fn()â:
CtrlLib/TrayIconX11.cpp:126: error: ânotify_is_inittedâ was not declared in this scope
CtrlLib/TrayIconX11.cpp:127: error: ânotify_uninitâ was not declared in this scope
|
It seems it can't find libnotify. Is this lib required? Can I remove the dependency with the NOGTK flag? And how do you specify that flag. I can no longer remember. I am digging thought the makefiles to see.
EDIT: Changed to quote, to allow line wrap. Honza
[Updated on: Tue, 27 November 2012 13:48] by Moderator Report message to a moderator
|
|
|
Re: Compiling under Linux [message #37992 is a reply to message #37988] |
Tue, 27 November 2012 13:54 |
|
Hi cbporter,
Libnotify is used to show the notifications near panel. If I recall correctly, it is not used when compiling with NOGTK flag.
Since you write about Makefiles, I'll assume that you are using the Makefiles generated by theide. In that case, you can just add -DflagNOGTK to Macro variable (should be on line 3 or 4 in the Makefile) and it should work.
Best regards,
Honza
|
|
|
|
|
Re: Compiling under Linux [message #37995 is a reply to message #37993] |
Tue, 27 November 2012 15:02 |
|
cbpporter wrote on Tue, 27 November 2012 14:00 |
dolik.rce wrote on Tue, 27 November 2012 14:54 |
Since you write about Makefiles, I'll assume that you are using the Makefiles generated by theide. In that case, you can just add -DflagNOGTK to Macro variable (should be on line 3 or 4 in the Makefile) and it should work.
|
No, I was talking about the makefile you get when downloading only U++ sources and doing a manual first build.
|
Well, that one (in uppsrc/Makefile in the downloaded tarball I believe) is generated by theide too
Honza
|
|
|
|
Re: Compiling under Linux [message #37999 is a reply to message #37996] |
Tue, 27 November 2012 15:47 |
|
Well, on my 64bit machine theide doesn't use -m64 and everything works well. It must be because you have both 32b and 64b libs available. Chceck if you build method is configured with the paths to the 64bit versions of the libraries (probably /usr/lib64). The default file that comes with the tarball is probably only good for pure 32b or pure 64bit systems...
Honza
|
|
|
Re: Compiling under Linux [message #38164 is a reply to message #37999] |
Mon, 03 December 2012 08:13 |
cbpporter
Messages: 1401 Registered: September 2007
|
Ultimate Contributor |
|
|
Thank you for the help!
Now it works perfectly!
It wasn't a very smooth process, but still U++ has come a long way when installing under Linux.
|
|
|
Goto Forum:
Current Time: Tue Apr 23 22:54:40 CEST 2024
Total time taken to generate the page: 1.93727 seconds
|
|
|