Summary: | Please add an ebuild for plplot. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tyler Nielsen <tyler> |
Component: | New packages | Assignee: | Gentoo Science Related Packages <sci> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | enhancement | CC: | cbm |
Priority: | High | Keywords: | EBUILD |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://plplot.sourceforge.net | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Ebuild for plplot
improved ebuild Patch so that plplot compiles plplot-5.3.0.ebuild - New ebuild metadata.xml Diff of plplot-5.3.0.ebuild patch to fix octave in plplot 5.3.1 plplot-5.3.1-r1.ebuild |
Description
Tyler Nielsen
2003-10-19 17:11:08 UTC
You could try writing an ebuild for this until we get through our bug list to this one :-) Created attachment 19567 [details]
Ebuild for plplot
Here is a tbz2 file with and ebuild for plplot. I untared it in
/usr/portage/dev-libs and it appears to work correctly.
Created attachment 20311 [details]
improved ebuild
This added USE flags doc and debug.
Also fixes segfaults in the package.
Still needs the patch from the other attachment.
Could you attach the patch as a text/plain file, so it's viewable from the web? Created attachment 20528 [details, diff]
Patch so that plplot compiles
Patch files attached as plain text
Created attachment 33383 [details]
plplot-5.3.0.ebuild - New ebuild
There is a new version of plplot (5.3.0). Here is a new ebuild, based on
Tyler's. Here is what I changed:
- The patch has been included upstream, so it is no longer needed.
- Corrected the way documentation is handled (--with-prebuilddoc assumes
documentation is already built. This is not the case.)
- Added missing dependencies (pkgconfig, man, perl, opensp, jre, jadetex,
octave, libgd, truetype, tk, itcl, gnome-libs). These are not mandatory, but
some bindings and drivers depend on them.
- Added USE flags to control what language bindings and device drivers are
built (gd-external, gnome, java, jpeg, png, tetex, truetype, X, itcl and
octave). These flags are also used to determine dependencies.
- Made fortran support optional and added an option to use Intel's Fortran
Compiler (ifc) instead of the GNU Fortran Compiler (f77).
- Better compliance with Gentoo FSH (docs, shared files and java libs). I also
changed the octave script which loads plplot, to reflect the changes in the
files locations.
I still have two problems with the package:
- I can't get the documentation to build. The configure script doesn't locate
my catalog files. The html documentation is available (and installed), but
there is no pdf, dvi or info files.
- I can't get the configure script to locate libqhull, so I disabled it.
Created attachment 33384 [details]
metadata.xml
Goes with 33383
- Assigns to the sci herd
- Provides long description
I believe there's a configuration problem with the 5.3.0 ebuild in that it assumes files are in /use/share/plplot5.3.0/ when they're in /usr/share/plplot/. Details: I can compile the example programs in /usr/share/plplot/examples/c/ but they crash on running: e.g. $ ./x01c PLplot library version: 5.3.0 Plotting Options: < 1> gnome Gnome Canvas < 2> xwin X-Window (Xlib) < 3> tk Tcl/TK Window < 4> xterm Xterm Window < 5> tekt Tektronix Terminal (4010) < 6> tek4107t Tektronix Terminal (4105/4107) < 7> mskermit MS-Kermit emulator < 8> versaterm Versaterm vt100/tek emulator < 9> vlt VLT vt100/tek emulator <10> conex Conex vt320/tek emulator <11> dg300 DG300 Terminal <12> plmeta PLplot Native Meta-File <13> tekf Tektronix File (4010) <14> tek4107f Tektronix File (4105/4107) <15> ps PostScript File (monochrome) <16> psc PostScript File (color) <17> xfig Xfig file <18> ljiip LaserJet IIp/deskjet compressed graphics <19> ljii LaserJet II Bitmap File (150 dpi) <20> hp7470 HP 7470 Plotter File (HPGL Cartridge, Small Plotter) <21> hp7580 HP 7580 Plotter File (Large Plotter) <22> lj_hpgl HP Laserjet III, HPGL emulation mode <23> imp Impress File <24> pbm PDB (PPM) Driver <25> pstex Combined Postscript/LaTeX files <26> null Null device <27> ntk New Tk device <28> mem User-supplied memory device Enter device number or keyword: 2 *** PLPLOT ERROR *** Unable to open or allocate memory for font file Program aborted The choice of device doesn't matter. Using strace I found that it was looking for the font file in /usr/share/plplot5.3.0/ whereas I only have /usr/share/plplot/ [strace output below]. I hacked this by adding in a soft link as I don't know enough about the gentoo layout to know what to hack in the actual ebuild. Output of 'strace ./x01c': ... lots of lines deleted ... _llseek(4, 0, [0], SEEK_CUR) = 0 getcwd("/home/doug/tmp", 256) = 15 open("plxtnd5.fnt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/plplot5.3.0/plxtnd5.fnt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/local/plplot/lib/plxtnd5.fnt", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "\n*** PLPLOT ERROR ***\n", 22 *** PLPLOT ERROR *** ) = 22 write(2, "Unable to open or allocate memor"..., 48Unable to open or allocate memory for font file ) = 48 write(3, "\4\0\2\0\1\0\0\0036\0\2\0\4\0\0\3", 16) = 16 write(3, "<\0\2\0\2\0\0\3<\0\2\0\0\0\0\3+\3\1\0", 20) = 20 read(3, 0xb412e940, 32) = -1 EAGAIN (Resource temporarily unavailable) select(4, [3], NULL, NULL, NULL) = 1 (in [3]) read(3, "\22\303+\0\1\0\0\3\1\0\0\3\0001\"\262\251s\224E \315\236"..., 32) = 32 read(3, "\21\303+\0\1\0\0\3\1\0\0\3\3101\"\262\251s\224E\370\362"..., 32) = 32 read(3, "\1\1/\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\342"..., 32) = 32 shutdown(3, 2 /* send and receive */) = 0 close(3) = 0 write(2, "Program aborted\n", 16Program aborted ) = 16 write(4, "\6\17\2\0\17\1\0", 7) = 7 munmap(0x41a96000, 4096) = 0 munmap(0x41a94000, 4096) = 0 exit_group(1) = ? Created attachment 43960 [details] Diff of plplot-5.3.0.ebuild This is a diff of the previous ebuild. It corrects the problem described on comment #8. I have successfully compiled and run the new ebuild on amd64 arch with GCC 3.4, and compiled the C++ exmamples in /usr/share/plplot/examples/c++. They now run correctly and I have tested them using the xwin and png drivers. eerror "GNU fortran 77 compiler not found on the system." eerror "Please add f77 to your USE flags and reemerge gcc." I think this error message should now read "Please add fortran to your USE flags" Created attachment 48042 [details, diff] patch to fix octave in plplot 5.3.1 This patch applies the 5.3.0 patched with Comment #9. Changes: 1) Fix octave dependency from the app-sci -> sci-mathematics move 2) Fix the paths used for plplot's .m files 3) Change warning in Comment #10. I will attach my new ebuild with this patch applied. Created attachment 48044 [details]
plplot-5.3.1-r1.ebuild
I am still working on this - I had already added doc installation, fixed the fortran USE flag and had changed the octave dependency. I tried your patch for the octave path and it does not work on my amd64 system, make[4]: Entering directory `/var/tmp/portage/plplot-5.3.1/work/plplot-5.3.1/bindings/octave' if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../include -march=k8 -O2 -pipe -MT massage.o -MD -MP -MF ".deps/massage.Tpo" -c -o massage.o massage.c; \ then mv -f ".deps/massage.Tpo" ".deps/massage.Po"; else rm -f ".deps/massage.Tpo"; exit 1; fi /bin/sh ../../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=k8 -O2 -pipe -o massage massage.o -lm mkdir .libs x86_64-pc-linux-gnu-gcc -march=k8 -O2 -pipe -o massage massage.o -lm perl /var/tmp/portage/plplot-5.3.1/work/plplot-5.3.1/bindings/octave/matwrap/matwrap -language octave -o plplot_octave.cc -stub tmp_stub \ -cpp_ignore plplot_octave_rej.h -cpp x86_64-pc-linux-gnu-gcc -E -C plplot_octave.h unrecognized type '__builtin_va_list ' make[4]: *** [plplot_octave.cc] Error 9 make[4]: Leaving directory `/var/tmp/portage/plplot-5.3.1/work/plplot-5.3.1/bindings/octave' I will dig a little deeper and see if I can get to the bottom of that error later when I have some time. Once I have it working I will put it into the tree under sci-libs. Diffs are preferred to ebuilds as it is easier to see what you have changed. My patched only changed src_install. It also shouldn't be archecture dependent; it only moves a file and runs sed. Are you sure that error is caused by my changes? Re: diffs: I also attached a patch (see Comment #11). I didn't mean to imply that your changes broke the octave support, just that I would not be adding it until I had sorted out all remaining issues. I found a patch on Debian's bugzilla that seems to fix this issue, just testing it out now. I should be able to get this added and in testing for x86 and amd64 soon - just a little more testing is required. I have added plplot to the tree. Please test it out and let me know of any issues. I think I have addressed most of them, but it is quite a complex library so I could have missed something. Thanks for all the contributions made. |