You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Küng <to...@gmail.com> on 2011/05/28 15:43:58 UTC

Windows build, nonexistent functions

Hi,

While trying to change the svn build with the scripts I use in TSVN I 
discovered that there are several functions mentioned in header files 
that don't exist anywhere else, i.e. the functions are not implemented 
in any c files. They only exist in the headers.

I haven't tried this, but my guess is that with this the official svn 
build for Windows can't work:
the extractor.py script extracts these functions, puts them in the *.def 
file. And then the linker will complain with an LNK2001 error because 
there simply isn't a function to export.

But of course I could be wrong since nobody else noticed this before.

The functions which don't have an implementation:
svn_ra_neon__abort_commit
svn_ra_serf__get_youngest_rev
svn_wc__conflict_skel_add_obstruction
svn_wc__conflict_skel_add_reject_conflict
svn_wc__conflict_skel_add_text_conflict
svn_wc__conflict_skel_add_tree_conflict
svn_wc__conflict_skel_set_op_merge
svn_wc__conflict_skel_set_op_patch
svn_wc__conflict_skel_set_op_switch
svn_wc__conflict_skel_set_op_update

Anyway, even if the build succeeds, I think having such functions 
mentioned in the header but not implemented is not good.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Re: Windows build, nonexistent functions

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Küng wrote on Sun, May 29, 2011 at 10:03:01 +0200:
> But I'm still wondering whether the Windows build for the svn client
> works. Can anyone here try it?

The build works every day for N windows-based devs and 2 windows
buildbots.  If you're going to ask "Does the Windows build work",
I suggest that you consider asking a more specific/focused question
instead.

> If it works, those functions could stay there so you don't have to
> track them down again once you need them.

RE: Windows build, nonexistent functions

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Stefan Küng [mailto:tortoisesvn@gmail.com]
> Sent: zondag 29 mei 2011 14:41
> To: Bert Huijben
> Cc: 'Greg Stein'; 'Subversion Development'; 'Daniel Shahaf'
> Subject: Re: Windows build, nonexistent functions
> 
> On 29.05.2011 14:25, Bert Huijben wrote:
> 
> >> I've adjusted the TSVN build to remove those functions from the
> >> extractor.py output. So it's not a big deal for me.
> >> But I'm still wondering whether the Windows build for the svn client
> >> works. Can anyone here try it?
> >> If it works, those functions could stay there so you don't have to
track
> >> them down again once you need them.
> >
> > We only call extractor.py on the header files referenced in 'msvc-export
='
> > lines of build.conf.
> >
> > All the functions referenced in this mail thread are library private on
a
> > normal Windows build.
> >
> > The Windows-RA buildbot uses a shared library build, so its build would
> have
> > been broken for more than a year, if this would have been a problem.
> >
> > Are you seeing this problem in a custom build? ;)
> 
> Forgot about the build.conf file. Sorry about the noise.

Removing undefined functions from the headers is a good thing, especially if
they would be there in a release, so no problem + thanks!

But leaving them disabled with a documented reason shouldn't be a problem.

	Bert


Re: Windows build, nonexistent functions

Posted by Stefan Küng <to...@gmail.com>.
On 29.05.2011 14:25, Bert Huijben wrote:

>> I've adjusted the TSVN build to remove those functions from the
>> extractor.py output. So it's not a big deal for me.
>> But I'm still wondering whether the Windows build for the svn client
>> works. Can anyone here try it?
>> If it works, those functions could stay there so you don't have to track
>> them down again once you need them.
>
> We only call extractor.py on the header files referenced in 'msvc-export ='
> lines of build.conf.
>
> All the functions referenced in this mail thread are library private on a
> normal Windows build.
>
> The Windows-RA buildbot uses a shared library build, so its build would have
> been broken for more than a year, if this would have been a problem.
>
> Are you seeing this problem in a custom build? ;)

Forgot about the build.conf file. Sorry about the noise.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

RE: Windows build, nonexistent functions

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Stefan Küng [mailto:tortoisesvn@gmail.com]
> Sent: zondag 29 mei 2011 10:03
> To: Greg Stein
> Cc: Subversion Development; Daniel Shahaf
> Subject: Re: Windows build, nonexistent functions
> 
> On 29.05.2011 09:54, Greg Stein wrote:
> >
> > On May 29, 2011 2:55 AM, "Stefan Küng" <tortoisesvn@gmail.com
> > <ma...@gmail.com>> wrote:
> >  >
> >  > On 29.05.2011 04:31, Greg Stein wrote:
> >  >> On May 28, 2011 1:39 PM, "Stefan Küng" <tortoisesvn@gmail.com
> > <ma...@gmail.com>
> >  >> <mailto:tortoisesvn@gmail.com <ma...@gmail.com>>>
> wrote:
> >  >...
> >  >> >
> >  >> > I did a grep search for those functions, and the only files they
> >  >> showed up were the headers, no other files contained those function
> >  >> names. So it's not because of preprocessor conditionals.
> >  >> >
> >  >> > I'll wait until tomorrow. If there are no objections until then,
I'll
> >  >> commit a change which removes those.
> >  >>
> >  >> For the conflict_skel functions, please wrap them in #if 0, rather
then
> >  >> deleting them. We are going to use them for 1.8.
> >  >>
> >  >> The other two... as you wish.
> >  >
> >  >
> >  > An #if 0 won't help with extractor.py at all. It will still extract
> > the functions.
> >
> > Eep. Good point.
> >
> >  >
> >  > If the functions are needed in 1.8, can't we just add them once
> > they're really needed?
> >
> > Sure. My concern was just getting them back when needed. I guess we can
> > just rely on 'svn log' and track down the right revision.
> 
> I've adjusted the TSVN build to remove those functions from the
> extractor.py output. So it's not a big deal for me.
> But I'm still wondering whether the Windows build for the svn client
> works. Can anyone here try it?
> If it works, those functions could stay there so you don't have to track
> them down again once you need them.

We only call extractor.py on the header files referenced in 'msvc-export ='
lines of build.conf. 

All the functions referenced in this mail thread are library private on a
normal Windows build.

The Windows-RA buildbot uses a shared library build, so its build would have
been broken for more than a year, if this would have been a problem.

Are you seeing this problem in a custom build? ;)

	Beer


Re: Windows build, nonexistent functions

Posted by Stefan Küng <to...@gmail.com>.
On 29.05.2011 09:54, Greg Stein wrote:
>
> On May 29, 2011 2:55 AM, "Stefan Küng" <tortoisesvn@gmail.com
> <ma...@gmail.com>> wrote:
>  >
>  > On 29.05.2011 04:31, Greg Stein wrote:
>  >> On May 28, 2011 1:39 PM, "Stefan Küng" <tortoisesvn@gmail.com
> <ma...@gmail.com>
>  >> <mailto:tortoisesvn@gmail.com <ma...@gmail.com>>> wrote:
>  >...
>  >> >
>  >> > I did a grep search for those functions, and the only files they
>  >> showed up were the headers, no other files contained those function
>  >> names. So it's not because of preprocessor conditionals.
>  >> >
>  >> > I'll wait until tomorrow. If there are no objections until then, I'll
>  >> commit a change which removes those.
>  >>
>  >> For the conflict_skel functions, please wrap them in #if 0, rather then
>  >> deleting them. We are going to use them for 1.8.
>  >>
>  >> The other two... as you wish.
>  >
>  >
>  > An #if 0 won't help with extractor.py at all. It will still extract
> the functions.
>
> Eep. Good point.
>
>  >
>  > If the functions are needed in 1.8, can't we just add them once
> they're really needed?
>
> Sure. My concern was just getting them back when needed. I guess we can
> just rely on 'svn log' and track down the right revision.

I've adjusted the TSVN build to remove those functions from the 
extractor.py output. So it's not a big deal for me.
But I'm still wondering whether the Windows build for the svn client 
works. Can anyone here try it?
If it works, those functions could stay there so you don't have to track 
them down again once you need them.

Stefan


-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Re: Windows build, nonexistent functions

Posted by Greg Stein <gs...@gmail.com>.
On May 29, 2011 2:55 AM, "Stefan Küng" <to...@gmail.com> wrote:
>
> On 29.05.2011 04:31, Greg Stein wrote:
>> On May 28, 2011 1:39 PM, "Stefan Küng" <tortoisesvn@gmail.com
>> <ma...@gmail.com>> wrote:
>...
>>  >
>>  > I did a grep search for those functions, and the only files they
>> showed up were the headers, no other files contained those function
>> names. So it's not because of preprocessor conditionals.
>>  >
>>  > I'll wait until tomorrow. If there are no objections until then, I'll
>> commit a change which removes those.
>>
>> For the conflict_skel functions, please wrap them in #if 0, rather then
>> deleting them. We are going to use them for 1.8.
>>
>> The other two... as you wish.
>
>
> An #if 0 won't help with extractor.py at all. It will still extract the
functions.

Eep. Good point.

>
> If the functions are needed in 1.8, can't we just add them once they're
really needed?

Sure. My concern was just getting them back when needed. I guess we can just
rely on 'svn log' and track down the right revision.

Cheers,
-g

Re: Windows build, nonexistent functions

