Subject: ./configure broken on Solaris

From: Annatar
Date: Fri Aug 31 17:41:27 2007

To: UADE-Developer-discussion
./configure 
./configure: test: argument expected

uname -a
SunOS laptop 5.10 Generic_118855-33 i86pc i386 i86pc

cat /etc/release
                        Solaris 10 11/06 s10x_u3wos_10 X86
           Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 14 November 2006

UADE revision is 2.07

If the developer(s) decide to get this fixed, next phase would be to modify the source code to compile with the free-as-in-beer Sun Studio 12 compiler(s), which are available for both Linux and Solaris from Sun Microsystems.

Since Solaris is both open source and free-as-in-beer now, and runs on i86pc hunky-dory, are there any other show stoppers for using it as the main platform for UADE?

---

From: shd
Date: Sun Sep 2 15:21:11 2007

To: UADE-Developer-discussion
[quote:7aab9221a8="Annatar"]./configure 
./configure: test: argument expected
[/quote:7aab9221a8]
Can you track down which test command that is?

[quote:7aab9221a8]If the developer(s) decide to get this fixed, next phase would be to modify the source code to compile with the free-as-in-beer Sun Studio 12 compiler(s), which are available for both Linux and Solaris from Sun Microsystems.

Since Solaris is both open source and free-as-in-beer now, and runs on i86pc hunky-dory, are there any other show stoppers for using it as the main platform for UADE?[/quote:7aab9221a8]

Some possible showstoppers I could think are (I don't know if these apply):

* We would support non-open source compilation tools

* Nobody submits patches to fix Solaris issues

Btw. use the git-repository: git-clone git://zakalwe.fi/uade uade.git

---

From: Annatar
Date: Mon Sep 3 07:00:16 2007

To: UADE-Developer-discussion
[quote:9e4622e1c8="shd"][quote:9e4622e1c8="Annatar"]./configure 
./configure: test: argument expected
[/quote:9e4622e1c8]
Can you track down which test command that is?[/quote:9e4622e1c8]I'll try to track it down.
[quote:9e4622e1c8]Some possible showstoppers I could think are (I don't know if these apply):

* We would support non-open source compilation tools[/quote:9e4622e1c8]For what it's worth, from what I understand, Sun Studio compilers will be open sourced as well.  Although I would think that what's important here is that the tools are gratis and support both Solaris and Linux.

Do UADE developers tinker with GCC source code to roll UADE out?
[quote:9e4622e1c8]* Nobody submits patches to fix Solaris issues[/quote:9e4622e1c8]I'm not quite sure what you mean here. Obviously by looking at the ./configure, a first step will be taken towards submitting patches or at least diagnosting the problem. Isn't that supporting Solaris?[quote:9e4622e1c8]Btw. use the git-repository: git-clone git://zakalwe.fi/uade uade.git[/quote:9e4622e1c8]Hmmm, I'll have to see if I can get `git` compiled and packaged in order to do that.

---

From: shd
Date: Mon Sep 3 08:48:46 2007

To: UADE-Developer-discussion
[quote:97aaad7dde="Annatar"]For what it's worth, from what I understand, Sun Studio compilers will be open sourced as well.  Although I would think that what's important here is that the tools are gratis and support both Solaris and Linux.
[/quote:97aaad7dde]
Okay, do realize that one main point of UADE is to be free, and that means free compiler tools also. I certainly wouldn't complain if Sun Studio or Intel compiler would work for UADE, but I just don't personally want to support them. Send patches (to support other systems) if you like..

[quote:97aaad7dde]Do UADE developers tinker with GCC source code to roll UADE out?[/quote:97aaad7dde]
Only some GCC features, not many of them. Things like __attribute__((packed)) are not in C standard so we use the GCC extension. It is not hard to support other compilers as well.

[quote:97aaad7dde]I'm not quite sure what you mean here. Obviously by looking at the ./configure, a first step will be taken towards submitting patches or at least diagnosting the problem. Isn't that supporting Solaris?[/quote:97aaad7dde]
I'm skeptical that those Solaris users exist. It is all the same to me, if they submit patches, good. If they don't, I don't mind either.

---

From: shd
Date: Mon Sep 3 08:51:06 2007

To: UADE-Developer-discussion
Annatar, you should consider registering on this forum so that you will get an instantaneous notification email when you have been replied to..

---

From: Guest
Date: Mon Sep 3 09:16:11 2007

To: UADE-Developer-discussion
[quote:e2a8a94dfe="shd"]Okay, do realize that one main point of UADE is to be free, and that means free compiler tools also.[/quote:e2a8a94dfe]I fail to see what a free piece of software has to do with (non)open source and/or (non)free compilers. The way I see it, there is no logical connection and/or dependency between the two.

Apropos non-existant OpenSolaris users, you might want to check out

http://opensolaris.org/

the community is thriving and booming, and we're seeing up to 700 putbacks to the source code in a span of two weeks on a regular basis.

---

From: Annatar
Date: Mon Sep 3 09:32:16 2007

To: UADE-Developer-discussion
[quote:a5e4b9be8d="shd"][quote:a5e4b9be8d="Annatar"]./configure 
./configure: test: argument expected
[/quote:a5e4b9be8d]
Can you track down which test command that is?[/quote:a5e4b9be8d]I found the problem.

You're calling `test -e strltest`, while the man page on `test` states:

[code:1:a5e4b9be8d]...skipping...
     -e file                 True if file exists. &#40;Not  available
                             in sh.&#41;[/code:1:a5e4b9be8d]Workarounds:
- use test -x
- use /bin/ksh
- use /bin/bash (only as a last resort, should not be used)

In your particular case, configure fails in many more places after `test -e` has been fixed with `test -x`. The easiest way to work around these issues was to replace #!/bin/sh with #!/bin/bash.

However, this assumes way too much on a UNIX platform, namely, while `bash` happens to be available on Solaris, no such assumptions must be made about IRIX, HP-UX, Tru64, AIX, ...

The advantage to this is that, if the build process is brought to System V and UNIX compliance, it will work problem-free on Linux too. The other way around does not hold true, unfortunately.

---

From: shd
Date: Mon Sep 3 09:33:37 2007

To: UADE-Developer-discussion
[quote:1d6159ea6f="Anonymous"][quote:1d6159ea6f="shd"]Okay, do realize that one main point of UADE is to be free, and that means free compiler tools also.[/quote:1d6159ea6f]I fail to see what a free piece of software has to do with (non)open source and/or (non)free compilers. The way I see it, there is no logical connection and/or dependency between the two.
[/quote:1d6159ea6f]
You're right that support non-free software doesn't take away anything from the project, but I just don't want to support it. That's my time after all.

The point is to depend only on what is free. It would be unfortunate if projects like *BSD and Linux depended on some commercial company's willingness to port $COMPILER to a new architecture or add some features. Now that we have GCC, having an additional non-free compiler doesn't matter, but as a principle, they can't be depended on.

On the other hand, I think open source is a superior way to create most kinds of software (not all), and thus, I stick to using what I believe in, that is, free compilers. Also, I reject all non-free software. This is a goal I set for UADE project a long time ago.

But, please do send patches if you like something fixed.

---

From: Annatar
Date: Mon Sep 3 11:05:24 2007

To: UADE-Developer-discussion
[quote:56db518d9d="shd"]The point is to depend only on what is free. It would be unfortunate if projects like *BSD and Linux depended on some commercial company's willingness to port $COMPILER to a new architecture or add some features. Now that we have GCC, having an additional non-free compiler doesn't matter, but as a principle, they can't be depended on.[/quote:56db518d9d]Does that imply that if Sun Studio compilers were to become free (and by free I don't mean gratis, which they already are), you would support them?[quote:56db518d9d]On the other hand, I think open source is a superior way to create most kinds of software (not all), and thus, I stick to using what I believe in, that is, free compilers. Also, I reject all non-free software. This is a goal I set for UADE project a long time ago.[/quote:56db518d9d]I never was very good when it came to ideology; superior technology is the only thing that matters to me (which is why I also was an Amiga coder once upon a time).

From a purely technical perspecitve, if the code is Sun Studio clean, it is automatically compilable with GCC, and just about any other professional compiler. My belief is that that is a benefit too great to simply dismiss.
[quote:56db518d9d]But, please do send patches if you like something fixed.[/quote:56db518d9d]After changing #!/bin/sh to !#/bin/bash, I got almost everything to compile with GCC. The last compile fails though:[CODE]gcc  -o uadecore main.o newcpu.o memory.o custom.o cia.o audio.o compiler.o cpustbl.o missing.o sd-sound.o md-support.o cfgfile.o fpp.o debug.o readcpu.o cpudefs.o cpuemu1.o cpuemu2.o cpuemu3.o cpuemu4.o cpuemu5.o cpuemu6.o cpuemu7.o cpuemu8.o uade.o strlrep.o uadeipc.o unixatomic.o ossupport.o uademain.o sinctable.o -lm  
Undefined                       first referenced
 symbol                             in file
socketpair                          ossupport.o
ld: fatal: Symbol referencing errors. No output written to uadecore
collect2: ld returned 1 exit status
gmake[1]: *** [uadecore] Error 1
gmake[1]: Leaving directory `/export/home/t297011/devel/src/uade-2.07/src'
gmake: *** [uadecore] Error 2[/QUOTE]Looks like a nasty error, but the fix is to compile with adding &quot;-lsocket&quot; to &quot;LIBRARIES =&quot; in the Makefile in src/ directory.

How do I submit patches?

---

From: shd
Date: Mon Sep 3 13:34:40 2007

To: UADE-Developer-discussion
[quote:7f8d488019="Annatar"]- use test -x
- use /bin/ksh
- use /bin/bash (only as a last resort, should not be used)

The advantage to this is that, if the build process is brought to System V and UNIX compliance, it will work problem-free on Linux too. The other way around does not hold true, unfortunately.[/quote:7f8d488019]
Argh, it seems Solaris is still deficient. I thought this was going to be changed with OpenSolaris. It's incredible how stubborn OpenSolaris developers are, because being compliant to some standard isn't actually what developers want. Developers want something that works.

I won't workaround all obvious deficiencies, so I'll just change bash to be a requirement for uade, as it has always been. I don't really care about obsolete UNIXes for which there are no users. If they contribute fixes and workarounds I will accept them probably, though.

We also require GNU make (or a make tool with same features).

---

From: shd
Date: Mon Sep 3 13:51:53 2007

To: UADE-Developer-discussion
[quote:462d831747="Annatar"][quote:462d831747="shd"]The point is to depend only on what is free. It would be unfortunate if projects like *BSD and Linux depended on some commercial company's willingness to port $COMPILER to a new architecture or add some features. Now that we have GCC, having an additional non-free compiler doesn't matter, but as a principle, they can't be depended on.[/quote:462d831747]
Does that imply that if Sun Studio compilers were to become free (and by free I don't mean gratis, which they already are), you would support them?[/quote:462d831747]
In that case, I would certainly accept patches to address issues with those tools. As my development platform is not OpenSolaris, it will really be hard for me to support them, but someone else may do so.. This is an open source project, so I don't have to do everything ;)

[quote:462d831747][quote:462d831747]On the other hand, I think open source is a superior way to create most kinds of software (not all), and thus, I stick to using what I believe in, that is, free compilers. Also, I reject all non-free software. This is a goal I set for UADE project a long time ago.[/quote:462d831747]I never was very good when it came to ideology; superior technology is the only thing that matters to me (which is why I also was an Amiga coder once upon a time).
[/quote:462d831747]
Yes, technology is the most important thing, but I believe one can't reach that goal without open source. UADE project would never have been possible without open source model, and the model has paid back many times (we've received huge contributions from others).

[quote:462d831747]From a purely technical perspecitve, if the code is Sun Studio clean, it is automatically compilable with GCC, and just about any other professional compiler. My belief is that that is a benefit too great to simply dismiss.[/quote:462d831747]
I think it's a very small benefit. Pretty much everything is compiled with GCC, and I think others should more or less emulate some of its features, like ICC does.

[quote:462d831747]
[code:1:462d831747]
Undefined                       first referenced
 symbol                             in file
socketpair                          ossupport.o
ld&#58; fatal&#58; Symbol referencing errors. No output written to uadecore
collect2&#58; ld returned 1 exit status
gmake&#91;1&#93;&#58; *** &#91;uadecore&#93; Error 1
gmake&#91;1&#93;&#58; Leaving directory `/export/home/t297011/devel/src/uade-2.07/src'
gmake&#58; *** &#91;uadecore&#93; Error 2[/code:1:462d831747]Looks like a nasty error, but the fix is to compile with adding &quot;-lsocket&quot; to &quot;LIBRARIES =&quot; in the Makefile in src/ directory.

How do I submit patches?[/quote:462d831747]
Ah, thanks.. I can fix that here.. What does uname command say on your system so that I can add a configure script check for -lsocket?

Does make soundcheck work after that? Does libao work properly?

Patches are usually submitted by email to me.. You can send ordinary diffs (diff -u) and provide me with an explanation of the patch. Also, provide me with an email address you want to see in the git-log.

However, if you want to play by distributed version control rules, you can do following... You can generate patch sets with git-log so that I can run a series of patches, including their change log explanations and authors, with just one command line, into my repository :)

It goes something like this:
[code:1:462d831747]$ git-log -p --pretty=email OLDVERSION..HEAD &gt; patchseries
$ email patchseries
[/code:1:462d831747]
Your change log messages have to be in this format:
[code:1:462d831747]ONE LINE SUMMARY

EXACT COMMENTS ON CHANGES
[/code:1:462d831747]
And then it will generate email patch set so that subject matches the ONE LINE SUMMARY, and body matches the exact comment.

Then I can apply the patch set on my side by issuing one command:
[code:1:462d831747]$ git-applymox -q patchseries
[/code:1:462d831747]

Traditionally the committer has had to write changelog entries by hand, now the committer needs only _edit_ them..

---

From: Guest
Date: Mon Sep 3 19:33:57 2007

To: UADE-Developer-discussion
[quote:030b295e8b="shd"]Argh, it seems Solaris is still deficient. I thought this was going to be changed with OpenSolaris. It's incredible how stubborn OpenSolaris developers are, because being compliant to some standard isn't actually what developers want. Developers want something that works.[/quote:030b295e8b]Depends on which developers you ask. For example, Solaris is my UNIX of choice precisely because it strictly abides by the System V and POSIX standards.

Solaris also works wonderfully if the developer knows what he is doing, and especially if they truly understand UNIX.

If one abides strictly by System V standards, stuff works on Linux without modifications. If one writes stuff for Linux, stuff doesn't work anywhere without significant surgery.

I have had these pains on HP-UX and on IRIX as well, all full-blooded System V UNIX systems. So this is not something specific to Solaris, or the result of Solaris somehow being deficient.

In fact, none of those UNIXes is impaired in any way. People just don't know and don't understand System V.[quote:030b295e8b]I won't workaround all obvious deficiencies, so I'll just change bash to be a requirement for uade, as it has always been. I don't really care about obsolete UNIXes for which there are no users. If they contribute fixes and workarounds I will accept them probably, though.[/quote:030b295e8b]Unfortunately, it is this kind of attitude that one often gets from the Linux community these days. And most of those that are quick to judge in such a way do the Linux community disservice.[quote:030b295e8b]We also require GNU make (or a make tool with same features).[/quote:030b295e8b]If you insist on using GNU make, I would recommend that you at least rename your Makefiles to GNUmakefiles, for two reasons:

- GNU make tries to read &quot;GNUmakefile&quot; first
- it removes any confusion and saves users from trying to run the standard System V make, which will of course bomb out on the GNUisms of GNU make.

---

From: shd
Date: Mon Sep 3 19:49:38 2007

To: UADE-Developer-discussion
[quote:51318c0aa4="Anonymous"]In fact, none of those UNIXes is impaired in any way. People just don't know and don't understand System V.[/quote:51318c0aa4]
I stay away from strict System V and POSIX systems exactly because I know the stupid implications they may have. Those standards will not yield sane implementations per se, just define some acceptable behavior..

That said, what does uname say on OpenSolaris? I would add the -lsocket feature..

---

From: Annatar
Date: Mon Sep 3 19:52:57 2007

To: UADE-Developer-discussion
[quote:1d31c0f992="shd"]As my development platform is not OpenSolaris, it will really be hard for me to support them, but someone else may do so.. This is an open source project, so I don't have to do everything ;)[/quote:1d31c0f992]Is there a specific reason preventing you to run OpenSolaris on your PC, considering that Solaris now runs on any PC these days?[quote:1d31c0f992]Yes, technology is the most important thing, but I believe one can't reach that goal without open source. UADE project would never have been possible without open source model, and the model has paid back many times (we've received huge contributions from others).[/quote:1d31c0f992]And that's all fine and has its merits. I just consider the end result, which is free software. How one gets there (non open-source compilers) is for all practical purposes irrelevant, and certainly not a technical requirement, which even you agree with.
[quote:1d31c0f992]I think it's a very small benefit. Pretty much everything is compiled with GCC, and I think others should more or less emulate some of its features, like ICC does.[/quote:1d31c0f992]Sun Studio 12 does indeed try to handle as many GCCisms as is reasonable, so some credit where credit is due. Some things, like __asm__ currently can't be handled properly, and this is where I need your help.

I don't expect to get something for nothing, and I'm certainly willing to work on UADE, but I do need your help to make it happen.[quote:1d31c0f992]Does make soundcheck work after that? Does libao work properly?[/quote:1d31c0f992]I didn't try. And I didn't link against libao. My goal in phase one was just to get it to compile at all.

Update: after surgery to various Makefile.in files, I was able to get UADE to compile on both i86pc and sparc &quot;out of the box&quot;.  But after I try to run XMMS, I see the following when running `truss -t open xmms`:[code:1:1d31c0f992]/1&#58;     open&#40;&quot;/usr/sfw/lib/libgcc_s.so.1&quot;, O_RDONLY&#41;    = 10
ld.so.1&#58; xmms&#58; fatal&#58; relocation error&#58; file /opt/csw/lib/xmms/Input/libuade2.so&#58; symbol strsep&#58; referenced symbol not found[/code:1:1d31c0f992]Have you any idea what the cause of this error could be? It is preventing UADE being used as a plugin in XMMS.

---

From: Guest
Date: Mon Sep 3 20:00:14 2007

To: UADE-Developer-discussion
[quote:a74026a430="shd"][quote:a74026a430="Anonymous"]In fact, none of those UNIXes is impaired in any way. People just don't know and don't understand System V.[/quote:a74026a430]
I stay away from strict System V and POSIX systems exactly because I know the stupid implications they may have. Those standards will not yield sane implementations per se, just define some acceptable behavior..[/quote:a74026a430]I have seen code from UNIX developers compile with native compilers without any modifications whatsoever, and just using System V Makefiles on IRIX, HP-UX and Solaris. For example, Joerg Schilling's cdrtools. Or ISC's BIND, or Wietse Wenema's Postfix, and so on.[quote:a74026a430]That said, what does uname say on OpenSolaris? I would add the -lsocket feature..[/quote:a74026a430]SunOS laptop 5.10 Generic_118855-33 i86pc i386 i86pc

&quot;5.10&quot; is Solaris 10,

&quot;Generic_118855-33&quot; is the kernel patch level, revision 33,

&quot;i86pc&quot; is the platform (supporting both amd64 and i386)

and &quot;i386&quot; is the Instruction Set Architecture, meaning, `uname -a` was run on a 32-bit i86pc platform.

---

From: shd
Date: Mon Sep 3 20:00:25 2007

To: UADE-Developer-discussion
[quote:3a3b0dab9a="Anonymous"][quote:3a3b0dab9a]I won't workaround all obvious deficiencies, so I'll just change bash to be a requirement for uade, as it has always been. I don't really care about obsolete UNIXes for which there are no users. If they contribute fixes and workarounds I will accept them probably, though.[/quote:3a3b0dab9a]
Unfortunately, it is this kind of attitude that one often gets from the Linux community these days. And most of those that are quick to judge in such a way do the Linux community disservice.
[/quote:3a3b0dab9a]
Note, I do accept compatibility patches, so don't blame me before NACKing your changes. Start developing..

[quote:3a3b0dab9a][quote:3a3b0dab9a]We also require GNU make (or a make tool with same features).[/quote:3a3b0dab9a]
If you insist on using GNU make, I would recommend that you at least rename your Makefiles to GNUmakefiles, for two reasons:

- GNU make tries to read &quot;GNUmakefile&quot; first
- it removes any confusion and saves users from trying to run the standard System V make, which will of course bomb out on the GNUisms of GNU make.[/quote:3a3b0dab9a]
The configure script already checks for gmake, it is used automagically if it exists.. On the other hand, if some other make systems is compatible with GNU syntax, I wouldn't want to deny them using their Make system.. So, it always works if gmake is installed.. Care to contribute a GNU Make compatibility check into configure script?

---

From: Annatar
Date: Mon Sep 3 20:04:11 2007

To: UADE-Developer-discussion
Also, on sparc platform where I was successful in compiling UADE, `uname -a` returns:[code:1:c2e88f5ca7]SunOS workstation 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Blade-100[/code:1:c2e88f5ca7]To clear up any possible doubt, the kernel level patch means nothing as far as dependencies go. (Open)Solaris guarantees binary compatibility on the same SunOS release, and also guarantees backwards driver and binary compatibilty, so don't worry about the kernel patch level.

---

From: Guest
Date: Mon Sep 3 20:20:19 2007

To: UADE-Developer-discussion
[quote:f1de62f902="shd"]The configure script already checks for gmake, it is used automagically if it exists.. On the other hand, if some other make systems is compatible with GNU syntax, I wouldn't want to deny them using their Make system.. So, it always works if gmake is installed.. Care to contribute a GNU Make compatibility check into configure script?[/quote:f1de62f902]You mean something like this:[code:1:f1de62f902]#!/sbin/sh

if &#91; -x `which gmake` &#93;
then
   MAKE=gmake
fi[/code:1:f1de62f902]?
But upon inspecting your ./configure, I see that you are already performing similar checks. You also explicitly force MAKE=gmake in certain cases, where a simple executable test for `gmake` would have done the job.

---

From: shd
Date: Mon Sep 3 20:23:52 2007

To: UADE-Developer-discussion
[quote:7faac54f88="Annatar"]Sun Studio 12 does indeed try to handle as many GCCisms as is reasonable, so some credit where credit is due. Some things, like __asm__ currently can't be handled properly, and this is where I need your help.
[/quote:7faac54f88]
Yeah, there are some obsolete __asm__ clauses in the source. Nothing arch dependent, though..

[quote:7faac54f88][quote:7faac54f88]Does make soundcheck work after that? Does libao work properly?[/quote:7faac54f88]I didn't try. And I didn't link against libao. My goal in phase one was just to get it to compile at all.
[/quote:7faac54f88]
Okay, then don't worry about the XMMS plugin. First make uade123 (with libao) work..

About strsep(), is it supported in OpenSolaris? It conforms to 4.4BSD..

---

From: shd
Date: Mon Sep 3 20:28:43 2007

To: UADE-Developer-discussion
[quote:a8c9086b17="Annatar"]Is there a specific reason preventing you to run OpenSolaris on your PC, considering that Solaris now runs on any PC these days?[/quote:a8c9086b17]
Yes, I don't like it. Don't take it personally. I've seen too much  Solaris in my life. I stopped crying for features.

---

From: Annatar
Date: Mon Sep 3 20:41:40 2007

To: UADE-Developer-discussion
[quote:bf92af019f="shd"]Yeah, there are some obsolete __asm__ clauses in the source. Nothing arch dependent, though..[/quote:bf92af019f]I hope to make it that far with you and clean those up.[quote:bf92af019f]Okay, then don't worry about the XMMS plugin. First make uade123 (with libao) work..[/quote:bf92af019f]Heh, but the whole point why I embarked on this journey was to get it to work in XMMS... alright, I'll get libao...[quote:bf92af019f]About strsep(), is it supported in OpenSolaris? It conforms to 4.4BSD..[/quote:bf92af019f]Does not appear to be. What does it do? There might be an equivalent.

---

From: Guest
Date: Mon Sep 3 20:47:12 2007

To: UADE-Developer-discussion
[quote:fc184e5d74="shd"]Yes, I don't like it. Don't take it personally. I've seen too much  Solaris in my life. I stopped crying for features.[/quote:fc184e5d74]That's a shame. Ironically, now you don't have to &quot;cry for changes&quot; any more, you can effect the changes yourself, since the source code is avilable. The OpenSolaris projects need people like you.

And even though they don't know it, they need multimedia applications like UADE. That OS has all the predispositions of becoming a multimedia powerhouse.

---

From: shd
Date: Mon Sep 3 20:51:14 2007

To: UADE-Developer-discussion
[quote:5abbf83d71="Annatar"][quote:5abbf83d71="shd"]About strsep(), is it supported in OpenSolaris? It conforms to 4.4BSD..[/quote:5abbf83d71]Does not appear to be. What does it do? There might be an equivalent.[/quote:5abbf83d71]
It's a simple string scanner..
http://linux.die.net/man/3/strsep

strtok() is a similar call, more portable, but less safe.

---

From: Annatar
Date: Mon Sep 3 20:52:38 2007

To: UADE-Developer-discussion
[quote:8394efd934="shd"]About strsep(), is it supported in OpenSolaris? It conforms to 4.4BSD..[/quote:8394efd934]Apropos strsep(), I did some research. Your options in Solaris are as follows:[code:1:8394efd934]Standard C Library Functions                           string&#40;3C&#41;

NAME
     string, strcasecmp, strncasecmp, strcat,  strncat,  strlcat,
     strchr,  strrchr, strcmp, strncmp, strcpy, strncpy, strlcpy,
     strcspn, strspn, strdup, strlen,  strpbrk,  strstr,  strtok,
     strtok_r - string operations

SYNOPSIS
     #include &lt;strings.h&gt;

     int strcasecmp&#40;const char *s1, const char *s2&#41;;

     int strncasecmp&#40;const char *s1, const char *s2, size_t n&#41;;

     #include &lt;string.h&gt;[/code:1:8394efd934]

---

From: shd
Date: Mon Sep 3 21:02:28 2007

To: UADE-Developer-discussion
[quote:cec4c523f4="Annatar"][code:1:cec4c523f4]/1&#58;     open&#40;&quot;/usr/sfw/lib/libgcc_s.so.1&quot;, O_RDONLY&#41;    = 10
ld.so.1&#58; xmms&#58; fatal&#58; relocation error&#58; file /opt/csw/lib/xmms/Input/libuade2.so&#58; symbol strsep&#58; referenced symbol not found[/code:1:cec4c523f4]Have you any idea what the cause of this error could be? It is preventing UADE being used as a plugin in XMMS.[/quote:cec4c523f4]
I'm puzzled, how were you able to compile the code? It wouldn't make any sense to have headers but no code for strsep(). Maybe strsep() is located in some library other than libc?

---

From: Annatar
Date: Mon Sep 3 21:22:18 2007

To: UADE-Developer-discussion
I've changed all instances of strsep(&amp;sp to strtok(sp. Lo and behold, UADE compiled without a hitch. `gmake soundcheck` works.  However, XMMS hangs with 100% CPU usage when I try to open a MODule.

Well, I'd say we call it a day and continue tomorrow. We came pretty far in the span of one day, working on and off on it.

---

From: shd
Date: Tue Sep 4 07:01:14 2007

To: UADE-Developer-discussion
[quote:507627e9d2="Anonymous"]Depends on which developers you ask. For example, Solaris is my UNIX of choice precisely because it strictly abides by the System V and POSIX standards.
[/quote:507627e9d2]
I thought you said you only value technical superiority. Valuing anything because it is a standard is contradictory to your earlier statement, unless that standard can be proven to be the ultimatum (which is certainly not the case here).

---

From: Annatar
Date: Tue Sep 4 07:10:15 2007

To: UADE-Developer-discussion
[quote:1f0575983a="shd"]I thought you said you only value technical superiority. Valuing anything because it is a standard is contradictory to your earlier statement, unless that standard can be proven to be the ultimatum (which is certainly not the case here).[/quote:1f0575983a]I consider System V to be technically superior in just about every respect imaginable in comparison to GNU.

---

From: Annatar
Date: Tue Sep 4 07:18:29 2007

To: UADE-Developer-discussion
[quote=&quot;shd&quot;][quote:047552c6dd="Annatar"]I'm puzzled, how were you able to compile the code? It wouldn't make any sense to have headers but no code for strsep(). Maybe strsep() is located in some library other than libc?[/quote:047552c6dd]GCC uses his own libc library and not the Sun libc, so maybe it's pulling something from there. It will compile, and it won't complain until open() actually tries to pull the library in. I haven't seen that one before. Usually the linker will bomb out during the link phase with an unresolved symbol error, but apparently not in this case. Strange.