Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 358383 - sci-mathematics/reduce multiple QA issues
Summary: sci-mathematics/reduce multiple QA issues
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Andrey Grozin
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-11 12:02 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2011-03-29 21:21 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (reduce-20101007:20110311-020847.log,149.86 KB, text/plain)
2011-03-11 12:02 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2011-03-11 12:02:00 UTC
Created attachment 265553 [details]
Build log

Autotools are not properly rebuilt.
LDFLAGS are not respected.
Pre-stripped files are installed.
Comment 1 Andrey Grozin gentoo-dev 2011-03-11 15:15:08 UTC
There are more QA issues.

The current reduce bundles a modified fox library. It cannot use the system fox.

The build system is terrible. During the main make step (not make install!), make runs configure, make and make install (!) for this bundled fox. It is installed somewhere inside the build tree, and later used for linking csl and reduce (statically; this modified fox is never installed by the ebuild). But if I use --prefix=<something> in the main configure, it tries to install the fox-related stuff into the live file system, before compiling reduce. So, I cannot use econf, only bare ./configure. All this is already written in comments in the ebuild. The trunk behaves a little better than the latest release tarball. Also, the author of csl plans to switch from fox (with his own fixes) to wxwidgets, and, maybe, then it will be possible to use the system wxwidgets (or maybe not, who knows).

I'll have a look if it's possible to convince this make system to respect LDFLAGS and not to strip binaries. I did not know about the collision with sci-chemistry/reduce. I'll rename the main executable to redcsl (because this is the csl-based reduce), this is easy.

reduce is one of the world's major computer algebra systems starting from late 1960's. I use it starting from 1978, first on mainframes compatible with IBM/360 and (later) IBM/370, then on ICL, VAX, etc. It is at least as powerful as maxima, and I think reduce is more efficient and bug-free. So, I think, Gentoo *must* have it, in spite of the weird build system imposed on us by the upstream.
Comment 2 Tomáš Chvátal (RETIRED) gentoo-dev 2011-03-11 21:50:03 UTC
I would go then with fixing the buildsystem rather than working around it.

Btw bundling the fox is really really bad :)
Comment 3 Andrey Grozin gentoo-dev 2011-03-29 21:21:15 UTC
OK, I've committed reduce-20101007-r1

1. The main executable is now called redcsl, to avoid the conflict with sci-chemistry/reduce

2. csl (Codemist Standard Lisp) is now also installed

3. These binaries are not pre-stripped

4. A more reasonable set of files is installed with USE=doc

I don't understand this:

 * QA Notice: Files built without respecting LDFLAGS have been detected
 *  Please include the following list of files in your report:
 * /usr/lib/reduce/reduce

The final linking is done by

g++  -O2 -march=native -pipe -I/usr/include/freetype2 -fno-strict-aliasing -O2 -Wall  -Wl,-O1 -Wl,--as-needed -L/usr/X11R6/lib -Wl,--hash-style=both -rdynamic  -o   reduce arith01.o arith02.o arith03.o arith04.o arith05.o arith06.o arith07.o arith08.o arith09.o arith10.o arith11.o arith12.o char.o cslmpi.o eval1.o eval2.o eval3.o eval4.o fns1.o fns2.o fns3.o print.o cslread.o restart.o sysfwin.o csl.o fasl.o gc.o preserve.o   bytes.o u01.o u02.o u03.o u04.o u05.o u06.o u07.o u08.o u09.o u10.o u11.o u12.o u13.o u14.o u15.o u16.o u17.o u18.o u19.o u20.o u21.o u22.o u23.o u24.o u25.o u26.o u27.o u28.o u29.o u30.o u31.o u32.o u33.o u34.o u35.o u36.o u37.o u38.o u39.o u40.o u41.o u42.o u43.o u44.o u45.o u46.o u47.o u48.o u49.o u50.o u51.o u52.o u53.o u54.o u55.o u56.o u57.o u58.o u59.o u60.o -L/var/tmp/portage/sci-mathematics/reduce-20101007-r1/work/reduce-algebra-20101007/cslbuild/i686-pc-linux-gnu/lib -lFOX-1.6 -lnsl -lXrandr -lXcursor -lXrender -lcurses -lXext -lX11 -lfreetype -lz -lpthread -lrt -ldl -lXft -lfontconfig

Doesn't it respect LDFLAGS? In the Makefile, the corresponding line is

$(CXXLINKTO) $(REDUCEEXEDEF) $(DEST)reduce$(EXEEXT) $(reduce_OBJECTS) $(reduce_LDADD) $(LIBS) $(WINAP)

where

CXXLINKTO = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS)

I think LDFLAGS is respected.

Automake "maintainer mode" is used by this build system by design. I'll not fix this now, because the trunk looks better, and, maybe, the next release will have a more reasonable build system.