Login | Register
My pages Projects Community openCollabNet

Discussions > users > FSVS on Mac OS X 10.6

fsvs
Discussion topic

Hide all messages in topic

All messages in topic

Re: FSVS on Mac OS X 10.6

Author pmarek
Full name P.Marek
Date 2010-07-01 23:10:35 PDT
Message Hello Florian,


> I simply changed changed configure to:
> EXTRALIBS="-laprutil-1 -lapr-1 -liconv"
>
> FYI, on my Mac, uname -a evaluates to "Darwin"
>
> Then I had to manually set have_fmemopen to no, because it seems that the code that
> should test this, doesn't work here.
Thank you, I'll try to incorporate that.
r2440.

> But thanks to your effort, I have a fsvs binary now, which was able to checkout a repo
> on my first test right now.
Fine; good luck ....

Feedback is always welcome.

> If you want, I'll be happy to provide a tester for any changes you may make to fsvs
> regarding Mac OS compatibility.
Well, it might be that we fixed your compilation issue now; if I get some more changes,
I'll do a 1.2.3 anyway ...
So yes, thank you, you'll get your chance ;-)


Regards,

Phil

--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Re: FSVS on Mac OS X 10.6

Author xmirakulix
Full name Florian
Date 2010-07-01 14:29:40 PDT
Message Hello Phil,

> I'd suggest just adding "-lapr-1 -laprutil-1" to the "EXTRALIBS" line in the Makefile;

which was exactly what was needed, as well as iconv.

I simply changed changed configure to:
EXTRALIBS="-laprutil-1 -lapr-1 -liconv"

FYI, on my Mac, uname -a evaluates to "Darwin"

Then I had to manually set have_fmemopen to no, because it seems that the code that should test this, doesn't work here.

But thanks to your effort, I have a fsvs binary now, which was able to checkout a repo on my first test right now.

If you want, I'll be happy to provide a tester for any changes you may make to fsvs regarding Mac OS compatibility.

Regards,
Florian

Re: FSVS on Mac OS X 10.6

Author pmarek
Full name P.Marek
Date 2010-07-01 11:38:54 PDT
Message Hello Florian,

> Removing the '@' produces this extra line:
> cc -L/opt/local/lib -L/usr/local/lib -L/openpkg/lib -lsvn_subr-1 -lsvn_delta-1
> -lsvn_ra-1 -lpcre -lgdbm -o fsvs ac_list.o actions.o add_unvers.o build.o cache.o
> cat.o checkout.o checksum.o commit.o cp_mv.o diff.o direnum.o est_ops.o export.o fsvs.o
> hash_ops.o helper.o ignore.o info.o log.o options.o props.o racallback.o remote.o
> resolve.o revert.o status.o sync.o update.o url.o waa.o warnings.o
>
> As far as I understand this, apr-1 isn't listed in the linked libraries.
> Can you read from the config.log, why this is the case?
I'm not sure about your situation ... I'll have to take a look.

For you $(LIBS) is set in config.log, but not in the Makefile - there I'm using
$(EXTRALIBS).

I'd suggest just adding "-lapr-1 -laprutil-1" to the "EXTRALIBS" line in the Makefile;
I'll take a look what I've done there.


> Then, just to be sure, do I need to be concerned about this warning ./configure
> produces?
> * MAJOR(), MINOR() and MAKEDEV() definitions not found.
That just says that the configure script couldn't find out how to create device nodes;
IIRC you won't be able to commit or checkout devices, or filter by device numbers.


Normal files should be handled normally.


Regards,

Phil

--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Re: FSVS on Mac OS X 10.6

Author xmirakulix
Full name Florian
Date 2010-07-01 10:17:09 PDT
Message Hello Phil,

> Why are the apr libraries not linked?
>
> Please open Makefile, and at line 155 there should be a line like
> @$(CC) $(FSVS_LDFLAGS) ...
>
> Please remove the '@' in front (so that the full commandline is shown),
> and send me the output of "make", along with the (perhaps compressed) config.log.
Attachments

RE: Re: FSVS on Mac OS X 10.6

Author pmarek
Full name P.Marek
Date 2010-07-01 00:01:17 PDT
Message Hello Florian,

> thank you for your quick response.
that's what we're here for ... and you've had luck ;-)


> Changing
>> char **environ=NULL;
> to
>> extern char **environ;
> indeed brought me further one step.
>
> But now I get another load of messages which I think stand in conjunction with lots of
> warnings I get during compilation.
> (Sorry I didn't mention those before)
Most of these warnings look "ok" (for some value of "ok"), ie. I think they can be ignored.


> I'll just post the whole output here, maybe you can make up what I've done wrong here or
> is faulty in my environment.
> Despite the risk of making my post unreadable, I'll post the complete output of the make
> here.
I'll add some remarks.

> $ make
> Makefile:174: .ac_list.d: No such file or directory
The (automatically generated) dependency file didn't exist yet.

> deps for warnings.c
Here they get generated ...

> tags
> Duplicate entry in file cp_mv.c, line 366: cm___match_t
> Second entry ignored
These seem to be related to your ctags program; this doesn't matter.

> CC commit.c
> commit.c: In function ‘ci__nondir’:
> commit.c:511: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at
> /usr/include/subvers​ion-1/svn_io.h:818)
Some subversion-functions may vanish in some later version

> commit.c:1270: warning: format not a string literal and no format arguments
Never mind

...
A lot of other warnings

> Link fsvs
> Undefined symbols:
> "_apr_hash_make", referenced from:
> _ign___new_group in ignore.o
...
> _ops__read_special_entry in est_ops.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[1]: *** [fsvs] Error 1
> make: *** [default-target] Error 2
These are the real problem.
Why are the apr libraries not linked?

Please open Makefile, and at line 155 there should be a line like
    @$(CC) $(FSVS_LDFLAGS) ...

Please remove the '@' in front (so that the full commandline is shown),
and send me the output of "make", along with the (perhaps compressed) config.log.


Thank you!


Regards,

Phil

--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

RE: Re: FSVS on Mac OS X 10.6

Author xmirakulix
Full name Florian
Date 2010-06-30 12:03:16 PDT
Message Hello Phil,

thank you for your quick response.

Changing
> char **environ=NULL;
to
> extern char **environ;
indeed brought me further one step.

But now I get another load of messages which I think stand in conjunction with lots of warnings I get during compilation.
(Sorry I didn't mention those before)

I'll just post the whole output here, maybe you can make up what I've done wrong here or is faulty in my environment.
Despite the risk of making my post unreadable, I'll post the complete output of the make here.


$ make
Makefile:174: .ac_list.d: No such file or directory
Makefile:174: .actions.d: No such file or directory
Makefile:174: .add_unvers.d: No such file or directory
Makefile:174: .build.d: No such file or directory
Makefile:174: .cache.d: No such file or directory
Makefile:174: .cat.d: No such file or directory
Makefile:174: .checkout.d: No such file or directory
Makefile:174: .checksum.d: No such file or directory
Makefile:174: .commit.d: No such file or directory
Makefile:174: .cp_mv.d: No such file or directory
Makefile:174: .diff.d: No such file or directory
Makefile:174: .direnum.d: No such file or directory
Makefile:174: .est_ops.d: No such file or directory
Makefile:174: .export.d: No such file or directory
Makefile:174: .fsvs.d: No such file or directory
Makefile:174: .hash_ops.d: No such file or directory
Makefile:174: .helper.d: No such file or directory
Makefile:174: .ignore.d: No such file or directory
Makefile:174: .info.d: No such file or directory
Makefile:174: .log.d: No such file or directory
Makefile:174: .options.d: No such file or directory
Makefile:174: .props.d: No such file or directory
Makefile:174: .racallback.d: No such file or directory
Makefile:174: .remote.d: No such file or directory
Makefile:174: .resolve.d: No such file or directory
Makefile:174: .revert.d: No such file or directory
Makefile:174: .status.d: No such file or directory
Makefile:174: .sync.d: No such file or directory
Makefile:174: .update.d: No such file or directory
Makefile:174: .url.d: No such file or directory
Makefile:174: .waa.d: No such file or directory
Makefile:174: .warnings.d: No such file or directory
     deps for warnings.c
     deps for waa.c
     deps for url.c
     deps for update.c
     deps for sync.c
     deps for status.c
     deps for revert.c
     deps for resolve.c
     deps for remote.c
     deps for racallback.c
     deps for props.c
     deps for options.c
     deps for log.c
     deps for info.c
     deps for ignore.c
     deps for helper.c
     deps for hash_ops.c
     deps for fsvs.c
     deps for export.c
     deps for est_ops.c
     deps for direnum.c
     deps for diff.c
     deps for cp_mv.c
     deps for commit.c
     deps for checksum.c
     deps for checkout.c
     deps for cat.c
     deps for cache.c
     deps for build.c
     deps for add_unvers.c
     deps for actions.c
     deps for ac_list.c
     tags
Duplicate entry in file cp_mv.c, line 366: cm___match_t
Second entry ignored
Duplicate entry in file direnum.c, line 150: fsvs_dirent
Second entry ignored
Duplicate entry in file direnum.c, line 151: dir__handle
Second entry ignored
Duplicate entry in file direnum.c, line 155: dir__start_enum
Second entry ignored
Duplicate entry in file direnum.c, line 168: dir__enum
Second entry ignored
Duplicate entry in file direnum.c, line 185: dir__close
Second entry ignored
Duplicate entry in file direnum.c, line 197: dir__get_dir_size
Second entry ignored
Duplicate entry in file helper.c, line 282: hlp__local2utf8
Second entry ignored
Duplicate entry in file helper.c, line 289: hlp__utf82local
Second entry ignored
Duplicate entry in files actions.h and cp_mv.c: sts (Warning only)
Duplicate entry in files cache.h and helper.c: __attribute__ (Warning only)
Duplicate entry in files config.h and actions.h: void (Warning only)
Duplicate entry in files est_ops.h and est_ops.c: DEBUGP_dump_estat (Warning only)
Duplicate entry in file est_ops.h, line 159: estat
Second entry ignored
Duplicate entry in files global.h and est_ops.h: estat (Warning only)
Duplicate entry in file global.h, line 651: DEBUGP
Second entry ignored
Duplicate entry in file options.h, line 169: opt__prio_e
Second entry ignored
Duplicate entry in files resolve.h and resolve.c: res__mark_conflict (Warning only)
Not seen: S_ISDOOR
     CC ac_list.c
     CC actions.c
     CC add_unvers.c
     CC build.c
     CC cache.c
     CC cat.c
     CC checkout.c
     CC checksum.c
     CC commit.c
commit.c: In function ‘ci__nondir’:
commit.c:511: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:818)
commit.c: In function ‘ci__work’:
commit.c:1188: warning: ‘svn_ra_get_commit_editor’ is deprecated (declared at /usr/include/subvers​ion-1/svn_ra.h:823)
commit.c:1270: warning: format not a string literal and no format arguments
     CC cp_mv.c
     CC diff.c
     CC direnum.c
direnum.c: In function ‘dir__get_dir_size’:
direnum.c:207: warning: label ‘ex’ defined but not used
     CC est_ops.c
     CC export.c
export.c: In function ‘exp__do’:
export.c:159: warning: ‘svn_ra_do_update’ is deprecated (declared at /usr/include/subvers​ion-1/svn_ra.h:1026)​
export.c:181: warning: format not a string literal and no format arguments
     CC fsvs.c
fsvs.c: In function ‘_DEBUGP’:
fsvs.c:477: warning: implicit declaration of function ‘fmemopen’
fsvs.c:478: warning: assignment makes pointer from integer without a cast
     CC hash_ops.c
hash_ops.c: In function ‘hsh___new_bare’:
hash_ops.c:215: warning: implicit declaration of function ‘unlink’
     CC helper.c
helper.c: In function ‘hlp__rename_to_unique’:
helper.c:1879: warning: ‘svn_io_open_unique_file2’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:224)
     CC ignore.c
     CC info.c
     CC log.c
log.c: In function ‘log__work’:
log.c:417: warning: ‘svn_ra_get_log’ is deprecated (declared at /usr/include/subvers​ion-1/svn_ra.h:1382)​
log.c:436: warning: format not a string literal and no format arguments
     CC options.c
     CC props.c
     CC racallback.c
racallback.c: In function ‘cb__init’:
racallback.c:51: warning: passing argument 1 of ‘svn_config_get_user​_config_path’ from incompatible pointer type
racallback.c:57: warning: ‘svn_cmdline_setup_auth_baton’ is deprecated (declared at /usr/include/subvers​ion-1/svn_cmdline.h:​365)
racallback.c: In function ‘cb__record_changes_mixed’:
racallback.c:926: warning: ‘svn_ra_do_status’ is deprecated (declared at /usr/include/subvers​ion-1/svn_ra.h:1174)​
     CC remote.c
     CC resolve.c
resolve.c: In function ‘res__remove_aux_files’:
resolve.c:152: warning: implicit declaration of function ‘unlink’
     CC revert.c
