Skip to content

Conversation

@SethosII
Copy link
Contributor

@SethosII SethosII commented Feb 22, 2023

(created using eb --new-pr)

There is a test dataset included but as this is a GUI software I only added a check with -h.

@bedroge
Copy link
Contributor

bedroge commented Feb 22, 2023

Test report by @bedroge
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bob-Latitude-5300 - Linux Ubuntu 22.04, x86_64, Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz, Python 3.10.6
See https://gist.github.com/e696dbf1d08a9d1e0a126ab4ecc89f8a for a full test report.

@bedroge
Copy link
Contributor

bedroge commented Feb 22, 2023

@boegelbot please test @ generoso

@bedroge bedroge added the new label Feb 22, 2023
@bedroge bedroge added this to the next release (4.7.1?) milestone Feb 22, 2023
@bedroge
Copy link
Contributor

bedroge commented Feb 22, 2023

Test report by @bedroge
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in total)
pg-interactive.hpc.rug.nl - Linux CentOS Linux 7.9.2009, x86_64, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 3.6.8
See https://gist.github.com/efa487a2d9a702df3b5927c47daac769 for a full test report.

@boegelbot
Copy link
Collaborator

@bedroge: Request for testing this PR well received on login1

PR test command 'EB_PR=17385 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_17385 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 10339

Test results coming soon (I hope)...

- notification for comment with ID 1440684635 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/3a2b8dd6e83c4fffdebfe0caedc035e1 for a full test report.

@bedroge
Copy link
Contributor

bedroge commented Feb 22, 2023

Hmm, this executable actually has quite a lot of dependencies...:

$ ldd /data/apps/software/SeaView/5.0.5/seaview
	linux-vdso.so.1 (0x00007ffcba9f4000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb9fb84a000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fb9fb83d000)
	libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fb9fb831000)
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fb9fb829000)
	libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007fb9fb814000)
	libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007fb9fb800000)
	libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fb9fb6d8000)
	libpangoxft-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoxft-1.0.so.0 (0x00007fb9fb6cd000)
	libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007fb9fb6b2000)
	libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007fb9fb64b000)
	libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fb9fb5eb000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fb9fb4b1000)
	libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fb9fb465000)
	libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fb9fb39d000)
	libXft.so.2 => /lib/x86_64-linux-gnu/libXft.so.2 (0x00007fb9fb384000)
	libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fb9fb37f000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb9fb37a000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb9fb375000)
	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007fb9fb233000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb9fb14c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb9fae00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb9fb879000)
	libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fb9fb07d000)
	libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fb9fad55000)
	libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fb9fb040000)
	libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fb9fb03b000)
	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fb9fad2b000)
	libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fb9fb02c000)
	libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fb9fab53000)
	libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007fb9fab37000)
	libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007fb9fab2c000)
	libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fb9fab1f000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fb9faaa9000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fb9faa78000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fb9faa6f000)
	libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fb9faa61000)
	libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fb9faa3a000)
	libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007fb9faa34000)
	libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fb9faa2c000)
	libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fb9faa25000)
	libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007fb9fa9df000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fb9fa9b3000)
	libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007fb9fa9aa000)
	libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fb9fa987000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fb9fa96f000)
	libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fb9fa936000)
	libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fb9fa89f000)
	libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007fb9fa892000)

This will have to be reflected in the easyconfig somehow.

@SethosII
Copy link
Contributor Author

@bedroge Should I add all dependencies explicitly even if they are provided by other dependencies? For example cairo brings along some of the dependencies like GLib.

The full list would be:

Brotli
bzip2
cairo
expat
fontconfig
freetype
FriBidi
GLib
HarfBuzz
libffi
libpng
Pango
PCRE
pixman
util-linux
X11
zlib

with these remaining:

ldd /mnt/software/easybuild/test/software/SeaView/5.0.5-GCCcore-11.2.0/seaview | grep -v easybuild
        linux-vdso.so.1 (0x00007fff2a9f1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3b829e9000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3b829e3000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3b8274e000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3b8255c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3b82ec1000)
        libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f3b8250c000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3b823f8000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f3b81ff2000)

@bedroge
Copy link
Contributor

bedroge commented Feb 24, 2023

@bedroge Should I add all dependencies explicitly even if they are provided by other dependencies? For example cairo brings along some of the dependencies like GLib.

I think I'd prefer to make them explicit, also to prevent that things may break in the future if something changes in the dependencies of the dependencies.

@SethosII
Copy link
Contributor Author

@bedroge I added all dependencies explicitly.

@@ -0,0 +1,45 @@
easyblock = 'Tarball'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, rather than relying on binary installs, especially considering you have already added all the deps and moved this from SYSTEM to GCCcore, it just makes sense to build this from source, which would also add the benefit that this no longer just support x86

@SethosII
Copy link
Contributor Author

SethosII commented Mar 2, 2023

@Micket I changed it to a installation from source, but there are quite some differences.

These are the files included in the binary tarball:

clustalo
example.nxs
Gblocks
muscle
PhyML-3.1_linux64
seaview
seaview.html
treerecs

The only file build by the Makefile is seaview. seaview.html and example.nxs can be copied from the archive. Clustal-Omega, Gblocks and MUSCLE would be available in EasyBuild. PhyML and Treercs aren't available in EayBuild. However, I don't know for what part each of these is needed.

The seaview executable built from source uses fewer libraries: cairo, FriBidi, GLib, HarfBuzz, libffi, Pango, PCRE, pixman and util-linux aren't needed anymore.

@boegelbot

This comment was marked as resolved.

@Micket
Copy link
Contributor

Micket commented Mar 5, 2023

The only file build by the Makefile is seaview. seaview.html and example.nxs can be copied from the archive. Clustal-Omega, Gblocks and MUSCLE would be available in EasyBuild. PhyML and Treercs aren't available in EayBuild. However, I don't know for what part each of these is needed.

The seaview executable built from source uses fewer libraries: cairo, FriBidi, GLib, HarfBuzz, libffi, Pango, PCRE, pixman and util-linux aren't needed anymore.

Some of those might have jut been picked up accidentally in whatever OS they linked to, or some might require enabling some optional feature at config time, but if you are happy with the final application as this, then so am I, i don't really know what it does (just reviewing this as a general GUI software build in EB)

@Micket
Copy link
Contributor

Micket commented Mar 5, 2023

Test report by @Micket
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
vera-c2 - Linux Rocky Linux 8.6, x86_64, Intel Xeon Processor (Skylake), Python 3.6.8
See https://gist.github.com/6107a19f0b85c935842debb4c02acb44 for a full test report.

Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if github is being slow today. I tried to approve this but it didn't appear. Risk of repeating myself; i made a small tweak moving the binary to the bin/ subdir. LGTM

@Micket
Copy link
Contributor

Micket commented Mar 5, 2023

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

@Micket: Request for testing this PR well received on login1

PR test command 'EB_PR=17385 EB_ARGS= EB_CONTAINER= /opt/software/slurm/bin/sbatch --job-name test_PR_17385 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 10405

Test results coming soon (I hope)...

- notification for comment with ID 1455133915 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/5c5e6085f7fe808ffc80dc415f84c276 for a full test report.

@Micket Micket enabled auto-merge March 5, 2023 16:16
@Micket Micket merged commit c05c9c1 into easybuilders:develop Mar 5, 2023
@SethosII SethosII deleted the 20230222094340_new_pr_SeaView505 branch March 7, 2023 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants