* [Buildroot] Question: Multiple versions of a package.
@ 2011-09-30 21:21 H Hartley Sweeten
2011-10-01 11:19 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: H Hartley Sweeten @ 2011-09-30 21:21 UTC (permalink / raw)
To: buildroot
Can a package/*/*.mk file be setup to handle two different versions
of a package or should two separate package/* directories be created?
I'm trying to add the ParaGUI package to buildroot. This is a widget
toolkit library that uses SDL. It also needs libsigc++, which is
available in packages/, but it's an incompatible version.
The version of libsigc++ in buildroot is 2.2.8. ParaGUI needs
libsigc++1.2 >= 1.2.5. It appears that even though these libraries
do the same thing they have very different API's.
A similar issue occurs with the new version of SDL. It has not been
offically released yet but SDL1.2 and SDL1.3 (2.0?) use completely
different APIs.
What's that bast way to handle this situation?
Regards,
Hartley
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] Question: Multiple versions of a package.
2011-09-30 21:21 [Buildroot] Question: Multiple versions of a package H Hartley Sweeten
@ 2011-10-01 11:19 ` Thomas Petazzoni
2011-10-04 0:12 ` H Hartley Sweeten
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2011-10-01 11:19 UTC (permalink / raw)
To: buildroot
Hello,
Le Fri, 30 Sep 2011 16:21:02 -0500,
H Hartley Sweeten <hartleys@visionengravers.com> a ?crit :
> Can a package/*/*.mk file be setup to handle two different versions
> of a package or should two separate package/* directories be created?
>
> I'm trying to add the ParaGUI package to buildroot. This is a widget
> toolkit library that uses SDL. It also needs libsigc++, which is
> available in packages/, but it's an incompatible version.
>
> The version of libsigc++ in buildroot is 2.2.8. ParaGUI needs
> libsigc++1.2 >= 1.2.5. It appears that even though these libraries
> do the same thing they have very different API's.
>
> A similar issue occurs with the new version of SDL. It has not been
> offically released yet but SDL1.2 and SDL1.3 (2.0?) use completely
> different APIs.
>
> What's that bast way to handle this situation?
There is basically two ways :
1) A single libsigc++ package, with a suboption to select the version
to be compiled. This solution does not allow two different versions
of libsigc++ to be built. For different versions of a library
having different ABIs, this solution is probably not appropriate.
2) Separate libsigc++ packages, with different names, like libsigc1
and libsigc2. This allows both versions to be built and installed
in the target, in case different applications require different
versions of the libsigc library.
I guess in your case, solution 2) is the only way. This is also what
traditional binary desktop distributions do.
Regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] Question: Multiple versions of a package.
2011-10-01 11:19 ` Thomas Petazzoni
@ 2011-10-04 0:12 ` H Hartley Sweeten
2011-10-04 5:25 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: H Hartley Sweeten @ 2011-10-04 0:12 UTC (permalink / raw)
To: buildroot
On Saturday, October 01, 2011 4:20 AM, Thomas Petazzoni wrote:
>
> Hello,
>
> Le Fri, 30 Sep 2011 16:21:02 -0500,
> H Hartley Sweeten <hartleys@visionengravers.com> a ?crit :
>
>> Can a package/*/*.mk file be setup to handle two different versions
>> of a package or should two separate package/* directories be created?
>>
>> I'm trying to add the ParaGUI package to buildroot. This is a widget
>> toolkit library that uses SDL. It also needs libsigc++, which is
>> available in packages/, but it's an incompatible version.
>>
>> The version of libsigc++ in buildroot is 2.2.8. ParaGUI needs
>> libsigc++1.2 >= 1.2.5. It appears that even though these libraries
>> do the same thing they have very different API's.
>>
>> A similar issue occurs with the new version of SDL. It has not been
>> offically released yet but SDL1.2 and SDL1.3 (2.0?) use completely
>> different APIs.
>>
>> What's that bast way to handle this situation?
>
> There is basically two ways :
>
> 1) A single libsigc++ package, with a suboption to select the version
> to be compiled. This solution does not allow two different versions
> of libsigc++ to be built. For different versions of a library
> having different ABIs, this solution is probably not appropriate.
>
> 2) Separate libsigc++ packages, with different names, like libsigc1
> and libsigc2. This allows both versions to be built and installed
> in the target, in case different applications require different
> versions of the libsigc library.
>
> I guess in your case, solution 2) is the only way. This is also what
> traditional binary desktop distributions do.
Thomas,
Thanks for the information.
Using your suggestion (2) I was able to add both libsigc++ packages and
finally get the ParaGUI package to compile.
I have already submitted a patch to move package/libsigc to package/libsigc2.
If that one looks ok I'll submit the patches to add libsigc++1.2 and ParaGUI
for review.
Two issues I found with the ParaGUI package.
1) There is an error in one of the source files that breaks the build.
2) There is a bug in the configure script that breaks the sdl library linkage.
I have patches for both of these as part of the package/paragui patch. Is this
normally how something like this would be handled? The ParaGUI library is pretty
old and I don't think anyone is currently maintaining it.
I actually found a couple references to issue (2) on the web as a bug report to
Debian (Bug#551465) but nothing about an official patch to fix it.
Issue (1) might be the toolchain I am using. The build breaks on a std::strlen()
Call, I just changed it to strlen() to get the build to complete.
Thanks,
Hartley
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] Question: Multiple versions of a package.
2011-10-04 0:12 ` H Hartley Sweeten
@ 2011-10-04 5:25 ` Thomas Petazzoni
2011-10-04 16:34 ` H Hartley Sweeten
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2011-10-04 5:25 UTC (permalink / raw)
To: buildroot
Hello,
Le Mon, 3 Oct 2011 19:12:48 -0500,
H Hartley Sweeten <hartleys@visionengravers.com> a ?crit :
> Using your suggestion (2) I was able to add both libsigc++ packages
> and finally get the ParaGUI package to compile.
>
> I have already submitted a patch to move package/libsigc to
> package/libsigc2.
Yes, I have seen that, but it does not rename the config option to
_LIBSGIC2, so there is an inconsistency between the package directory,
the package name and the config option, which, with the latest
developments in Buildroot Git, will probably break.
> If that one looks ok I'll submit the patches to add
> libsigc++1.2 and ParaGUI for review.
Yes, sure.
> Two issues I found with the ParaGUI package.
>
> 1) There is an error in one of the source files that breaks the build.
> 2) There is a bug in the configure script that breaks the sdl library
> linkage.
>
> I have patches for both of these as part of the package/paragui
> patch. Is this normally how something like this would be handled?
Yes exactly.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] Question: Multiple versions of a package.
2011-10-04 5:25 ` Thomas Petazzoni
@ 2011-10-04 16:34 ` H Hartley Sweeten
0 siblings, 0 replies; 5+ messages in thread
From: H Hartley Sweeten @ 2011-10-04 16:34 UTC (permalink / raw)
To: buildroot
On Monday, October 03, 2011 10:26 PM, Thomas Petazzoni wrote:
> Hello,
>
> Le Mon, 3 Oct 2011 19:12:48 -0500,
> H Hartley Sweeten <hartleys@visionengravers.com> a ?crit :
>
>> Using your suggestion (2) I was able to add both libsigc++ packages
>> and finally get the ParaGUI package to compile.
>>
>> I have already submitted a patch to move package/libsigc to
>> package/libsigc2.
>
> Yes, I have seen that, but it does not rename the config option to
> _LIBSGIC2, so there is an inconsistency between the package directory,
> the package name and the config option, which, with the latest
> developments in Buildroot Git, will probably break.
Ah, missed that, sorry. I'll post an updated patch shortly.
>> If that one looks ok I'll submit the patches to add
>> libsigc++1.2 and ParaGUI for review.
>
> Yes, sure.
>
>> Two issues I found with the ParaGUI package.
>>
>> 1) There is an error in one of the source files that breaks the build.
>> 2) There is a bug in the configure script that breaks the sdl library
>> linkage.
>>
>> I have patches for both of these as part of the package/paragui
>> patch. Is this normally how something like this would be handled?
>
> Yes exactly.
OK. Thanks!
Regards,
Hartley
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-10-04 16:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-30 21:21 [Buildroot] Question: Multiple versions of a package H Hartley Sweeten
2011-10-01 11:19 ` Thomas Petazzoni
2011-10-04 0:12 ` H Hartley Sweeten
2011-10-04 5:25 ` Thomas Petazzoni
2011-10-04 16:34 ` H Hartley Sweeten
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox