Message ID | 1358709866.18838.12.camel@pluto.deltab.lan |
---|---|
State | New |
Headers |
Received: from localhost ([127.0.0.1] helo=www.linuxtv.org) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from <vdr-bounces@linuxtv.org>) id 1Tx0Vj-0005zM-Se; Sun, 20 Jan 2013 20:24:55 +0100 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from <ml08@deltab.de>) id 1Tx0VI-0005rt-C1 for vdr@linuxtv.org; Sun, 20 Jan 2013 20:24:53 +0100 X-tubIT-Incoming-IP: 212.91.253.234 Received: from web3.dns-net.de ([212.91.253.234]) by mail.tu-berlin.de (exim-4.75/mailfrontend-3) with esmtps [TLSv1:AES256-SHA:256] for <vdr@linuxtv.org> id 1Tx0VI-0005oy-DP; Sun, 20 Jan 2013 20:24:28 +0100 Received: from ds1.deltab.lan (p4FF7BECA.dip.t-dialin.net [79.247.190.202]) (authenticated bits=0) by web3.dns-net.de (8.13.1/8.13.1) with ESMTP id r0KJORF7032599 for <vdr@linuxtv.org>; Sun, 20 Jan 2013 20:24:27 +0100 Received: from [192.168.0.50] (pluto.deltab.lan [192.168.0.50]) by ds1.deltab.lan (Postfix) with ESMTP id B1D9428B37 for <vdr@linuxtv.org>; Sun, 20 Jan 2013 20:24:26 +0100 (CET) Message-ID: <1358709866.18838.12.camel@pluto.deltab.lan> From: Andreas Brachold <ml08@deltab.de> To: vdr@linuxtv.org Date: Sun, 20 Jan 2013 20:24:26 +0100 In-Reply-To: <50FBF689.1070607@tvdr.de> References: <50FBF689.1070607@tvdr.de> Content-Type: multipart/mixed; boundary="=-LAMdbg9R3wRg5YaNUs59" X-Mailer: Evolution 3.4.4-1 Mime-Version: 1.0 X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2013.1.20.191519 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, MIME_LOWER_CASE 0.05, MIME_TEXT_ONLY_MP_MIXED 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1600_1699 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, NO_URI_FOUND 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_MIXED 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __LINES_OF_YELLING 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0' X-LSpam-Score: -1.1 (-) X-LSpam-Report: No, score=-1.1 required=5.0 tests=BAYES_00=-1.9, RDNS_NONE=0.793 autolearn=no Subject: Re: [vdr] [ANNOUNCE] VDR developer version 1.7.36 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: VDR Mailing List <vdr@linuxtv.org> List-Id: VDR Mailing List <vdr.linuxtv.org> List-Unsubscribe: <http://www.linuxtv.org/cgi-bin/mailman/options/vdr>, <mailto:vdr-request@linuxtv.org?subject=unsubscribe> List-Archive: <http://www.linuxtv.org/pipermail/vdr> List-Post: <mailto:vdr@linuxtv.org> List-Help: <mailto:vdr-request@linuxtv.org?subject=help> List-Subscribe: <http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr>, <mailto:vdr-request@linuxtv.org?subject=subscribe> Sender: vdr-bounces@linuxtv.org Errors-To: vdr-bounces@linuxtv.org |
Commit Message
Andreas Brachold
Jan. 20, 2013, 7:24 p.m. UTC
Hi, I think into vdr.pc is parameter includedir= missed, if $(INCDIR) not a standard directory. After a recreating of a new PLUGIN Makefile, building from vdr root directory work, but i can't build plugin from own directory. #> cd PLUGINS/src/dvdswitch/ #> make all g++ -g -O0 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvdswitch"' -o dvdswitch.o dvdswitch.c dvdswitch.c:10:24: fatal error: vdr/plugin.h: No such file or directory compilation terminated. make: *** [dvdswitch.o] Error 1 Andreas
Comments
On 20.01.2013 20:24, Andreas Brachold wrote: > Hi, > > I think into vdr.pc is parameter includedir= missed, if $(INCDIR) not a > standard directory. > > After a recreating of a new PLUGIN Makefile, building from vdr root > directory work, but i can't build plugin from own directory. > > #> cd PLUGINS/src/dvdswitch/ > #> make all > > g++ -g -O0 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvdswitch"' -o > dvdswitch.o dvdswitch.c > dvdswitch.c:10:24: fatal error: vdr/plugin.h: No such file or directory > compilation terminated. > make: *** [dvdswitch.o] Error 1 If you have an installed version of VDR on your system (i.e. there is a vdr.pc file in /usr/share/pkgconfig) and you 'make' a plugin from within the plugin's source directory, the information stored in that vdr.pc file will be used. If, in such a scenario, you want to build the plugin using VDR header files from the VDR source directory, you need to do make VDRDIR=/path/to/your/vdr/source If you want to be able to build a plugin from within its source directory, and use the VDR source from ../../.. without setting the VDRDIR macro, you need to make sure that there is no vdr.pc in /usr/share/pkgconfig. Klaus
2013/1/22 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de> > On 20.01.2013 20:24, Andreas Brachold wrote: > >> I think into vdr.pc is parameter includedir= missed, if $(INCDIR) not a >> standard directory. >> >> > If you have an installed version of VDR on your system (i.e. there is > a vdr.pc file in /usr/share/pkgconfig) and you 'make' a plugin from > within the plugin's source directory, the information stored in that > vdr.pc file will be used. > > I think what Andreas means ist, that the INCDIR of the *installed* VDR headers is currently not included in the CXXFLAGS in vdr.pc. This causes plugins to not compile for themselves even if VDR has installed (using make install) before.
2013/1/23 Joachim Wilke <joachim.wilke@gmail.com>: > 2013/1/22 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de> >> >> On 20.01.2013 20:24, Andreas Brachold wrote: >>> >>> I think into vdr.pc is parameter includedir= missed, if $(INCDIR) not a >>> standard directory. >>> >> >> If you have an installed version of VDR on your system (i.e. there is >> a vdr.pc file in /usr/share/pkgconfig) and you 'make' a plugin from >> within the plugin's source directory, the information stored in that >> vdr.pc file will be used. >> > > I think what Andreas means ist, that the INCDIR of the *installed* VDR > headers is currently not included in the CXXFLAGS in vdr.pc. This causes > plugins to not compile for themselves even if VDR has installed (using make > install) before. > But it works without any problems here. You don't need to add /usr/include or /usr/local/include to the CXXFLAGS because they are always included. I can't imagine a reason why the includedir should not be a "standard directory".
Hi, Am Freitag, den 25.01.2013, 15:31 +0100 schrieb Christopher Reimer: > I can't imagine a reason why the includedir should not be a "standard > directory". I use this, to install multiple versions side by side. Please remember you, the program vdr-1.7.x is a developer version ... Andreas
Ever tried LCLBLD=1 or ONEDIR=1 ? Christopher 2013/1/25 Andreas Brachold <ml08@deltab.de>: > Hi, > > Am Freitag, den 25.01.2013, 15:31 +0100 schrieb Christopher Reimer: >> I can't imagine a reason why the includedir should not be a "standard >> directory". > > I use this, to install multiple versions side by side. > Please remember you, the program vdr-1.7.x is a developer version ... > > Andreas > > > > > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
2013/1/25 Christopher Reimer <c.reimer1993@gmail.com> > > I think what Andreas means ist, that the INCDIR of the *installed* VDR > > headers is currently not included in the CXXFLAGS in vdr.pc. This causes > > plugins to not compile for themselves even if VDR has installed (using > make > > install) before. > > > > But it works without any problems here. You don't need to add > /usr/include or /usr/local/include to the CXXFLAGS because they are > always included. > I can't imagine a reason why the includedir should not be a "standard > directory". > So your imagination is limited. Nvertheless, it is no good practise to expect something to be included by default. As long as INCDIR or PREFIX can be changed in Make.config, this *has* to be considered when creating vdr.pc. I'm not requesting a feature, I'm just providing a bugfix.
OK, OK, OK... If it fixes your problem I don't see any problem with adding INCDIR to CINCLUDES. I was a bit worried about the DESTDIR stuff, but this change doesn't affect anything there. Christopher 2013/1/25 Joachim Wilke <joachim.wilke@gmail.com>: > > > 2013/1/25 Christopher Reimer <c.reimer1993@gmail.com> >> >> > I think what Andreas means ist, that the INCDIR of the *installed* VDR >> > headers is currently not included in the CXXFLAGS in vdr.pc. This causes >> > plugins to not compile for themselves even if VDR has installed (using >> > make >> > install) before. >> > >> >> But it works without any problems here. You don't need to add >> /usr/include or /usr/local/include to the CXXFLAGS because they are >> always included. >> I can't imagine a reason why the includedir should not be a "standard >> directory". > > > So your imagination is limited. Nvertheless, it is no good practise to > expect something to be included by default. > As long as INCDIR or PREFIX can be changed in Make.config, this *has* to be > considered when creating vdr.pc. I'm not requesting a feature, I'm just > providing a bugfix. > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr >
Hmm, it is problematic. We can't make sure that "make plugins" uses the header files of the current source tree. plugins of 1.7.36 should be compiled against the 1.7.36 headers, even if there are older header files in /usr/include/vdr. 2013/1/25 Christopher Reimer <c.reimer1993@gmail.com>: > OK, OK, OK... > > If it fixes your problem I don't see any problem with adding INCDIR to > CINCLUDES. I was a bit worried about the DESTDIR stuff, but this > change doesn't affect anything there. > > Christopher > > 2013/1/25 Joachim Wilke <joachim.wilke@gmail.com>: >> >> >> 2013/1/25 Christopher Reimer <c.reimer1993@gmail.com> >>> >>> > I think what Andreas means ist, that the INCDIR of the *installed* VDR >>> > headers is currently not included in the CXXFLAGS in vdr.pc. This causes >>> > plugins to not compile for themselves even if VDR has installed (using >>> > make >>> > install) before. >>> > >>> >>> But it works without any problems here. You don't need to add >>> /usr/include or /usr/local/include to the CXXFLAGS because they are >>> always included. >>> I can't imagine a reason why the includedir should not be a "standard >>> directory". >> >> >> So your imagination is limited. Nvertheless, it is no good practise to >> expect something to be included by default. >> As long as INCDIR or PREFIX can be changed in Make.config, this *has* to be >> considered when creating vdr.pc. I'm not requesting a feature, I'm just >> providing a bugfix. >> >> _______________________________________________ >> vdr mailing list >> vdr@linuxtv.org >> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr >>
s pozdravom Marek Hajduk France-tech s.r.o. konatel spolocnosti -----Original Message----- From: Christopher Reimer <c.reimer1993@gmail.com> Sender: vdr-bounces@linuxtv.org Date: Fri, 25 Jan 2013 18:00:09 To: VDR Mailing List<vdr@linuxtv.org> Reply-To: VDR Mailing List <vdr@linuxtv.org> Subject: Re: [vdr] [ANNOUNCE] VDR developer version 1.7.36 Ever tried LCLBLD=1 or ONEDIR=1 ? Christopher 2013/1/25 Andreas Brachold <ml08@deltab.de>: > Hi, > > Am Freitag, den 25.01.2013, 15:31 +0100 schrieb Christopher Reimer: >> I can't imagine a reason why the includedir should not be a "standard >> directory". > > I use this, to install multiple versions side by side. > Please remember you, the program vdr-1.7.x is a developer version ... > > Andreas > > > > > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
2013/1/25 Christopher Reimer <c.reimer1993@gmail.com>: > Hmm, it is problematic. > > We can't make sure that "make plugins" uses the header files of the > current source tree. > > plugins of 1.7.36 should be compiled against the 1.7.36 headers, even > if there are older header files in /usr/include/vdr. This is an issue even without my suggested patch, right?
No, I tried it and it works with and without your patch. CINCLUDES has a lower priority, the order of the parameters matters. And the default INCLUDE stuff comes after CXXFLAGS (CINCLUDES is a part of CXXFLAGS in plugin makefiles) 2013/1/26 Joachim Wilke <joachim.wilke@gmail.com>: > 2013/1/25 Christopher Reimer <c.reimer1993@gmail.com>: >> Hmm, it is problematic. >> >> We can't make sure that "make plugins" uses the header files of the >> current source tree. >> >> plugins of 1.7.36 should be compiled against the 1.7.36 headers, even >> if there are older header files in /usr/include/vdr. > > This is an issue even without my suggested patch, right? > > -- > Best Regards, > Joachim. > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
2013/1/26 Christopher Reimer <c.reimer1993@gmail.com>: > No, I tried it and it works with and without your patch. > > CINCLUDES has a lower priority, the order of the parameters matters. > And the default INCLUDE stuff comes after CXXFLAGS (CINCLUDES is a > part of CXXFLAGS in plugin makefiles) As the fix is not yet included in 1.7.37, is it scheduled for the next release?
On 15.02.2013 11:14, Joachim Wilke wrote: > 2013/1/26 Christopher Reimer <c.reimer1993@gmail.com>: >> No, I tried it and it works with and without your patch. >> >> CINCLUDES has a lower priority, the order of the parameters matters. >> And the default INCLUDE stuff comes after CXXFLAGS (CINCLUDES is a >> part of CXXFLAGS in plugin makefiles) > > As the fix is not yet included in 1.7.37, is it scheduled for the next release? I'm not planning to make any more changes to the Makefiles for version 2.0.0. Klaus
2013/2/15 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>: > I'm not planning to make any more changes to the Makefiles for version > 2.0.0. So it will remain broken. Thats sad, I provided the patch already before release of 1.7.37.
On 16.02.2013 11:43, Joachim Wilke wrote: > 2013/2/15 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>: >> I'm not planning to make any more changes to the Makefiles for version >> 2.0.0. > > So it will remain broken. Thats sad, I provided the patch already > before release of 1.7.37. Well, according to Christopher Reimer it isn't broken: http://www.linuxtv.org/pipermail/vdr/2013-January/027173.html Klaus
On 16 February 2013 10:48, Klaus Schmidinger <Klaus.Schmidinger@tvdr.de> wrote: > On 16.02.2013 11:43, Joachim Wilke wrote: >> 2013/2/15 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>: >>> I'm not planning to make any more changes to the Makefiles for version >>> 2.0.0. >> >> So it will remain broken. Thats sad, I provided the patch already >> before release of 1.7.37. > > Well, according to Christopher Reimer it isn't broken: > http://www.linuxtv.org/pipermail/vdr/2013-January/027173.html Well. If you wanted to install different VDR versions to /opt/vdr-$APIVERSION, you might have compiled with PREFIX=/opt/vdr-$APIVERSION, and the header files would end up at /opt/vdr-$APIVERSION/include which obviously isn't on the default search path. Unless I'm misreading Christopher's e-mail just seemed to say that this patch didn't make a difference to the problem he described - that doesn't mean its not potentially useful. Even if you don't add INCDIR directly to the CFLAGS/CXXFLAGS you could add it to the pkg-config variables dumped into vdr.pc so that plugin authors can use it if they need it. Currently its not available in either place.
On 18.02.2013 21:51, Dominic Evans wrote: > On 16 February 2013 10:48, Klaus Schmidinger <Klaus.Schmidinger@tvdr.de> wrote: >> On 16.02.2013 11:43, Joachim Wilke wrote: >>> 2013/2/15 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>: >>>> I'm not planning to make any more changes to the Makefiles for version >>>> 2.0.0. >>> >>> So it will remain broken. Thats sad, I provided the patch already >>> before release of 1.7.37. >> >> Well, according to Christopher Reimer it isn't broken: >> http://www.linuxtv.org/pipermail/vdr/2013-January/027173.html > > Well. If you wanted to install different VDR versions to > /opt/vdr-$APIVERSION, you might have compiled with > PREFIX=/opt/vdr-$APIVERSION, and the header files would end up at > /opt/vdr-$APIVERSION/include which obviously isn't on the default > search path. Unless I'm misreading Christopher's e-mail just seemed to > say that this patch didn't make a difference to the problem he > described - that doesn't mean its not potentially useful. If you do this, you will obviously have built VDR with LCLBLD=1 (and a copy of Make.config.template), in which case /opt/vdr-$APIVERSION/include will be in the vdr.pc file as part of the CXXFLAGS. Since you will need to build your plugins with make VDRDIR=/opt/vdr-$APIVERSION this will read /opt/vdr-$APIVERSION/vdr.pc and everything should work just fine. > Even if you don't add INCDIR directly to the CFLAGS/CXXFLAGS you could > add it to the pkg-config variables dumped into vdr.pc so that plugin > authors can use it if they need it. Currently its not available in > either place. This has also been suggested here: http://www.vdr-portal.de/board1-news/board2-vdr-news/p1127697-announce-vdr-developer-version-1-7-38/#post1127697 so if there are two more people who ACK this, I'll add it for the next version. Klaus
2013/2/19 Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>: > This has also been suggested here: > > http://www.vdr-portal.de/board1-news/board2-vdr-news/p1127697-announce-vdr-developer-version-1-7-38/#post1127697 > > so if there are two more people who ACK this, I'll add it for the next > version. I think this is a valid option to solve the issue. Regards, Joachim.
On 19.02.2013 09:07, Klaus Schmidinger wrote: > On 18.02.2013 21:51, Dominic Evans wrote: >> ... >> Even if you don't add INCDIR directly to the CFLAGS/CXXFLAGS you could >> add it to the pkg-config variables dumped into vdr.pc so that plugin >> authors can use it if they need it. Currently its not available in >> either place. > > This has also been suggested here: > > http://www.vdr-portal.de/board1-news/board2-vdr-news/p1127697-announce-vdr-developer-version-1-7-38/#post1127697 > > so if there are two more people who ACK this, I'll add it for the next version. I'm afraid I have to cancel this. There was a valid point at http://www.vdr-portal.de/board1-news/board2-vdr-news/p1127905-announce-vdr-developer-version-1-7-38/#post1127905 which stated that if plugins provide header files for other plugins, we might end up having to compile/install the plugins in a very specific order, which is unacceptable. Klaus
--- Makefile.org 2013-01-12 14:45:01.000000000 +0100 +++ Makefile 2013-01-20 19:51:31.000000000 +0100 @@ -149,8 +149,9 @@ @echo "locdir=$(LOCDIR)" >> $@ @echo "plgcfg=$(PLGCFG)" >> $@ @echo "apiversion=$(APIVERSION)" >> $@ - @echo "cflags=$(CFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR)" >> $@ - @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR)" >> $@ + @echo "includedir=$(DESTDIR)$(INCDIR)" >> $@ + @echo "cflags=$(CFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR) -I\$${includedir}" >> $@ + @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR) -I\$${includedir}" >> $@ @echo "" >> $@ @echo "Name: VDR" >> $@ @echo "Description: Video Disk Recorder" >> $@