From: Steve V. <vi...@ie...> - 2011-05-07 13:53:12
|
Thanks to a foundation of work established by Tuncer Ayaz, today I was able to complete changes required to enable Yaws to be built with rebar. I just pushed those changes this morning. As you might know, rebar is a very popular build tool for Erlang projects: https://github.com/basho/rebar Among a number of nice features, one great thing it does is dependency management, where a project can define its dependencies on other projects and rebar will automatically fetch and build those dependencies for you. This means that if you have a project that depends on Yaws, you can define that dependency in your rebar.config file and then use rebar to build your own project as well as fetching and building Yaws too. The original autoconf-based build approach for Yaws (configure and make) are still supported, of course. There are no differences there, and support for that approach will continue to be maintained and won't be going away. In other words, if you don't want to use rebar, you don't have to. Current Yaws rebar support only allows compiling and local install into your home dir. It currently doesn't support regular install (i.e., under the default /usr/local), nor does it support testing. Future work will continue to augment Yaws rebar support. If you notice any build problems with these new changes, especially on platforms that don't support sendfile, please let me know. Thanks Tuncer! --steve |
From: Dominique B. <dom...@nu...> - 2011-05-07 14:05:02
|
That's such great news! One question: can this configuration be used to integrate Yaws in an Erlang release built with rebar? --Dominique On 11-05-07 09:53 AM, Steve Vinoski wrote: > Thanks to a foundation of work established by Tuncer Ayaz, today I was > able to complete changes required to enable Yaws to be built with > rebar. I just pushed those changes this morning. > > As you might know, rebar is a very popular build tool for Erlang projects: > > https://github.com/basho/rebar > > Among a number of nice features, one great thing it does is dependency > management, where a project can define its dependencies on other > projects and rebar will automatically fetch and build those > dependencies for you. This means that if you have a project that > depends on Yaws, you can define that dependency in your rebar.config > file and then use rebar to build your own project as well as fetching > and building Yaws too. > > The original autoconf-based build approach for Yaws (configure and > make) are still supported, of course. There are no differences there, > and support for that approach will continue to be maintained and won't > be going away. In other words, if you don't want to use rebar, you > don't have to. > > Current Yaws rebar support only allows compiling and local install > into your home dir. It currently doesn't support regular install > (i.e., under the default /usr/local), nor does it support testing. > Future work will continue to augment Yaws rebar support. > > If you notice any build problems with these new changes, especially on > platforms that don't support sendfile, please let me know. > > Thanks Tuncer! > > --steve > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list |
From: Steve V. <vi...@ie...> - 2011-05-07 14:12:54
|
Hi Dominique, I can't say for sure as I've never tried it, but the goal is to be able to make Yaws play nicely and correctly in rebar environments. If you try this and run into problems, just let me know. --steve On Sat, May 7, 2011 at 10:04 AM, Dominique Boucher <dom...@nu...> wrote: > That's such great news! > > One question: can this configuration be used to integrate Yaws in an Erlang > release built with rebar? > > --Dominique > > On 11-05-07 09:53 AM, Steve Vinoski wrote: >> >> Thanks to a foundation of work established by Tuncer Ayaz, today I was >> able to complete changes required to enable Yaws to be built with >> rebar. I just pushed those changes this morning. >> >> As you might know, rebar is a very popular build tool for Erlang projects: >> >> https://github.com/basho/rebar >> >> Among a number of nice features, one great thing it does is dependency >> management, where a project can define its dependencies on other >> projects and rebar will automatically fetch and build those >> dependencies for you. This means that if you have a project that >> depends on Yaws, you can define that dependency in your rebar.config >> file and then use rebar to build your own project as well as fetching >> and building Yaws too. >> >> The original autoconf-based build approach for Yaws (configure and >> make) are still supported, of course. There are no differences there, >> and support for that approach will continue to be maintained and won't >> be going away. In other words, if you don't want to use rebar, you >> don't have to. >> >> Current Yaws rebar support only allows compiling and local install >> into your home dir. It currently doesn't support regular install >> (i.e., under the default /usr/local), nor does it support testing. >> Future work will continue to augment Yaws rebar support. >> >> If you notice any build problems with these new changes, especially on >> platforms that don't support sendfile, please let me know. >> >> Thanks Tuncer! >> >> --steve >> >> >> ------------------------------------------------------------------------------ >> WhatsUp Gold - Download Free Network Management Software >> The most intuitive, comprehensive, and cost-effective network >> management toolset available today. Delivers lowest initial >> acquisition cost and overall TCO of any competing solution. >> http://p.sf.net/sfu/whatsupgold-sd >> _______________________________________________ >> Erlyaws-list mailing list >> Erl...@li... >> https://lists.sourceforge.net/lists/listinfo/erlyaws-list > > > |
From: Dominique B. <dom...@nu...> - 2011-05-07 16:33:42
|
I'll try that this weekend and let you know. By the way, I got the following error when I do 'rebar compile': src/yaws_sendfile.erl:12: can't find include file "yaws_configure.hrl" Is there a file missing? --Dominique On 11-05-07 10:12 AM, Steve Vinoski wrote: > Hi Dominique, > > I can't say for sure as I've never tried it, but the goal is to be > able to make Yaws play nicely and correctly in rebar environments. If > you try this and run into problems, just let me know. > > --steve > > On Sat, May 7, 2011 at 10:04 AM, Dominique Boucher > <dom...@nu...> wrote: >> That's such great news! >> >> One question: can this configuration be used to integrate Yaws in an Erlang >> release built with rebar? >> >> --Dominique >> |
From: Dominique B. <dom...@nu...> - 2011-05-07 16:43:09
|
Forget it. I just saw that the file is generated from src/Makefile. It's just not created when using rebar only. --Dominique On 11-05-07 12:33 PM, Dominique Boucher wrote: > I'll try that this weekend and let you know. > > By the way, I got the following error when I do 'rebar compile': > > src/yaws_sendfile.erl:12: can't find include file "yaws_configure.hrl" > > Is there a file missing? > > --Dominique > > On 11-05-07 10:12 AM, Steve Vinoski wrote: >> Hi Dominique, >> >> I can't say for sure as I've never tried it, but the goal is to be >> able to make Yaws play nicely and correctly in rebar environments. If >> you try this and run into problems, just let me know. >> >> --steve |
From: Steve V. <vi...@ie...> - 2011-05-07 17:31:32
|
Hmm, that would be an error then. You shouldn't need to run make before running rebar. I'll fix that. Thanks for letting me know. --steve On Sat, May 7, 2011 at 12:43 PM, Dominique Boucher <dom...@nu...> wrote: > Forget it. I just saw that the file is generated from src/Makefile. It's > just not created when using rebar only. > > --Dominique > > On 11-05-07 12:33 PM, Dominique Boucher wrote: >> >> I'll try that this weekend and let you know. >> >> By the way, I got the following error when I do 'rebar compile': >> >> src/yaws_sendfile.erl:12: can't find include file "yaws_configure.hrl" >> >> Is there a file missing? >> >> --Dominique >> >> On 11-05-07 10:12 AM, Steve Vinoski wrote: >>> >>> Hi Dominique, >>> >>> I can't say for sure as I've never tried it, but the goal is to be >>> able to make Yaws play nicely and correctly in rebar environments. If >>> you try this and run into problems, just let me know. >>> >>> --steve > > |
From: Steve V. <vi...@ie...> - 2011-05-07 17:36:05
|
Hi Dominique, I can't duplicate that problem. Can you send me privately the output of rebar -v compile that shows this problem? thanks, --steve On Sat, May 7, 2011 at 1:31 PM, Steve Vinoski <vi...@ie...> wrote: > Hmm, that would be an error then. You shouldn't need to run make > before running rebar. I'll fix that. Thanks for letting me know. > > --steve > > On Sat, May 7, 2011 at 12:43 PM, Dominique Boucher > <dom...@nu...> wrote: >> Forget it. I just saw that the file is generated from src/Makefile. It's >> just not created when using rebar only. >> >> --Dominique >> >> On 11-05-07 12:33 PM, Dominique Boucher wrote: >>> >>> I'll try that this weekend and let you know. >>> >>> By the way, I got the following error when I do 'rebar compile': >>> >>> src/yaws_sendfile.erl:12: can't find include file "yaws_configure.hrl" >>> >>> Is there a file missing? >>> >>> --Dominique >>> >>> On 11-05-07 10:12 AM, Steve Vinoski wrote: >>>> >>>> Hi Dominique, >>>> >>>> I can't say for sure as I've never tried it, but the goal is to be >>>> able to make Yaws play nicely and correctly in rebar environments. If >>>> you try this and run into problems, just let me know. >>>> >>>> --steve >> >> > |
From: Steve V. <vi...@ie...> - 2011-05-08 02:36:28
|
Just to make the list aware, Dominique sent the rebar -v output to me to show me the errors, and we determined that it was an old rebar version causing the problem. My understanding is that the rebar devs recently refactored some of its script handling capabilities, and Yaws relies on the new stuff. So, if you intend to use rebar with Yaws, make sure your rebar is fairly recent -- you can get it from here: https://github.com/basho/rebar --steve On Sat, May 7, 2011 at 1:35 PM, Steve Vinoski <vi...@ie...> wrote: > Hi Dominique, I can't duplicate that problem. Can you send me > privately the output of rebar -v compile that shows this problem? > > thanks, > --steve > > On Sat, May 7, 2011 at 1:31 PM, Steve Vinoski <vi...@ie...> wrote: >> Hmm, that would be an error then. You shouldn't need to run make >> before running rebar. I'll fix that. Thanks for letting me know. >> >> --steve >> >> On Sat, May 7, 2011 at 12:43 PM, Dominique Boucher >> <dom...@nu...> wrote: >>> Forget it. I just saw that the file is generated from src/Makefile. It's >>> just not created when using rebar only. >>> >>> --Dominique >>> >>> On 11-05-07 12:33 PM, Dominique Boucher wrote: >>>> >>>> I'll try that this weekend and let you know. >>>> >>>> By the way, I got the following error when I do 'rebar compile': >>>> >>>> src/yaws_sendfile.erl:12: can't find include file "yaws_configure.hrl" >>>> >>>> Is there a file missing? >>>> >>>> --Dominique >>>> >>>> On 11-05-07 10:12 AM, Steve Vinoski wrote: >>>>> >>>>> Hi Dominique, >>>>> >>>>> I can't say for sure as I've never tried it, but the goal is to be >>>>> able to make Yaws play nicely and correctly in rebar environments. If >>>>> you try this and run into problems, just let me know. >>>>> >>>>> --steve >>> >>> >> > |
From: Christopher F. <chr...@ca...> - 2011-05-11 09:26:06
Attachments:
signature.asc
|
Hi Steve, I think there is a bug in the script "scripts/regular-install": $> ./configure --prefix=/home/christopher/Test/yaws/ $> make && make install [...] make[1]: Entering directory `/home/christopher/git/yaws/scripts' PREFIX='/home/christopher/Test/yaws' ETCDIR='/home/christopher/Test/yaws/etc' VARDIR='/home/christopher/Test/yaws/var' \ ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ ERL='/usr/bin/erl' WERL='' ./regular-install install: cannot create directory `/usr/lib/erlang/bin//log': Permission denied install: cannot create directory `/usr/lib/erlang/bin//run': Permission denied chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such file or directory make[1]: *** [.install] Error 1 Here is a little patch to fix it: diff --git a/scripts/regular-install b/scripts/regular-install index e9cc63f..4d28c62 100755 --- a/scripts/regular-install +++ b/scripts/regular-install @@ -7,7 +7,7 @@ rm -rf /tmp/yaws 2>/dev/null set -e -./Install ${PREFIX} ${ERL} ${WERL} ${ETCDIR}/ ${VARDIR}/ ${ERLBINDIR}/ ${DESTDIR} +./Install "${PREFIX}" "${ERL}" "${WERL}" "${ETCDIR}/" "${VARDIR}/" "${ERLBINDIR}/" "${DESTDIR}" conffile="${DESTDIR}${ETCDIR}/yaws/yaws.conf" if [ -f "$conffile" ]; then -- Christopher Faulet |
From: Steve V. <vi...@ie...> - 2011-05-11 13:03:01
|
On Wed, May 11, 2011 at 4:43 AM, Christopher Faulet <chr...@ca...> wrote: > Hi Steve, > > I think there is a bug in the script "scripts/regular-install": <snip/> Thanks Christopher, looking at this I see there's a little more work to be done in that script, so I'll try to take care of that. There are also definitely some problems with the new rebar support as related to releases, as Dominique Boucher reported to me yesterday. I'm also trying to work on that issue. The goal is that once these problems are eliminated, hopefully quickly, Klacke will create the 1.90 release. So please, everyone, if you have the cycles, grab a clone off github, kick the tires, and report any problems you see, since doing so will definitely help. git clone git://github.com/klacke/yaws.git thanks, --steve |
From: Christopher F. <chr...@ca...> - 2011-05-25 07:54:45
Attachments:
signature.asc
|
Le 11/05/2011 15:02, Steve Vinoski a écrit : > On Wed, May 11, 2011 at 4:43 AM, Christopher Faulet > <chr...@ca...> wrote: >> Hi Steve, >> >> I think there is a bug in the script "scripts/regular-install": > > <snip/> > > Thanks Christopher, looking at this I see there's a little more work > to be done in that script, so I'll try to take care of that. > > There are also definitely some problems with the new rebar support as > related to releases, as Dominique Boucher reported to me yesterday. > I'm also trying to work on that issue. > Hi, This problem still exists and yaws installation failed with a classic "make; make install". (Note: I didn't test it with rebar). -- Christopher |
From: Steve V. <vi...@ie...> - 2011-05-26 01:08:03
|
On Wed, May 25, 2011 at 3:54 AM, Christopher Faulet <chr...@ca...> wrote: > Le 11/05/2011 15:02, Steve Vinoski a écrit : >> On Wed, May 11, 2011 at 4:43 AM, Christopher Faulet >> <chr...@ca...> wrote: >>> Hi Steve, >>> >>> I think there is a bug in the script "scripts/regular-install": >> >> <snip/> >> >> Thanks Christopher, looking at this I see there's a little more work >> to be done in that script, so I'll try to take care of that. >> >> There are also definitely some problems with the new rebar support as >> related to releases, as Dominique Boucher reported to me yesterday. >> I'm also trying to work on that issue. >> > > Hi, > > This problem still exists and yaws installation failed with a classic > "make; make install". (Note: I didn't test it with rebar). I couldn't duplicate this problem anywhere, but I incorporated your suggested fix anyway and pushed it to github earlier today. thanks, --steve |
From: Wes J. <com...@gm...> - 2011-05-26 01:23:52
|
On Wed, May 11, 2011 at 2:43 AM, Christopher Faulet <chr...@ca...> wrote: > Hi Steve, > > I think there is a bug in the script "scripts/regular-install": > > $> ./configure --prefix=/home/christopher/Test/yaws/ > $> make && make install > [...] > make[1]: Entering directory `/home/christopher/git/yaws/scripts' > PREFIX='/home/christopher/Test/yaws' > ETCDIR='/home/christopher/Test/yaws/etc' > VARDIR='/home/christopher/Test/yaws/var' \ > ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ > ERL='/usr/bin/erl' WERL='' ./regular-install > install: cannot create directory `/usr/lib/erlang/bin//log': Permission > denied > install: cannot create directory `/usr/lib/erlang/bin//run': Permission > denied > chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such file or > directory > make[1]: *** [.install] Error 1 > How does this patch remove the "//" in the paths above? -wes |
From: Steve V. <vi...@ie...> - 2011-05-26 02:14:53
|
On Wed, May 25, 2011 at 9:23 PM, Wes James <com...@gm...> wrote: > On Wed, May 11, 2011 at 2:43 AM, Christopher Faulet > <chr...@ca...> wrote: >> Hi Steve, >> >> I think there is a bug in the script "scripts/regular-install": >> >> $> ./configure --prefix=/home/christopher/Test/yaws/ >> $> make && make install >> [...] >> make[1]: Entering directory `/home/christopher/git/yaws/scripts' >> PREFIX='/home/christopher/Test/yaws' >> ETCDIR='/home/christopher/Test/yaws/etc' >> VARDIR='/home/christopher/Test/yaws/var' \ >> ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ >> ERL='/usr/bin/erl' WERL='' ./regular-install >> install: cannot create directory `/usr/lib/erlang/bin//log': Permission >> denied >> install: cannot create directory `/usr/lib/erlang/bin//run': Permission >> denied >> chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such file or >> directory >> make[1]: *** [.install] Error 1 >> > > How does this patch remove the "//" in the paths above? It doesn't, as that's not a problem. On all systems I know of (except maybe for Windows which I thankfully do not ever use), multiple adjacent separators are collapsed into a single one. As far as I've observed the multiple slashes have been present in yaws install pathnames for years and have never been a problem. I'm puzzled as to why the patch helps, but since I can't reproduce the issue and Christopher says the patch fixes it, and I know the patch doesn't break installation on my systems, committing it made sense. --steve |
From: Wes J. <com...@gm...> - 2011-05-26 02:20:08
|
On Wed, May 25, 2011 at 8:14 PM, Steve Vinoski <vi...@ie...> wrote: > On Wed, May 25, 2011 at 9:23 PM, Wes James <com...@gm...> wrote: >> On Wed, May 11, 2011 at 2:43 AM, Christopher Faulet >> <chr...@ca...> wrote: >>> Hi Steve, >>> >>> I think there is a bug in the script "scripts/regular-install": >>> >>> $> ./configure --prefix=/home/christopher/Test/yaws/ >>> $> make && make install >>> [...] >>> make[1]: Entering directory `/home/christopher/git/yaws/scripts' >>> PREFIX='/home/christopher/Test/yaws' >>> ETCDIR='/home/christopher/Test/yaws/etc' >>> VARDIR='/home/christopher/Test/yaws/var' \ >>> ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ >>> ERL='/usr/bin/erl' WERL='' ./regular-install >>> install: cannot create directory `/usr/lib/erlang/bin//log': Permission >>> denied >>> install: cannot create directory `/usr/lib/erlang/bin//run': Permission >>> denied >>> chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such file or >>> directory >>> make[1]: *** [.install] Error 1 >>> >> >> How does this patch remove the "//" in the paths above? > > It doesn't, as that's not a problem. On all systems I know of (except > maybe for Windows which I thankfully do not ever use), multiple > adjacent separators are collapsed into a single one. As far as I've > observed the multiple slashes have been present in yaws install > pathnames for years and have never been a problem. > > I'm puzzled as to why the patch helps, but since I can't reproduce the > issue and Christopher says the patch fixes it, and I know the patch > doesn't break installation on my systems, committing it made sense. > > --steve > I tried to find a path with a space in it in the output in the email. What happens to paths with spaces in them during the make process? On macs, you can put " around folder names in the shell to work with them. I was looking for something like that too. -wes |
From: Steve V. <vi...@ie...> - 2011-05-26 02:40:24
|
On Wed, May 25, 2011 at 10:20 PM, Wes James <com...@gm...> wrote: > On Wed, May 25, 2011 at 8:14 PM, Steve Vinoski <vi...@ie...> wrote: >> On Wed, May 25, 2011 at 9:23 PM, Wes James <com...@gm...> wrote: >>> On Wed, May 11, 2011 at 2:43 AM, Christopher Faulet >>> <chr...@ca...> wrote: >>>> Hi Steve, >>>> >>>> I think there is a bug in the script "scripts/regular-install": >>>> >>>> $> ./configure --prefix=/home/christopher/Test/yaws/ >>>> $> make && make install >>>> [...] >>>> make[1]: Entering directory `/home/christopher/git/yaws/scripts' >>>> PREFIX='/home/christopher/Test/yaws' >>>> ETCDIR='/home/christopher/Test/yaws/etc' >>>> VARDIR='/home/christopher/Test/yaws/var' \ >>>> ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ >>>> ERL='/usr/bin/erl' WERL='' ./regular-install >>>> install: cannot create directory `/usr/lib/erlang/bin//log': Permission >>>> denied >>>> install: cannot create directory `/usr/lib/erlang/bin//run': Permission >>>> denied >>>> chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such file or >>>> directory >>>> make[1]: *** [.install] Error 1 >>>> >>> >>> How does this patch remove the "//" in the paths above? >> >> It doesn't, as that's not a problem. On all systems I know of (except >> maybe for Windows which I thankfully do not ever use), multiple >> adjacent separators are collapsed into a single one. As far as I've >> observed the multiple slashes have been present in yaws install >> pathnames for years and have never been a problem. >> >> I'm puzzled as to why the patch helps, but since I can't reproduce the >> issue and Christopher says the patch fixes it, and I know the patch >> doesn't break installation on my systems, committing it made sense. >> >> --steve >> > > I tried to find a path with a space in it in the output in the email. > What happens to paths with spaces in them during the make process? On > macs, you can put " around folder names in the shell to work with > them. I was looking for something like that too. Spaces in the pathnames would likely be problematic. In all the rebar changes I tried to make sure things were quoted everywhere just in case someone thought installing into a pathname containing spaces was a good idea, but I didn't test that and I can't vouch for all parts of the build and install scripts, especially those I didn't change, properly handling such pathnames. I doubt that's something we'd want to officially support simply due to the need to always test it and verify it for pretty much zero benefit in return. --steve |
From: Robert S. <rob...@er...> - 2011-05-26 03:12:23
|
Sorry this was meant to go to the list -----Original Message----- From: vi...@gm... [mailto:vi...@gm...] On Behalf Of Steve Vinoski Sent: Thursday, May 26, 2011 11:07 To: Robert Schmersel Subject: Re: [Erlyaws-list] yaws now has rebar support On Wed, May 25, 2011 at 10:55 PM, Robert Schmersel <rob...@er...> wrote: >>>>> $> ./configure --prefix=/home/christopher/Test/yaws/ >>>>> $> make && make install > ^ > | Normal user, not root (at least on most Unix systems, root is > indicated with #) > >>>>> [...] >>>>> make[1]: Entering directory `/home/christopher/git/yaws/scripts' >>>>> PREFIX='/home/christopher/Test/yaws' >>>>> ETCDIR='/home/christopher/Test/yaws/etc' >>>>> VARDIR='/home/christopher/Test/yaws/var' \ >>>>> ERLBINDIR='/usr/lib/erlang/bin' DESTDIR='' \ >>>>> ERL='/usr/bin/erl' WERL='' ./regular-install >>>>> install: cannot create directory `/usr/lib/erlang/bin//log': >>>>> Permission denied >>>>> install: cannot create directory `/usr/lib/erlang/bin//run': >>>>> Permission denied >>>>> chmod: cannot access `/usr/lib/erlang/bin//run/yaws': No such >>>>> file or directory >>>>> make[1]: *** [.install] Error 1 > > I think it was just as indicated in the error message: A permission > problem > > Command should have been: make && sudo make install > ^^^^ I missed that. You may very well be right. > But I don't think that the change does any harm. Definitely no harm due to that change. I privately asked Christopher to run with set -x with and without his patch so I can see more details, but for now I'm liking your explanation. thanks, --steve |
From: Christopher F. <chr...@ca...> - 2011-05-26 07:32:07
Attachments:
signature.asc
|
Le 25/05/2011 09:54, Christopher Faulet a écrit : > Le 11/05/2011 15:02, Steve Vinoski a écrit : >> On Wed, May 11, 2011 at 4:43 AM, Christopher Faulet >> <chr...@ca...> wrote: >>> Hi Steve, >>> >>> I think there is a bug in the script "scripts/regular-install": >> >> <snip/> >> >> Thanks Christopher, looking at this I see there's a little more work >> to be done in that script, so I'll try to take care of that. >> >> There are also definitely some problems with the new rebar support as >> related to releases, as Dominique Boucher reported to me yesterday. >> I'm also trying to work on that issue. >> > > Hi, > > This problem still exists and yaws installation failed with a classic > "make; make install". (Note: I didn't test it with rebar). Hi, Sorry, I just reported the problem without explanation. My bad :) I want to install yaws without root privileges in the path "/home/christopher/Test/yaws". I do this with following commands: $> ./configure --prefix=/home/christopher/Test/yaws/ [... everything is ok here] $> make [... everything is ok here] $> make install [... some errors in scripts/regular-install (see my first post) ...] In fact, the problem here is that in regular-install script, there is this line: ./Install ${PREFIX} ${ERL} ${WERL} ${ETCDIR}/ ${VARDIR}/ ${ERLBINDIR}/ ${DESTDIR} Where: - PREFIX='/home/christopher/Test/yaws' - ETCDIR='/home/christopher/Test/yaws/etc' - VARDIR='/home/christopher/Test/yaws/var' - ERLBINDIR='/usr/lib/erlang/bin' - DESTDIR='' - ERL='/usr/bin/erl' - WERL='' Because ${WERL} is empty, Install script is called with only 5 arguments (instead of 7, ${DESTDIR} is also empty, but it doesn't matter here). So ${ETCDIR}, ${VARDIR} and ${ERLBINDIR} are shifted to the left. With my patch, using quotes keeps empty arguments when the shell expand variables and everything is ok. I don't know if my patch is the good way to fix this bug properly, but it does the trick for my case. -- Chrisotpher |
From: Robert S. <rob...@er...> - 2011-05-26 08:16:43
|
>Le 25/05/2011 09:54, Christopher Faulet a écrit : > Le 11/05/2011 15:02, Steve Vinoski a écrit : >>> On Wed, May 11, 2011 at 4:43 AM, Christopher Faulet >>> <chr...@ca...> wrote: >>>> Hi Steve, >>>> >>>> I think there is a bug in the script "scripts/regular-install": >>> >>> <snip/> >>> >>> Thanks Christopher, looking at this I see there's a little more work >>> to be done in that script, so I'll try to take care of that. >>> >>> There are also definitely some problems with the new rebar support as >>> related to releases, as Dominique Boucher reported to me yesterday. >>> I'm also trying to work on that issue. >>> >> >> Hi, >> >> This problem still exists and yaws installation failed with a classic >> "make; make install". (Note: I didn't test it with rebar). > >Hi, > >Sorry, I just reported the problem without explanation. My bad :) > >I want to install yaws without root privileges in the path "/home/christopher/Test/yaws". I do this with following commands: > > $> ./configure --prefix=/home/christopher/Test/yaws/ > [... everything is ok here] > $> make > [... everything is ok here] > $> make install > [... some errors in scripts/regular-install (see my first post) ...] > >In fact, the problem here is that in regular-install script, there is this line: > > ./Install ${PREFIX} ${ERL} ${WERL} ${ETCDIR}/ ${VARDIR}/ ${ERLBINDIR}/ ${DESTDIR} > >Where: > - PREFIX='/home/christopher/Test/yaws' > - ETCDIR='/home/christopher/Test/yaws/etc' > - VARDIR='/home/christopher/Test/yaws/var' > - ERLBINDIR='/usr/lib/erlang/bin' > - DESTDIR='' > - ERL='/usr/bin/erl' > - WERL='' > >Because ${WERL} is empty, Install script is called with only 5 arguments (instead of 7, ${DESTDIR} is also empty, but it doesn't matter here). So ${ETCDIR}, ${VARDIR} and ${ERLBINDIR} are shifted to the left. > >With my patch, using quotes keeps empty arguments when the shell expand variables and everything is ok. I don't know if my patch is the good way to fix this bug properly, but it does the trick for my case. > >-- >Chrisotpher Ahh I missed THAT (it is in the original file, meah culpa). Yes you are correct and so is your patch, and it also explains the permission error as it tries to install in the wrong directory. Regards /Rob |
From: Steve V. <vi...@ie...> - 2011-05-26 12:00:53
|
On Thu, May 26, 2011 at 4:16 AM, Robert Schmersel <rob...@er...> wrote: >>Le 25/05/2011 09:54, Christopher Faulet a écrit : >> >>In fact, the problem here is that in regular-install script, there is this line: >> >> ./Install ${PREFIX} ${ERL} ${WERL} ${ETCDIR}/ ${VARDIR}/ ${ERLBINDIR}/ ${DESTDIR} >> >>Where: >> - PREFIX='/home/christopher/Test/yaws' >> - ETCDIR='/home/christopher/Test/yaws/etc' >> - VARDIR='/home/christopher/Test/yaws/var' >> - ERLBINDIR='/usr/lib/erlang/bin' >> - DESTDIR='' >> - ERL='/usr/bin/erl' >> - WERL='' >> >>Because ${WERL} is empty, Install script is called with only 5 arguments (instead of 7, ${DESTDIR} is also empty, but it doesn't matter here). So ${ETCDIR}, ${VARDIR} and ${ERLBINDIR} are shifted to the left. > > Ahh I missed THAT (it is in the original file, meah culpa). Yes you are correct and so is your patch, and it also explains the permission error as it tries to install in the wrong directory. Doh! Of course. I missed that too. I thought perhaps DESTDIR was empty but since it was at the end of the arglist it wouldn't matter. I didn't pay attention to WERL. Thanks! --steve |
From: Sergey S. <hs...@ma...> - 2011-06-03 11:48:21
|
В сообщении от 7 мая 2011 17:12:45 автор Steve Vinoski написал: > Hi Dominique, > > I can't say for sure as I've never tried it, but the goal is to be > able to make Yaws play nicely and correctly in rebar environments. If > you try this and run into problems, just let me know. > Mybe this hack need for load setuid_drv.so from rebar generated release? --- a/src/yaws.erl +++ b/src/yaws.erl @@ -1739,7 +1739,15 @@ uid_to_name(Uid) -> load_setuid_drv() -> Path = case yaws_generated:is_local_install() of true -> - filename:dirname(code:which(?MODULE)) ++ "/../priv/lib"; + ModulePath = filename:dirname(code:which(?MODULE)), + case string:str(ModulePath, ".ez/") of + 0 -> + % Localinstall + ModulePath ++ "/../priv/lib"; + I -> + % Inside reltool package + string:sub_string( ModulePath, 1, I - 1) ++ "/priv/lib" + end; false -> %% ignore dialyzer on this one PrivDir = code:priv_dir(yaws), Did anyone collect Rebar release with Yaws applications in embedded mode? Especially if Yaws included as a dependency in the application rebar configuration. B.e. {deps, [ {yaws, ".*", {git, "git://github.com/klacke/yaws.git", {tag, "yaws-1.90"}}} ]}. -- V.B.R Sergey Shilov. |
From: Steve V. <vi...@ie...> - 2011-06-03 15:48:10
|
2011/6/3 Sergey Shilov <hs...@ma...>: > В сообщении от 7 мая 2011 17:12:45 автор Steve Vinoski написал: >> Hi Dominique, >> >> I can't say for sure as I've never tried it, but the goal is to be >> able to make Yaws play nicely and correctly in rebar environments. If >> you try this and run into problems, just let me know. >> > > Mybe this hack need for load setuid_drv.so from rebar generated release? > > --- a/src/yaws.erl > +++ b/src/yaws.erl > @@ -1739,7 +1739,15 @@ uid_to_name(Uid) -> > load_setuid_drv() -> > Path = case yaws_generated:is_local_install() of > true -> > - filename:dirname(code:which(?MODULE)) ++ "/../priv/lib"; > + ModulePath = filename:dirname(code:which(?MODULE)), > + case string:str(ModulePath, ".ez/") of > + 0 -> > + % Localinstall > + ModulePath ++ "/../priv/lib"; > + I -> > + % Inside reltool package > + string:sub_string( ModulePath, 1, I - 1) ++ > "/priv/lib" > + end; > false -> > %% ignore dialyzer on this one > PrivDir = code:priv_dir(yaws), > > > Did anyone collect Rebar release with Yaws applications in embedded mode? > Especially if Yaws included as a dependency in the application rebar > configuration. > > B.e. > {deps, [ > {yaws, ".*", {git, "git://github.com/klacke/yaws.git", {tag, "yaws-1.90"}}} > ]}. There are definitely problems with yaws as a dependency with rebar at the moment. Dominique and I are working with the rebar folks to try to resolve them. I also intend to change yaws to keep any rebar install it does completely self-contained within the build area so it doesn't put scripts or conf files in your home directory. Stay tuned. --steve |