revert.c: In function ‘rev__get_text_to_tmpfile’:
revert.c:365: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:818)
revert.c: In function ‘rev__install_file’:
revert.c:476: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:818)
     CC status.c
     CC sync.c
sync.c: In function ‘sync__work’:
sync.c:402: warning: format not a string literal and no format arguments
     CC update.c
update.c: In function ‘up__apply_textdelta’:
update.c:946: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:818)
update.c:947: warning: ‘svn_stream_from_aprfile’ is deprecated (declared at /usr/include/subvers​ion-1/svn_io.h:818)
update.c: In function ‘up__work’:
update.c:1212: warning: format not a string literal and no format arguments
     CC url.c
url.c: In function ‘url__load_list’:
url.c:832: warning: ‘fstat64’ is deprecated (declared at /usr/include/sys/stat.h:463)
url.c: In function ‘url__open_session’:
url.c:1103: warning: ‘svn_ra_open’ is deprecated (declared at /usr/include/subvers​ion-1/svn_ra.h:632)
     CC waa.c
     CC warnings.c
     Link fsvs
Undefined symbols:
  "_apr_hash_make", referenced from:
      _ign___new_group in ignore.o
      _ign___load_group in ignore.o
      _cb___store_prop in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_dir_prop in racallback.o
  "_apr_file_close", referenced from:
      _ci__getmsg in commit.o
      _ci__nondir in commit.o
      _df___type_def_diff in diff.o
      _hlp__rename_to_unique in helper.o
      _rev__install_file in revert.o
      _rev__get_text_to_tmpfile in revert.o
  "_apr_md5_final", referenced from:
      _cs___finish_manber in checksum.o
      _cs___end_of_block in checksum.o
      _hlp___encode_close in helper.o
      _hlp__stream_md5 in helper.o
  "_apr_initialize", referenced from:
      _main in fsvs.o
  "_apr_hash_next", referenced from:
      log(long double,...)(char,...)(int, void,...)(long double)in log.o
      _prp__set_from_aprhash in props.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
  "_apr_hash_first", referenced from:
      log(long double,...)(char,...)(int, void,...)(long double)in log.o
      _prp__set_from_aprhash in props.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
  "_apr_hash_get", referenced from:
      _ign___new_group in ignore.o
      _cb___store_prop in racallback.o
      _cb__init in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_dir_prop in racallback.o
      _rev__get_text_to_stream in revert.o
      _rev__install_file in revert.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
  "_apr_hash_set", referenced from:
      _ign___new_group in ignore.o
      _ign___load_group in ignore.o
      _prp__set_from_aprhash in props.o
      _cb___store_prop in racallback.o
      _cb___store_prop in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_dir_prop in racallback.o
      _cb___change_dir_prop in racallback.o
  "_apr_file_write", referenced from:
      _df___type_def_diff in diff.o
  "_apr_pool_destroy", referenced from:
      _ci__directory in commit.o
      _ci__directory in commit.o
      _df___diff_wc_remote in diff.o
      _ops__apply_group in est_ops.o
      _rev__install_file in revert.o
      _rev__do_changed in revert.o
      _rev__do_changed in revert.o
      _rev___local_revert in revert.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      _up__close_file in update.o
      _url__close_session in url.o
  "_apr_hash_this", referenced from:
      log(long double,...)(char,...)(int, void,...)(long double)in log.o
      _prp__set_from_aprhash in props.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
  "_apr_file_mktemp", referenced from:
      _waa__get_tmp_name in waa.o
  "_apr_md5", referenced from:
      _cs__compare_file in checksum.o
      _waa___get_path_md5 in waa.o
  "_apr_array_make", referenced from:
      _log__work in log.o
  "_apr_md5_update", referenced from:
      _cs___end_of_block in checksum.o
      _cs___end_of_block in checksum.o
      _cs___end_of_block in checksum.o
      _hlp___encode_read in helper.o
      _hlp___encode_write in helper.o
      _hlp__stream_md5 in helper.o
  "_apr_palloc", referenced from:
      _ops__read_special_entry in est_ops.o
      _cb___store_prop in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_dir_prop in racallback.o
  "_apr_gid_get", referenced from:
      _hlp__get_gid in helper.o
  "_apr_uid_get", referenced from:
      _hlp__get_uid in helper.o
  "_apr_pool_create_ex", referenced from:
      _ci__directory in commit.o
      _df___diff_wc_remote in diff.o
      _ops__apply_group in est_ops.o
      _main in fsvs.o
      _cb___store_prop in racallback.o
      _cb___change_file_prop in racallback.o
      _cb___change_dir_prop in racallback.o
      _rev__install_file in revert.o
      _rev__do_changed in revert.o
      _rev__do_changed in revert.o
      _rev___local_revert in revert.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      sync_(long double,...)(char, long double __restrict, short,...)in sync.o
      _up__apply_textdelta in update.o
      _url__open_session in url.o
  "_apr_hash_count", referenced from:
      log(long double,...)(char,...)(int, void,...)(long double)in log.o
  "_iconv", referenced from:
      _hlp___do_convert in helper.o
      _hlp___do_convert in helper.o
      _hlp__utf82local in helper.o
      _hlp__utf82local in helper.o
      _hlp__utf82local in helper.o
      _hlp__utf82local in helper.o
      _hlp__utf82local in helper.o
      _hlp__local2utf8 in helper.o
      _hlp__local2utf8 in helper.o
      _hlp__local2utf8 in helper.o
      _hlp__local2utf8 in helper.o
      _hlp__local2utf8 in helper.o
  "_apr_temp_dir_get", referenced from:
      _waa__get_tmp_name in waa.o
  "_fmemopen", referenced from:
      __DEBUGP in fsvs.o
  "_apr_file_open", referenced from:
      _ci__nondir in commit.o
      _up__apply_textdelta in update.o
      _up__apply_textdelta in update.o
  "_apr_array_push", referenced from:
      _log__work in log.o
  "_apr_file_read", referenced from:
      _ops__read_special_entry in est_ops.o
  "_iconv_open", referenced from:
      _hlp___get_conv_handle in helper.o
      _hlp__chrooter in helper.o
  "_apr_md5_init", referenced from:
      _cs___end_of_block in checksum.o
      _cs___manber_data_init in checksum.o
      _hlp__stream_md5 in helper.o
      _hlp__encode_filter in helper.o
  "_apr_file_seek", referenced from:
      _ops__read_special_entry in est_ops.o
      _ops__read_special_entry in est_ops.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [fsvs] Error 1
make: *** [default-target] Error 2

Re: FSVS on Mac OS X 10.6

Author pmarek
Full name P.Marek
Date 2010-06-30 09:56:06 PDT
Message Hello Florian,


> I am currently trying to compile a fsvs binary on my Mac, running Mac OS X 10.6.
>
> I made it so far, that configure completes and make gets to linking.
> But then it quits, informing me about a duplicate symbol "_environ".
You could try to remove the line
    char **environ=NULL;

in fsvs.c, or possibly replace it with
    extern char **environ;


I can't test ATM, but this might be enough.


Regards,

Phil


--
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

FSVS on Mac OS X 10.6

Author xmirakulix
Full name Florian
Date 2010-06-30 09:02:25 PDT
Message Hi,

I am currently trying to compile a fsvs binary on my Mac, running Mac OS X 10.6.

I made it so far, that configure completes and make gets to linking.
But then it quits, informing me about a duplicate symbol "_environ".

I have to set the CFLAG "-fnested-functions", otherwise it exits during compiling.

I would really appreciate it, if someone could point me to some information how to compile fsvs for Mac.
Of course I would gladly use a pre-compiled binary for Mac, too.

Thank you!


A few details:
Configure tells me at the end:
-----
checking for lutimes... yes
checking for strsep... yes
configure: creating ./config.status
config.status: creating src/Makefile
config.status: WARNING: 'src/Makefile.in' seems to ignore the --datarootdir setting
config.status: creating tests/Makefile
config.status: creating src/config.h
configure: WARNING:
 * MAJOR(), MINOR() and MAKEDEV() definitions not found.
 * Fake a definition, but that could make problems for ignore patterns
 * and commits/updates of device nodes, so these will be disabled.
 * Please contact dev at fsvs dot tigris dot org for help, or, if you know your
 * systems' way, to report the correct header name.
 *
 * If you *really* need to use device compares, and have *no* other way,
 * you could try using the --enable-dev-fake option on ./configure.
-----


These are the last Lines, that make outputs:
-----
    CC waa.c
    CC warnings.c
    Link fsvs
ld: duplicate symbol _environ in fsvs.o and /usr/lib/crt1.10.6.o
collect2: ld returned 1 exit status
make[1]: *** [fsvs] Error 1
make: *** [default-target] Error 2
-----
Messages per page: