Bug 510281 - pstoedit does not build in parallel
Summary: pstoedit does not build in parallel
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pstoedit
Version: 11
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Denis Leroy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-08 15:02 UTC by David Nečas
Modified: 2009-08-15 08:23 UTC (History)
1 user (show)

Fixed In Version: 3.45-8.fc11
Clone Of:
Environment:
Last Closed: 2009-08-15 08:23:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
proof of concept patch (454 bytes, patch)
2009-07-08 15:02 UTC, David Nečas
no flags Details | Diff

Description David Nečas 2009-07-08 15:02:50 UTC
Created attachment 350949 [details]
proof of concept patch

Description of problem:
The pstoedit package fails to build with parallel build make flags enabled.

Version-Release number of selected component (if applicable):
pstoedit-3.45-7.fc11.src.rpm

How reproducible:
Always.

Steps to Reproduce:
1. rpmbuild --rebuild pstoedit-3.45-7.fc11.src.rpm
  
Actual results:
The compilation fails with something like
 g++ -DPACKAGE_NAME=\"pstoedit\" -DPACKAGE_TARNAME=\"pstoedit\" -DPACKAGE_VERSION=\"3.45\" "-DPACKAGE_STRING=\"pstoedit 3.45\"" -DPACKAGE_BUGREPORT=\"wglunz34_AT_pstoedit.net\" -DPACKAGE=\"pstoedit\" -DVERSION=\"3.45\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBGD=1 -I. -I. -DHAVE_LIBPLOTTER -DHAVE_MKSTEMP -DHAVE_MAGIC -fopenmp -I/usr/include/ImageMagick -DHAVE_LIBEMF -DHAVE_LIBPNG -DDEFAULTGS=/usr/bin/gs -DPSTOEDITDATADIR=\"/usr/share/pstoedit\" -DPSTOEDITLIBDIR=\"/usr/lib64/pstoedit\" -DBUGGYGPP -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -D_LITTLE_ENDIAN -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DINTERNALBOOL -MT drvlplot.lo -MD -MP -MF .deps/drvlplot.Tpo -c drvlplot.cpp  -fPIC -DPIC -o .libs/drvlplot.o
/bin/sh ../libtool --tag=CXX --mode=link g++  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DINTERNALBOOL   -o pstoedit -no-undefined -L. libpstoedit.la -ldl cmdmain.o  -lgd 
 g++ -DPACKAGE_NAME=\"pstoedit\" -DPACKAGE_TARNAME=\"pstoedit\" -DPACKAGE_VERSION=\"3.45\" "-DPACKAGE_STRING=\"pstoedit 3.45\"" -DPACKAGE_BUGREPORT=\"wglunz34_AT_pstoedit.net\" -DPACKAGE=\"pstoedit\" -DVERSION=\"3.45\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBGD=1 -I. -I. -DHAVE_LIBPLOTTER -DHAVE_MKSTEMP -DHAVE_MAGIC -fopenmp -I/usr/include/ImageMagick -DHAVE_LIBEMF -DHAVE_LIBPNG -DDEFAULTGS=/usr/bin/gs -DPSTOEDITDATADIR=\"/usr/share/pstoedit\" -DPSTOEDITLIBDIR=\"/usr/lib64/pstoedit\" -DBUGGYGPP -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -D_LITTLE_ENDIAN -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DINTERNALBOOL -MT drvwmf.lo -MD -MP -MF .deps/drvwmf.Tpo -c drvwmf.cpp  -fPIC -DPIC -o .libs/drvwmf.o
 g++ -DPACKAGE_NAME=\"pstoedit\" -DPACKAGE_TARNAME=\"pstoedit\" -DPACKAGE_VERSION=\"3.45\" "-DPACKAGE_STRING=\"pstoedit 3.45\"" -DPACKAGE_BUGREPORT=\"wglunz34_AT_pstoedit.net\" -DPACKAGE=\"pstoedit\" -DVERSION=\"3.45\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIBGD=1 -I. -I. -DHAVE_LIBPLOTTER -DHAVE_MKSTEMP -DHAVE_MAGIC -fopenmp -I/usr/include/ImageMagick -DHAVE_LIBEMF -DHAVE_LIBPNG -DDEFAULTGS=/usr/bin/gs -DPSTOEDITDATADIR=\"/usr/share/pstoedit\" -DPSTOEDITLIBDIR=\"/usr/lib64/pstoedit\" -DBUGGYGPP -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -D_LITTLE_ENDIAN -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DINTERNALBOOL -MT drvmagick++.lo -MD -MP -MF .deps/drvmagick++.Tpo -c drvmagick++.cpp  -fPIC -DPIC -o .libs/drvmagick++.o
libtool: link: cannot find the library `libpstoedit.la'
make[1]: *** [pstoedit] Error 1
make[1]: *** Waiting for unfinished jobs....
g++ -shared -nostdlib /usr/lib/gcc/x86_64-redhat-linux/4.4.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.0/crtbeginS.o  .libs/dynload.o .libs/callgs.o .libs/lexyy.o .libs/miscutil.o .libs/cbstream.o .libs/psimage.o .libs/drvbase.o .libs/base64writer.o .libs/poptions.o .libs/subpath.o .libs/pstoedit.o  -ldl -lgd -L/usr/lib/gcc/x86_64-redhat-linux/4.4.0 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/4.4.0/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/4.4.0/../../../../lib64/crtn.o  -m64 -mtune=generic -Wl,-soname -Wl,libpstoedit.so.0 -o .libs/libpstoedit.so.0.0.0
(cd .libs && rm -f libpstoedit.so.0 && ln -s libpstoedit.so.0.0.0 libpstoedit.so.0)
(cd .libs && rm -f libpstoedit.so && ln -s libpstoedit.so.0.0.0 libpstoedit.so)
creating libpstoedit.la
(cd .libs && rm -f libpstoedit.la && ln -s ../libpstoedit.la libpstoedit.la)
make[1]: Leaving directory `/home/yeti/src/RPM/BUILD/pstoedit-3.45/src'
make: *** [all-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.98DZnT (%build)

Expected results:
The build succeeds.

Additional info:
This is caused by missing dependency of pstoedit on libpstoedit.la.  The attached patch demonstrates a fix (dirty one that patches Makefile.in, one should patch Makefile.am and run automake but that's a scary prospect).

Comment 1 Denis Leroy 2009-07-08 15:12:23 UTC
Yes, I've been burned by this many times before, but never took the time to dig into the automake stuff. Many many thanks for the patch!

Comment 2 Fedora Update System 2009-07-09 08:40:58 UTC
pstoedit-3.45-8.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/pstoedit-3.45-8.fc11

Comment 3 Fedora Update System 2009-07-16 07:28:59 UTC
pstoedit-3.45-8.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update pstoedit'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-7671

Comment 4 Fedora Update System 2009-08-15 08:23:00 UTC
pstoedit-3.45-8.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.