Bug 788639

Summary: config.h needs to be removed from devel package
Product: [Fedora] Fedora Reporter: Ankur Sinha (FranciscoD) <sanjay.ankur>
Component: curlppAssignee: Veeti Paananen <veeti.paananen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: veeti.paananen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: curlpp-0.7.3-7.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-01 00:25:57 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:

Description Ankur Sinha (FranciscoD) 2012-02-08 16:57:53 UTC
Description of problem:
I had filed a bug earlier showing that config.h was needed to build packages using curlpp. However, it looks like we picked the wrong solution.

Inclusion of config.h in curlpp causes more issues while building stuff using the library:

[ankur@ankur fedora-freemedia-tool]$ make
make  all-recursive
make[1]: Entering directory `/home/ankur/Documents/work/repos/mine/fedora-freemedia-tool'
Making all in src
make[2]: Entering directory `/home/ankur/Documents/work/repos/mine/fedora-freemedia-tool/src'
g++ -DHAVE_CONFIG_H -I. -I..    -fopenmp -I/usr/include/ImageMagick   -I/usr/include/boost -DDATADIR='/home/ankur/Documents/work/repos/mine/fedora-freemedia-tool/data'  -DBUGREPORT='"ankursinha"' -g -O2 -MT ffmtool-main.o -MD -MP -MF .deps/ffmtool-main.Tpo -c -o ffmtool-main.o `test -f 'main.cpp' || echo './'`main.cpp
In file included from Session.h:52:0,
                 from main.cpp:38:
../config.h:8:0: warning: "PACKAGE" redefined [enabled by default]
/usr/include/curlpp/config.h:54:0: note: this is the location of the previous definition
../config.h:11:0: warning: "PACKAGE_BUGREPORT" redefined [enabled by default]
/usr/include/curlpp/config.h:57:0: note: this is the location of the previous definition
../config.h:14:0: warning: "PACKAGE_NAME" redefined [enabled by default]
/usr/include/curlpp/config.h:60:0: note: this is the location of the previous definition
../config.h:17:0: warning: "PACKAGE_STRING" redefined [enabled by default]
/usr/include/curlpp/config.h:63:0: note: this is the location of the previous definition
../config.h:20:0: warning: "PACKAGE_TARNAME" redefined [enabled by default]
/usr/include/curlpp/config.h:66:0: note: this is the location of the previous definition
../config.h:26:0: warning: "PACKAGE_VERSION" redefined [enabled by default]
/usr/include/curlpp/config.h:69:0: note: this is the location of the previous definition
../config.h:29:0: warning: "VERSION" redefined [enabled by default]
/usr/include/curlpp/config.h:75:0: note: this is the location of the previous definition
mv -f .deps/ffmtool-main.Tpo .deps/ffmtool-main.Po
g++ -DHAVE_CONFIG_H -I. -I..    -fopenmp -I/usr/include/ImageMagick   -I/usr/include/boost -DDATADIR='/home/ankur/Documents/work/repos/mine/fedora-freemedia-tool/data'  -DBUGREPORT='"ankursinha"' -g -O2 -MT ffmtool-Session.o -MD -MP -MF .deps/ffmtool-Session.Tpo -c -o ffmtool-Session.o `test -f 'Session.cpp' || echo './'`Session.cpp
In file included from Session.h:52:0,
                 from Session.cpp:36:
../config.h:8:0: warning: "PACKAGE" redefined [enabled by default]
/usr/include/curlpp/config.h:54:0: note: this is the location of the previous definition
../config.h:11:0: warning: "PACKAGE_BUGREPORT" redefined [enabled by default]
/usr/include/curlpp/config.h:57:0: note: this is the location of the previous definition
../config.h:14:0: warning: "PACKAGE_NAME" redefined [enabled by default]
/usr/include/curlpp/config.h:60:0: note: this is the location of the previous definition
../config.h:17:0: warning: "PACKAGE_STRING" redefined [enabled by default]
/usr/include/curlpp/config.h:63:0: note: this is the location of the previous definition
../config.h:20:0: warning: "PACKAGE_TARNAME" redefined [enabled by default]
/usr/include/curlpp/config.h:66:0: note: this is the location of the previous definition
../config.h:26:0: warning: "PACKAGE_VERSION" redefined [enabled by default]
/usr/include/curlpp/config.h:69:0: note: this is the location of the previous definition
../config.h:29:0: warning: "VERSION" redefined [enabled by default]
/usr/include/curlpp/config.h:75:0: note: this is the location of the previous definition
Uploading (4.3KiB)...
http://fpaste.org/G4yA/
[ankur@ankur fedora-freemedia-tool]$


Since the curlpp config.h file already makes use of the standard autotool macros such as PACKAGE (shown above), one cannot build packages using autotools, since my macros either clash or get replaced by curlpp's macros. 

The correct solution, like folks at #fedora-devel told me, is to remove the dependency on config.h in the other headers. Upstream really borked this one. I'll work on rectifying upstreams source and will try to submit a patch that you can use.

Thanks,
Ankur

Comment 1 Ankur Sinha (FranciscoD) 2012-02-08 17:57:04 UTC
Hello:

Adding the following lines to the %prep section fixes it.

# remove deps on global.h which in turn pulls in config.h
sed -i '28 d' include/curlpp/Types.hpp  

A scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3772813

I've installed the packages from the scratch build and tried building my app using it. Works well. 

Thanks again,
Ankur

Comment 2 Ankur Sinha (FranciscoD) 2012-02-08 18:07:47 UTC
Oh and, the line including config.h needs to be removed :)

install -p include/curlpp/config.h %{buildroot}%{_includedir}/curlpp/config.h

Comment 3 Fedora Update System 2012-03-19 21:20:53 UTC
curlpp-0.7.3-7.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/curlpp-0.7.3-7.fc17

Comment 4 Fedora Update System 2012-03-19 21:28:20 UTC
curlpp-0.7.3-7.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/curlpp-0.7.3-7.fc16

Comment 5 Veeti Paananen 2012-03-19 21:30:46 UTC
Hey - I've been a bit busy with some personal projects, studies and other stuff lately and I completely forgot about ever receiving this bug. Sorry about that.

I've pushed updates for f17 and f16. Sorry for the trouble.

Since you're probably more familiar with the package than I am now, would you be interested in becoming a comaintainer or something?

Thanks,
Veeti

Comment 6 Fedora Update System 2012-03-20 06:04:46 UTC
Package curlpp-0.7.3-7.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing curlpp-0.7.3-7.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-4216/curlpp-0.7.3-7.fc17
then log in and leave karma (feedback).

Comment 7 Ankur Sinha (FranciscoD) 2012-03-20 06:12:30 UTC
(In reply to comment #5)
> Hey - I've been a bit busy with some personal projects, studies and other stuff
> lately and I completely forgot about ever receiving this bug. Sorry about that.
> 
> I've pushed updates for f17 and f16. Sorry for the trouble.

Thanks, no issues :)

> 
> Since you're probably more familiar with the package than I am now, would you
> be interested in becoming a comaintainer or something?
> 

Sure. I've applied in the pkgdb. 

> Thanks,
> Veeti

Thanks a bunch :)
Ankur

Comment 8 Fedora Update System 2012-04-01 00:25:57 UTC
curlpp-0.7.3-7.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2012-04-12 03:05:29 UTC
curlpp-0.7.3-7.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.