Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

package ncurses 5.9 fails to compile (gcc 7.4.0, ubuntu 18.04.3 LTS) #2605

Closed
FMKerckhof opened this issue Sep 20, 2019 · 11 comments
Closed

package ncurses 5.9 fails to compile (gcc 7.4.0, ubuntu 18.04.3 LTS) #2605

FMKerckhof opened this issue Sep 20, 2019 · 11 comments

Comments

@FMKerckhof
Copy link

@FMKerckhof FMKerckhof commented Sep 20, 2019

Dear, I am fairly new into the galaxy administration but a package that I am trying to install relies on ncurses 5.9. While I do get ncurses 6.0 installed without issues, I keep on getting errors when trying to install 5.9 through the toolshed. I am working with a "factory fresh" ubuntu 18.04.3 LTS server and the latest stable version of galaxy (19.05). I don't really understand what is the issue, since it should have been resolved and closed 4 years ago (#477). However, I get the following output:

Makefile:329: recipe for target '../obj_s/cursesf.o' failed
make[1]: Leaving directory '/home/username/galaxy/database/tmp/tmp-toolshed-mtdtO7pge/ncurses-5.9/c++'
Makefile:109: recipe for target 'all' failed
sername/galaxy/database/tmp/tmp-toolshed-mtdtO7pge/ncurses-5.9/lib  -I. -I. -I../test -DHAVE_CONFIG_xy/database/dependencies/
In file included from ../c++/cursesw.h:36:0,
                 from ../c++/cursesp.h:39,
                 from ../c++/cursesf.h:39,
                 from ../c++/cursesf.cc:35:
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursesw.h:777:50: note: in expansion of macro ‘THROWS’
   virtual void   err_handler(const char *) const THROWS(NCursesException);
                                                  ^~~~~~
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursesp.h:89:32: note: in expansion of macro ‘THROWS’
   void OnError (int err) const THROWS(NCursesPanelException)
                                ^~~~~~
In file included from ../c++/cursesf.h:39:0,
                 from ../c++/cursesf.cc:35:
../c++/cursesp.h: In member function ‘T* NCursesUserPanel<T>::UserData() const’:
../c++/cursesp.h:256:43: error: no matching function for call to ‘NCursesUserPanel<T>::get_user() const’
     return reinterpret_cast<T*>(get_user ());
                                           ^
../c++/cursesp.h:80:9: note: candidate: void* NCursesPanel::get_user() <near match>
   void *get_user()
         ^~~~~~~~
../c++/cursesp.h:80:9: note:   passing ‘const NCursesUserPanel<T>*’ as ‘this’ argument discards qualifiers
In file included from ../c++/cursesw.h:36:0,
                 from ../c++/cursesp.h:39,
                 from ../c++/cursesf.h:39,
                 from ../c++/cursesf.cc:35:
