Welcome, Guest. Please Login
YaBB - Yet another Bulletin Board
 
  HomeHelpSearchLogin  
 
linking HYPHY GUI (Read 4284 times)
Richard
YaBB Newbies
*
Offline


Feed your monkey!

Posts: 5
linking HYPHY GUI
Aug 25th, 2008 at 2:00am
 
Hello

I'm trying to build the GUI for HYPHY on a Debian Linux. The builds work OK, but I get the following error :

Linking HYPHY_GTK
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lssl -lcrypto -lcurl -lm
objGTK_SP/HYPlatformChartWindow.cpp.o: In function `_HYChartWindow::_SetMenuBar()':
HYPlatformChartWindow.cpp:(.text+0x942): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o: In function `_HYDistributionChartWindow::_SetMenuBar()':
HYPlatformChartWindow.cpp:(.text+0xbb2): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x20): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x38): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x50): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x88): more undefined references to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)' follow
collect2: ld returned 1 exit status
Finished

Any suggestions?

Thanks

Richard
Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: linking HYPHY GUI
Reply #1 - Aug 26th, 2008 at 7:57am
 
Dear Richard,

The missing function is defined in HYPlatformWindow.cpp which should be in the GUI directory of your distribution. Please make sure it's there and that it gets compiled properly - an object file HYPlatformWindow.cpp.o should be in the obj_XX directory (XX depends on what build mode you used).

Cheers,
Sergei


Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
Richard
YaBB Newbies
*
Offline


Feed your monkey!

Posts: 5
Re: linking HYPHY GUI
Reply #2 - Aug 26th, 2008 at 8:16am
 
Dear Sergei

Thanks for your speedy reply.

OK. After uncompressing I have

clairet:/home/richard/HYPHY_Source# ls GUI/HYPlatformWindow.cpp
GUI/HYPlatformWindow.cpp

Compiling:

clairet:/home/richard/HYPHY_Source# ./gtk_build.sh SP
Linux
Checking for curl
Curl seems to be present
+--------------------------------------+
|Building a single threaded HYPHYKernel|
+--------------------------------------+
COMPILER=g++, gcc
COMPILER_FLAGS= -w -c -O3 -fsigned-char -fpermissive -I/home/richard/HYPHY_Source/GUI -I/home/richard/HYPHY_Source/Source -I/home/richard/HYPHY_Source/Source/SQLite -I/usr/include/gtk-2.0 -I/usr/lib/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/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1    -D GDK_PIXBUF_ENABLE_BACKEND -D SQLITE_PTR_SIZE=sizeof(long) -D __HYPHY_GTK__
Building baseobj.cpp
Complete
Building batchlan2.cpp
Complete
Building batchlan.cpp
Complete
Building bgm.cpp
Complete
Building calcnode.cpp
Complete
Building category.cpp
Complete
Building error.cpp
Complete
Building fisher_exact.cpp
Complete
Building HYNetInterface.cpp
Complete
Building hyphyunixutils.cpp
Complete
Building likefunc.cpp
Complete
Building list.cpp
Complete
Building matrix.cpp
Complete
Building Net.cpp
Complete
Building nexus.cpp
Complete
Building parser2.cpp
Complete
Building parser.cpp
Complete
Building polynoml.cpp
Complete
Building regex.cpp
Complete
Building scfg.cpp
Complete
Building sequence.cpp
Complete
Building site.cpp
Complete
Building strings.cpp
Complete
Building main-GTK.cxx
Complete
Building SQLite file attach.c
Complete
Building SQLite file auth.c
Complete
Building SQLite file btree.c
Complete
Building SQLite file btree_rb.c
Complete
Building SQLite file build.c
Complete
Building SQLite file copy.c
Complete
Building SQLite file delete.c
Complete
Building SQLite file expr.c
Complete
Building SQLite file func.c
Complete
Building SQLite file hash.c
Complete
Building SQLite file insert.c
Complete
Building SQLite file main.c
Complete
Building SQLite file opcodes.c
Complete
Building SQLite file os.c
Complete
Building SQLite file pager.c
Complete
Building SQLite file parse.c
Complete
Building SQLite file pragma.c
Complete
Building SQLite file printf.c
Complete
Building SQLite file random.c
Complete
Building SQLite file select.c
Complete
Building SQLite file table.c
Complete
Building SQLite file tokenize.c
Complete
Building SQLite file trigger.c
Complete
Building SQLite file update.c
Complete
Building SQLite file util.c
Complete
Building SQLite file vacuum.c
Complete
Building SQLite file vdbe.c
Complete
Building SQLite file where.c
Complete
Building HYBaseGUI.cpp
Complete
Building HYButtonBar.cpp
Complete
Building HYButton.cpp
Complete
Building HYChartWindow.cpp
Complete
Building HYCheckBox.cpp
Complete
Building HYComponent.cpp
Complete
Building HYConsoleWindow.cpp
Complete
Building HYDataPanel.cpp
Complete
Building HYDBWindow.cpp
Complete
Building HYDialogDefs.cpp
Complete
Building HYEventTypes.cpp
Complete
Building HYGraphicPane.cpp
Complete
Building HYLabel.cpp
Complete
Building HYModelWindow.cpp
Complete
Building HYObjectInspector.cpp
Complete
Building HYParameterTable.cpp
Complete
Building HYPlatformBootsrapWindow.cpp
Complete
Building HYPlatformButtonBar.cpp
Complete
Building HYPlatformButton.cpp
Complete
Building HYPlatformChartWindow.cpp
Complete
Building HYPlatformCheckBox.cpp
Complete
Building HYPlatformComponent.cpp
Complete
Building HYPlatformConsoleWindow.cpp
Complete
Building HYPlatformDataPanel.cpp
Complete
Building HYPlatformDBWindow.cpp
Complete
Building HYPlatformGraphicPane.cpp
Complete
Building HYPlatformGWindow.cpp
Complete
Building HYPlatformLabel.cpp
Complete
Building HYPlatformModelWindow.cpp
Complete
Building HYPlatformParameterTable.cpp
Complete
Building HYPlatformPullDown.cpp
Complete
Building HYPlatformPWindow.cpp
Complete
Building HYPlatformSequencePane.cpp
Complete
Building HYPlatformTable.cpp
Complete
Building HYPlatformTextBox.cpp
Complete
Building HYPlatformTreePanel.cpp
Complete
Building HYPlatformTWindow.cpp
Complete
Building HYPlatformUtils.cpp
Complete
Building HYPlatformWindow.cpp
Complete
Building HYPullDown.cpp
Complete
Building HYSequencePanel.cpp
Complete
Building HYSharedMain.cpp
Complete
Building HYTable.cpp
Complete
Building HYTextBox.cpp
Complete
Building HYTreePanel.cpp
Complete
Building HYWindow.cpp
Complete
Building preferences.cpp
Complete
Linking HYPHY_GTK
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lssl -lcrypto -lcurl -lm
objGTK_SP/HYPlatformChartWindow.cpp.o: In function `_HYChartWindow::_SetMenuBar()':
HYPlatformChartWindow.cpp:(.text+0x942): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o: In function `_HYDistributionChartWindow::_SetMenuBar()':
HYPlatformChartWindow.cpp:(.text+0xbb2): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x20): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x38): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x50): undefined reference to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)'
objGTK_SP/HYPlatformChartWindow.cpp.o:(.data+0x88): more undefined references to `hyphy_menu_item_callback(void*, unsigned int, _GtkWidget*)' follow
collect2: ld returned 1 exit status
Finished

And in objGTK_SP:

clairet:/home/richard/HYPHY_Source# ls objGTK_SP/HYPlatformWindow.cpp*
objGTK_SP/HYPlatformWindow.cpp.o

All of that looks OK to me. But as you can see I still get the ld error. Any ideas.

Thanks

Best regards

Richard
Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: linking HYPHY GUI
Reply #3 - Aug 26th, 2008 at 8:31am
 
Dear Richard,

This is odd.
Try doing
Code:
$nm objGTK_SP/HYPlatformWindow.cpp.o | grep hyphy_menu_item_callback
 



and see if the object file contains a reference to hyphy_menu_item_callback.

Also, try compiling using $sh build.sh MP2
I don't think it will solve the linking issue, but that's the preferred build option since it enables support for multiple CPUs

Cheers,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
Richard
YaBB Newbies
*
Offline


Feed your monkey!

Posts: 5
Re: linking HYPHY GUI
Reply #4 - Aug 26th, 2008 at 8:46am
 
So that's OK:

clairet:/home/richard/HYPHY_Source# nm objGTK_SP/HYPlatformWindow.cpp.o | grep hyphy_menu_item_callback
00000000 T _ZL24hyphy_menu_item_callbackPvjP10_GtkWidget

sh build.sh MP2 works!!

Linking HYPHYMP
g++ -w -fsigned-char -o HYPHYMP obj_MP2/attach.c.o obj_MP2/auth.c.o obj_MP2/baseobj.cpp.o obj_MP2/batchlan2.cpp.o obj_MP2/batchlan.cpp.o obj_MP2/bgm.cpp.o obj_MP2/btree.c.o obj_MP2/btree_rb.c.o obj_MP2/build.c.o obj_MP2/calcnode.cpp.o obj_MP2/category.cpp.o obj_MP2/copy.c.o obj_MP2/delete.c.o obj_MP2/error.cpp.o obj_MP2/expr.c.o obj_MP2/fisher_exact.cpp.o obj_MP2/func.c.o obj_MP2/hash.c.o obj_MP2/HYNetInterface.cpp.o obj_MP2/hyphyunixutils.cpp.o obj_MP2/insert.c.o obj_MP2/likefunc.cpp.o obj_MP2/list.cpp.o obj_MP2/main.c.o obj_MP2/main-unix.cxx.o obj_MP2/matrix.cpp.o obj_MP2/Net.cpp.o obj_MP2/nexus.cpp.o obj_MP2/opcodes.c.o obj_MP2/os.c.o obj_MP2/pager.c.o obj_MP2/parse.c.o obj_MP2/parser2.cpp.o obj_MP2/parser.cpp.o obj_MP2/polynoml.cpp.o obj_MP2/pragma.c.o obj_MP2/printf.c.o obj_MP2/random.c.o obj_MP2/regex.cpp.o obj_MP2/scfg.cpp.o obj_MP2/select.c.o obj_MP2/sequence.cpp.o obj_MP2/site.cpp.o obj_MP2/strings.cpp.o obj_MP2/table.c.o obj_MP2/tokenize.c.o obj_MP2/trigger.c.o obj_MP2/update.c.o obj_MP2/util.c.o obj_MP2/vacuum.c.o obj_MP2/vdbe.c.o obj_MP2/where.c.o -lssl -lcrypto -lcurl -lm -lpthread
Finished

Testing sh gtk_build.sh MP2 gives the same ld error message. The problem is that I'd like to have the GUI for my colleagues who will be using the programme.

Cheers

Richard

Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: linking HYPHY GUI
Reply #5 - Aug 26th, 2008 at 6:10pm
 
Dear Richard,

I don't quite understand what's going on; let me make sure the gtk build is not broken.

Try

$sh gtk_build.sh MP2

and see if that works in the meantime.

Cheers,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
Richard
YaBB Newbies
*
Offline


Feed your monkey!

Posts: 5
Re: linking HYPHY GUI
Reply #6 - Aug 27th, 2008 at 12:41am
 
Hello. I already did that. See last line of my previous message:

"Testing sh gtk_build.sh MP2 gives the same ld error message."

So the problem is only with the GUI bit. All the libraries are there and in the right place, so I can't see what's wrong.

Cheers

Richard
Back to top
 
 
IP Logged
 
Sergei
YaBB Administrator
*****
Offline


Datamonkeys are forever...

Posts: 1658
UCSD
Gender: male
Re: linking HYPHY GUI
Reply #7 - Aug 27th, 2008 at 10:06am
 
Dear Richard,

Can you try building the most recent version using our SVN tree: see Multimedia File Viewing and Clickable Links are available for Registered Members only!!  You need to Login Login for instructions? You need gcc-4.2 or later for that, but if the new build works then I'll try to isolate what the difference is. The new version is not quite stable yet, but it is an order of magnitude (especially for larger data) faster than the old one.

Cheers,
Sergei
Back to top
 

Associate Professor
Division of Infectious Diseases
Division of Biomedical Informatics
School of Medicine
University of California San Diego
WWW WWW  
IP Logged
 
Richard
YaBB Newbies
*
Offline


Feed your monkey!

Posts: 5
Re: linking HYPHY GUI
Reply #8 - Aug 28th, 2008 at 12:38am
 
Good morning

Sorry, but access is refused to that URL. I get a fleeting glimpse of a redirection, followed by a "(111) Connection refused"

Richard
Back to top
 
 
IP Logged