Posted by Stefan Küng <to...@gmail.com>.
On 29.05.2011 04:31, Greg Stein wrote:
>
> On May 28, 2011 1:39 PM, "Stefan Küng" <tortoisesvn@gmail.com
> <ma...@gmail.com>> wrote:
>  >
>  > On 28.05.2011 19:33, Daniel Shahaf wrote:
>  >>
>  >> Fair enough.
>  >>
>  >> However, we don't have a practice of keeping declarations without
>  >> corresponding definitions.  If that is indeed the case (as opposed to
>  >> definitions which are conditional on preprocessor macros that the
>  >> declaration isn't conditional upon), IMO go ahead and drop the
>  >> declarations.
>  >
>  >
>  > I did a grep search for those functions, and the only files they
> showed up were the headers, no other files contained those function
> names. So it's not because of preprocessor conditionals.
>  >
>  > I'll wait until tomorrow. If there are no objections until then, I'll
> commit a change which removes those.
>
> For the conflict_skel functions, please wrap them in #if 0, rather then
> deleting them. We are going to use them for 1.8.
>
> The other two... as you wish.

An #if 0 won't help with extractor.py at all. It will still extract the 
functions.

If the functions are needed in 1.8, can't we just add them once they're 
really needed?

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Re: Windows build, nonexistent functions

Posted by Greg Stein <gs...@gmail.com>.
On May 28, 2011 1:39 PM, "Stefan Küng" <to...@gmail.com> wrote:
>
> On 28.05.2011 19:33, Daniel Shahaf wrote:
>>
>> Fair enough.
>>
>> However, we don't have a practice of keeping declarations without
>> corresponding definitions.  If that is indeed the case (as opposed to
>> definitions which are conditional on preprocessor macros that the
>> declaration isn't conditional upon), IMO go ahead and drop the
>> declarations.
>
>
> I did a grep search for those functions, and the only files they showed up
were the headers, no other files contained those function names. So it's not
because of preprocessor conditionals.
>
> I'll wait until tomorrow. If there are no objections until then, I'll
commit a change which removes those.

For the conflict_skel functions, please wrap them in #if 0, rather then
deleting them. We are going to use them for 1.8.

The other two... as you wish.

Thanks,
-g

Re: Windows build, nonexistent functions

Posted by Stefan Küng <to...@gmail.com>.
On 28.05.2011 19:33, Daniel Shahaf wrote:
> Stefan Küng wrote on Sat, May 28, 2011 at 19:05:34 +0200:
>> On 28.05.2011 19:03, Daniel Shahaf wrote:
>>> Stefan Küng wrote on Sat, May 28, 2011 at 15:43:58 +0200:
>>>> I think having such functions mentioned in the header but not
>>>> implemented is not good.
>>>
>>> Why are you telling us that?  You have commit access.
>>
>> I don't want to break something. Maybe those will get implemented soon?
>>
>
> Fair enough.
>
> However, we don't have a practice of keeping declarations without
> corresponding definitions.  If that is indeed the case (as opposed to
> definitions which are conditional on preprocessor macros that the
> declaration isn't conditional upon), IMO go ahead and drop the
> declarations.

I did a grep search for those functions, and the only files they showed 
up were the headers, no other files contained those function names. So 
it's not because of preprocessor conditionals.

I'll wait until tomorrow. If there are no objections until then, I'll 
commit a change which removes those.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Re: Windows build, nonexistent functions

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Küng wrote on Sat, May 28, 2011 at 19:05:34 +0200:
> On 28.05.2011 19:03, Daniel Shahaf wrote:
>> Stefan Küng wrote on Sat, May 28, 2011 at 15:43:58 +0200:
>>> I think having such functions mentioned in the header but not
>>> implemented is not good.
>>
>> Why are you telling us that?  You have commit access.
>
> I don't want to break something. Maybe those will get implemented soon?
>

Fair enough.

However, we don't have a practice of keeping declarations without
corresponding definitions.  If that is indeed the case (as opposed to
definitions which are conditional on preprocessor macros that the
declaration isn't conditional upon), IMO go ahead and drop the
declarations.

> If it's ok, I can remove those from those headers (found a few more in  
> the mean time).
>
> Stefan

Thanks,

Daniel

Re: Windows build, nonexistent functions

Posted by Stefan Küng <to...@gmail.com>.
On 28.05.2011 19:03, Daniel Shahaf wrote:
> Stefan Küng wrote on Sat, May 28, 2011 at 15:43:58 +0200:
>> I think having such functions mentioned in the header but not
>> implemented is not good.
>
> Why are you telling us that?  You have commit access.

I don't want to break something. Maybe those will get implemented soon?

If it's ok, I can remove those from those headers (found a few more in 
the mean time).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Re: Windows build, nonexistent functions

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Küng wrote on Sat, May 28, 2011 at 15:43:58 +0200:
> I think having such functions mentioned in the header but not
> implemented is not good.

Why are you telling us that?  You have commit access.