Bug 510281

Summary: pstoedit does not build in parallel
Product: [Fedora] Fedora Reporter: David Nečas <yeti>
Component: pstoeditAssignee: Denis Leroy <denis>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: denis
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.45-8.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-15 08:23:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
proof of concept patch none

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.