Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 928077

Summary: dev-tex/hevea-2.35-r1 [Prefix] searches for hevea files on the host
Product: Gentoo/Alt Reporter: Steven Trogdon <strogdon>
Component: OtherAssignee: Gentoo non-Linux Team <alt>
Status: UNCONFIRMED ---    
Severity: normal CC: strogdon
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
strace

Description Steven Trogdon 2024-03-29 05:13:59 UTC
This issue also applies to dev-tex/hevea-2.36. After the install (the subject hevea does install) I get: 

$ hevea
File error:
        Cannot open file: hevea.hva:
Adios

Attached strace reveals searching for hevea.hva on the host:

openat(AT_FDCWD, "./hevea.hva", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib64/hevea/hevea.hva", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib64/hevea/html/hevea.hva", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "File error:\n\tCannot open file: h"..., 41) = 41
newfstatat(AT_FDCWD, "", 0x7ffc75446c70, 0) = -1 ENOENT (No such file or directory)
write(2, "Adios\n", 6)                  = 6
rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fa657f92ad0}, NULL, 8) = 0
sigaltstack({ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=8192}, {ss_sp=0x7fa65944c4e0, ss_flags=0, ss_size=8192}) = 0
exit_group(2)                           = ?
+++ exited with 2 +++

This prevents the building of sci-mathematics/giac-1.9.0.93 with the failure:

TEXINPUTS=.:$TEXINPUTS hevea -fix tutoriel.tex
 /storage/strogdon/gentoo-rap/bin/mkdir -p '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/giac/doc/en'
File error:
        Cannot open file: hevea.hva
Adios
make[3]: *** [Makefile:968: tutoriel.stamp] Error 2
make[3]: *** Waiting for unfinished jobs....
 /storage/strogdon/gentoo-rap/bin/mkdir -p '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/info'
 /storage/strogdon/gentoo-rap/usr/bin/install -c -m 644 html_mall html_mtt html_vall xcasmenu xcasex keywords '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/giac/doc/en'
 /storage/strogdon/gentoo-rap/usr/bin/install -c -m 644 ./giac_us.info '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/info'
 install-info --info-dir='/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/info' '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/image/storage/strogdon/gentoo-rap/usr/share/info/giac_us.info'
make[3]: Leaving directory '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/work/giac-1.9.0/doc/en'
make[2]: *** [Makefile:695: install-am] Error 2
make[2]: Leaving directory '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/work/giac-1.9.0/doc/en'
make[1]: *** [Makefile:524: install-recursive] Error 1
make[1]: Leaving directory '/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/giac-1.9.0.93/work/giac-1.9.0/doc'
make: *** [Makefile:508: install-recursive] Error 1
Comment 1 Steven Trogdon 2024-03-29 05:14:41 UTC
Created attachment 888950 [details]
build.log
Comment 2 Steven Trogdon 2024-03-29 05:15:18 UTC
Created attachment 888951 [details]
strace
Comment 3 Steven Trogdon 2024-03-31 03:48:15 UTC
From the documentation, https://hevea.inria.fr/distri/hevea-2.36-manual.pdf it appears that the HEVEADIR variable controls the hevea search path for hevea libs. 

The following works here. My EPREFIX is /storage/strogdon/gentoo-rap.

HEVEADIR=/storage/strogdon/gentoo-rap/usr/lib64/hevea strace hevea

with pertinent output (hevea.hva is found):

openat(AT_FDCWD, "./hevea.hva", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/storage/strogdon/gentoo-rap/usr/lib64/hevea/hevea.hva", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/storage/strogdon/gentoo-rap/usr/lib64/hevea/html/hevea.hva", O_RDONLY|O_CLOEXEC) = 3
brk(0x7ff69d370000)                     = 0x7ff69d370000
lseek(3, 0, SEEK_CUR)                   = 0
openat(AT_FDCWD, "/storage/strogdon/gentoo-rap/usr/lib64/hevea/html/hevea.hva", O_RDONLY|O_CLOEXEC) = 4
lseek(4, 0, SEEK_CUR) 

There are 3 hevea files that need to be patched to avoid passing the HEVEADIR variable. But I'm not sure patching is the way to proceed. Patching hevea I'm able to build giac-1.9.0.93 which failed with out patching.
Comment 4 Steven Trogdon 2024-04-01 20:17:25 UTC
Perhaps one could add a global environment variable, HEVEADIR without touching the hevea code.