../c++/cursesf.h: At global scope:
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursesf.h:64:38: note: in expansion of macro ‘THROWS’
   inline void OnError(int err) const THROWS(NCursesFormException) {
                                      ^~~~~~
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursesf.h:112:39: note: in expansion of macro ‘THROWS’
   inline void OnError (int err) const THROWS(NCursesFormException) {
                                       ^~~~~~
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursesf.h:394:39: note: in expansion of macro ‘THROWS’
   inline void OnError (int err) const THROWS(NCursesFormException) {
                                       ^~~~~~
In file included from ../c++/cursesf.cc:35:0:
../c++/cursesf.h: In member function ‘T* NCursesUserForm<T>::UserData() const’:
../c++/cursesf.h:707:43: error: no matching function for call to ‘NCursesUserForm<T>::get_user() const’
     return reinterpret_cast<T*>(get_user ());
                                           ^
../c++/cursesf.h:384:16: note: candidate: void* NCursesForm::get_user() <near match>
   inline void *get_user() {
                ^~~~~~~~
../c++/cursesf.h:384:16: note:   passing
*’ as ‘this’ argument discards qualifiers
In file included from ../c++/cursesw.h:36:0,
                 from ../c++/cursesp.h:39,
                 from ../c++/cursesf.h:39,
                 from ../c++/cursesf.cc:35:
../c++/cursslk.h: At global scope:
../c++/etip.h:374:20: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 #define THROWS(s)  throw(s)
                    ^
../c++/cursslk.h:120:45: note: in expansion of macro ‘THROWS’
   inline void Error (const char* msg) const THROWS(NCursesException) {
                                             ^~~~~~
make[1]: *** [../obj_s/cursesf.o] Error 1
make: *** [all] Error 2
Updating an existing record for version 5.9 of tool dependency ncurses for revision 335ebf512407 of repository package_ncurses_5_9 by updating the status from Installing to Error.
Error installing tool dependency ncurses version 5.9: 'ascii' codec can't encode character u'\u2018' in position 191: ordinal not in range(128)
Traceback (most recent call last):
  File "lib/tool_shed/galaxy_install/install_manager.py", line 196, in install_specified_tool_dependencies
    from_tool_migration_manager=from_tool_migration_manager)
  File "lib/tool_shed/galaxy_install/install_manager.py", line 352, in install_package
    (str(package_name), str(package_version), str(tool_dependency.error_message)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 191: ordinal not in range(128)


Any help/pointers would be warmly welcomed.

Kind regards,

FM

@bgruening
Copy link
Member

@bgruening bgruening commented Sep 20, 2019

@FMKerckhof which tool is this? tool-shed packages are deprecated for years and you should not use them if you have the choice. Galaxy is using for a few years conda packages instead or containers.

Loading

@FMKerckhof
Copy link
Author

@FMKerckhof FMKerckhof commented Sep 21, 2019

Dear @bgruening thank you for getting back to me on such short notice, I am trying to use SNVphyl for the detection of single-nucleotide variants (https://snvphyl.readthedocs.io/en/latest/install/galaxy/). I am aware that there is a docker-cotainerized version available, but I am trying to integrate the tool with a pre-existing Galaxy install. I do not have conda installed on the system I think, could this be an issue?

Loading

@bgruening
Copy link
Member

@bgruening bgruening commented Sep 21, 2019

@FMKerckhof how old is this instance? Conda get automatically installed these days by Galaxy.

Loading

@FMKerckhof
Copy link
Author

@FMKerckhof FMKerckhof commented Sep 21, 2019

It is quite a fresh install (Galaxy 19.05), I just followed the "for production" instructions as they are now on https://galaxyproject.org/admin/get-galaxy/ . I meant that I do not have the conda command available in the OS, I am not sure if the galaxy itself has a version of conda available to it that I do not have system-wide (or if that is possible?).

Loading

@FMKerckhof
Copy link
Author

@FMKerckhof FMKerckhof commented Sep 22, 2019

So I have found out that is possible for me to use "install checked dependencies using conda" from the "manage dependencies menu". However, ncurses is not showing up as a dependency there.

Loading

@bgruening
Copy link
Member

@bgruening bgruening commented Sep 22, 2019

@FMKerckhof are you familiar with Conda? Conda is resolving the dependencies for you, e.g. ncurses gets installed automatically via Conda. So you do not need to worry about it. That said, this only works if you tool is using Conda packages.

ping @apetkau

Loading

@apetkau
Copy link
Contributor

@apetkau apetkau commented Sep 22, 2019

Thanks for tagging me @bgruening

@FMKerckhof we actually have an updated version of SNVPhyl available on the main Galaxy toolshed which uses all conda dependencies (https://toolshed.g2.bx.psu.edu/view/nml/suite_snvphyl_1_1_0/1f0f9b1b5580). We haven't quite gotten to updating our documentation yet. Sorry about that. Installing this newer version should hopefully resolve this (and other) issues.

Updated workflows for SNVPhyl can be found at https://github.com/phac-nml/snvphyl-galaxy/tree/development/docs/workflows/SNVPhyl/1.1.0.

Loading

@FMKerckhof
Copy link
Author

@FMKerckhof FMKerckhof commented Sep 22, 2019

Dear @apetkau thank you, that was exceptionally helpful. I still have a lot to learn on galaxy administration, but it appears I was able to install the tool and the dependencies (using conda). The workflows still give me the error "The data content does not appear to be a valid workflow." when I try to import them as workflow.

Loading

@jennaj
Copy link
Member

@jennaj jennaj commented Sep 23, 2019

Some help with troubleshooting:

This error is generated when the uploaded workflow (".ga" file) is not formatted correctly.

Line 605 here in the Galaxy core codebase: https://github.com/galaxyproject/galaxy/blob/release_19.05/lib/galaxy/webapps/galaxy/api/workflows.py

Maybe @apetkau can help more.

Loading

@apetkau
Copy link
Contributor

@apetkau apetkau commented Sep 23, 2019

Thanks @jennaj

@FMKerckhof how did you try importing the workflow? Was it via the URL? Could you specifically try this URL https://raw.githubusercontent.com/phac-nml/snvphyl-galaxy/development/docs/workflows/SNVPhyl/1.1.0/snvphyl-workflow-1.1.ga

Loading

@FMKerckhof
Copy link
Author

@FMKerckhof FMKerckhof commented Sep 23, 2019

Dear @apetkau I tried donwloading and then uploading, but using the direct links to the raw github files indeed works. Thank you all (@bgruening & @jennaj too) for helping me with this!

Loading

@FMKerckhof FMKerckhof closed this Sep 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants