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

Funnannotate #426

Open
4 tasks
laraPPr opened this issue Oct 3, 2024 · 21 comments
Open
4 tasks

Funnannotate #426

laraPPr opened this issue Oct 3, 2024 · 21 comments
Assignees
Labels
difficulty: medium software that likely require a fair amount of effort to support easyconfig Easyconfig is available enhancement New feature or request priority: ASAP site:ugent Software installation request for UGent Tier-2 update

Comments

@laraPPr
Copy link
Collaborator

laraPPr commented Oct 3, 2024

  • link to support ticket: #2024093060001064
  • website: https://funannotate.readthedocs.io
  • installation docs: https://funannotate.readthedocs.io/en/latest/install.html
  • toolchain: foss/2023a
  • easyblock to use: PythonBundle
  • required dependencies:
    • also include EVidenceModeler
    • DBD-mysql
    • funannotate check to see missing dependencies
  • optional dependencies:
    • ...
  • notes:
    • ...
  • effort: (TBD)
  • other install methods
    • conda: yes (link?) / no
    • container image: yes (link?) / no
    • pre-built binaries (RHEL8 Linux x86_64): yes (link?) / no
    • easyconfig outside EasyBuild: yes / no
@laraPPr laraPPr added enhancement New feature or request difficulty: medium software that likely require a fair amount of effort to support priority: ASAP update site:ugent Software installation request for UGent Tier-2 easyconfig Easyconfig is available labels Oct 3, 2024
@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 7, 2024

Firs looking at DBD-mysql a depency and got stuck here. See WIP for the easyconfigs.

# output for command: perl Makefile.PL PREFIX=/data/gent/vo/000/gvo00002/vsc    46128/easybuild/RHEL8/cascadelake-ampere-ib/software/DBD-mysql/5.009-GCC-12.3.0


PLEASE NOTE:
For 'make test' to run properly, you must ensure that the
 database user 'vsc46128' can connect to your MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
 as well as others.
mysql> CREATE USER 'vsc46128'@'localhost' IDENTIFIED BY 's3kr1t';
mysql> GRANT ALL PRIVILEGES ON test.* TO 'vsc46128'@'localhost';
 You can also optionally set the user to run 'make test' with:
perl Makefile.PL --testuser=username
DBD::mysql requires MySQL 8.x or newer for building. Version reported by mys    ql_config --version: 11.6.0 at Makefile.PL line 451, <PIPE> line 3.

@boegel
Copy link
Contributor

boegel commented Oct 7, 2024

That looks like an incorrect check for the MySQL (MariaDB) version to me...

See https://github.com/perl5-dbi/DBD-mysql/blob/3f82c9a4658073d3e6acf5c3e81b2934edd98400/Makefile.PL#L449-L451

It requires that the version starts with 8 or 9... 🤦

@boegel
Copy link
Contributor

boegel commented Oct 7, 2024

Maybe we should be using https://metacpan.org/dist/DBD-MariaDB instead?

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 7, 2024

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 7, 2024

Maybe we should be using https://metacpan.org/dist/DBD-MariaDB instead?

The documentation says that you have to install the actual MariaDB or MySQL as well

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 7, 2024

with the previous version of DBD-mysql we also build with 10. But the check was not added in that version

@boegel
Copy link
Contributor

boegel commented Oct 7, 2024

@laraPPr I guess we can patch the version check and see if that works?

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 8, 2024

Yes I can try that

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 10, 2024

I got that hook working but now it got stuck in the make step

564 dbdimp.c: In function mysql_dr_connect:

565 dbdimp.c:1244:31: error: MYSQL_OPT_COMPRESSION_ALGORITHMS undeclared (first use in this function)

566  1244 |           mysql_options(sock, MYSQL_OPT_COMPRESSION_ALGORITHMS, calg);

567       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

568 dbdimp.c:1244:31: note: each undeclared identifier is reported only once for each function it appears in

569 dbdimp.c:1415:31: error: MYSQL_OPT_GET_SERVER_PUBLIC_KEY undeclared (first use in this function); did you mean MYSQL_SERVER_PUBLIC_KEY?

570  1415 |           mysql_options(sock, MYSQL_OPT_GET_SERVER_PUBLIC_KEY, &server_get_pubkey);
571       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

572       |                               MYSQL_SERVER_PUBLIC_KEY

573 dbdimp.c:1479:22: error: SSL_MODE_PREFERRED undeclared (first use in this function)

574  1479 |           ssl_mode = SSL_MODE_PREFERRED;

575       |                      ^~~~~~~~~~~~~~~~~~

576 dbdimp.c:1481:26: error: SSL_MODE_VERIFY_IDENTITY undeclared (first use in this function)

577  1481 |               ssl_mode = SSL_MODE_VERIFY_IDENTITY;

578       |                          ^~~~~~~~~~~~~~~~~~~~~~~~

579 dbdimp.c:1483:26: error: SSL_MODE_VERIFY_CA undeclared (first use in this function)

580  1483 |               ssl_mode = SSL_MODE_VERIFY_CA;

581       |                          ^~~~~~~~~~~~~~~~~~

582 dbdimp.c:1485:26: error: SSL_MODE_REQUIRED undeclared (first use in this function)

583  1485 |               ssl_mode = SSL_MODE_REQUIRED;

584       |                          ^~~~~~~~~~~~~~~~~


585 dbdimp.c:1486:37: error: MYSQL_OPT_SSL_MODE undeclared (first use in this function); did you mean MYSQL_OPT_SSL_CRL?

586  1486 |             if (mysql_options(sock, MYSQL_OPT_SSL_MODE, &ssl_mode) != 0) {

587       |                                     ^~~~~~~~~~~~~~~~~~

588       |                                     MYSQL_OPT_SSL_CRL

589 dbdimp.c:1495:37: error: SSL_MODE_DISABLED undeclared (first use in this function)

590  1495 |             unsigned int ssl_mode = SSL_MODE_DISABLED;

591       |                                     ^~~~~~~~~~~~~~~~~

592 dbdimp.c: In function mysql_st_prepare:

593 dbdimp.c:2419:24: warning: assignment to my_bool * {aka char *} from incompatible pointer type _Bool * [-Wincompatible-pointer-types]

594  2419 |           bind->is_null=  &(fbind->is_null);

595       |                        ^

596 dbdimp.c: In function mysql_st_internal_execute41:

597 dbdimp.c:2856:9: warning: implicit declaration of function mysql_stmt_bind_named_param; did you mean mysql_stmt_bind_param? [-Wimplicit-function-declara    tion]

598  2856 |     if (mysql_stmt_bind_named_param(stmt,bind,num_params, NULL))

599       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
600       |         mysql_stmt_bind_param

601 dbdimp.c: In function mysql_describe:

602 dbdimp.c:3170:22: warning: assignment to my_bool * {aka char *} from incompatible pointer type _Bool * [-Wincompatible-pointer-types]

603  3170 |       buffer->is_null= &(fbh->is_null);

604       |                      ^

605 dbdimp.c:3171:20: warning: assignment to my_bool * {aka char *} from incompatible pointer type _Bool * [-Wincompatible-pointer-types]

606  3171 |       buffer->error= (bool*) &(fbh->error);

607       |                    ^

608 dbdimp.c: In function mysql_db_quote:

609 dbdimp.c:4626:12: warning: implicit declaration of function mysql_real_escape_string_quote; did you mean mysql_real_escape_string? [-Wimplicit-function-declaration]

610  4626 |     sptr+= mysql_real_escape_string_quote(imp_dbh->pmysql, sptr,

611       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

612       |            mysql_real_escape_string

613 make: *** [Makefile:356: dbdimp.o] Error 1

614 make: *** Waiting for unfinished jobs....

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 10, 2024

Somethin else popped up with the dependency Trinity Most of its dependencies are build ontop of Java 11. Except for GATK which requires Java 17. Most of Trinity's dependencies I could build with Java 17 until I saw that it also uses R which is also build ontop of Java 11. I was than thinking maybe I should build on a newer toolchain but 2023b also uses Java11.

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 10, 2024

Maybe the best option is just to build an older version of GATK that builds ontop of Java11

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 16, 2024

I tried building it with DBD::mariadb instead of DBD::mysql but that does not seem to work ERROR: DBD::mysql not installed, install with cpanm DBD::mysql

@laraPPr laraPPr self-assigned this Oct 18, 2024
@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 18, 2024

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 18, 2024

@laraPPr
Copy link
Collaborator Author

laraPPr commented Oct 29, 2024

@laraPPr
Copy link
Collaborator Author

laraPPr commented Nov 4, 2024

installing the new tbl2asn

@laraPPr
Copy link
Collaborator Author

laraPPr commented Nov 4, 2024

user is getting this error nextgenusfs/funannotate#1072.
Which seems to suggest that a newer boost is needed. Which will require building it ontop of GCC 13.3.0

@laraPPr
Copy link
Collaborator Author

laraPPr commented Nov 4, 2024

@boegel I think it is best to get easybuilders/easybuild-easyconfigs#21705 merged because it is only a single case that causes problems and there are now other open prs from @pavelToman that depend on it.

@boegel
Copy link
Contributor

boegel commented Nov 7, 2024

easybuilders/easybuild-easyconfigs#21705 is merged, Trinity/2.15.2-foss-2023a has been re-installed to include the DB dependency, and funannotate/1.8.17-foss-2023a has been reinstalled to use the non-system tbl2asn.

@boegel
Copy link
Contributor

boegel commented Nov 14, 2024

This can't be closed yet, more errors have been reported that we'll need to look into...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: medium software that likely require a fair amount of effort to support easyconfig Easyconfig is available enhancement New feature or request priority: ASAP site:ugent Software installation request for UGent Tier-2 update
Projects
None yet
Development

No branches or pull requests

2 participants