[Gambas-user] BUG Install on mandriva
Doriano Blengino
doriano.blengino at ...1909...
Sun Jul 25 19:50:48 CEST 2010
Benoît Minisini ha scritto:
>> Now, the single file that should be a link it's easy to correct. But, a
>> line saying "link ../component.am" in the middle of a makefile is
>> different: the makefile is generated by ./configure; where are the
>> instructions that make configure think to do such a thing? Otherwise, I
>> can give up for today, and try to download something else next week. I
>> am reluctant to use svn because I must put my hands onto a production
>> machine: it's not terrible, but at first, I decided not to do it: to
>> download a tarball should be trivial.
>>
>>
> I see: you must use a svn client to extract the sources.
>
> What you are downloading is an image of the subversion repository, which is
> the way the subversion server internally stores the data. Useful if you want
> to duplicate the repository, not useful if you want to compile the sources.
>
> You can do the checkout, and then compress it into a *.tag.gz before bringing
> it home.
>
Well: ignoring as usual all the advices I've received (my head is harder
than my computer screen), I managed to compile gambas3. Some comments
follow, and by no mean they have the sole purpose to criticize; instead,
giving that gambas3 is still open to modifications, may be that some
idea can be stimulating.
Me and others got caught in the same pit - building of gambas3.gambas
succeeds even if some required component is missing. While it is true
that examining logs or paying attention to the compilation process this
pit could be avoided, may be that a better-planned compilation process
could solve more coherently. Just a thought.
After having launched gambas3 I went to the preferences to see how much
I could taylor it to my needs. It seems that the preferred way to set
preferences is to let the user choose among a few choices. For some
things like the font size, "Normal, small, smaller" could be enough (but
not always); when choosing the terminal emulator I see konsole, gnome
terminal, xfce, xterm. No one of them is installed, in my (strictly
mine) opinion, they all suck.
Then I loaded my experimental "Gambas drum machine", where I am
developing an ALSA interface class. The first run attempt gave me an
error because, it seems, there is no more support for reading/writing to
pointers. Is this planned? This seems to be a back-compatibility break.
While searching for help about that, I noticed that there is no help
around - I will have to get it separately. Then I thought "ok, let's use
the new gambas3 capabilities...". But it would be better to have a way
to write code compatible to both gambas2 and gambas3 (conditional
compilation?). Unfortunately, the CAlsa class is full of pointer
playing. Anyway, I tried to do a little step ahead. I have a call to
initialize alsa:
int snd_seq_open(snd_seq_t **seqp, const char * name, Int streams,
Int mode);
The first parameter requires a pointer to a pointer, and this is why in
the gambas2 version I used a pointer to read from. But now, I wrote:
Private Extern snd_seq_open(ByRef Pseq As Pointer, name As String,
streams As Integer, mode As Integer) As Integer
This declaration is later used by:
err = snd_seq_open(handle, "default", SND_SEQ_OPEN_DUPLEX, 0)
--or--
err = snd_seq_open(byref handle, "default", SND_SEQ_OPEN_DUPLEX, 0)
Both statements die with error #6. This two lines work:
ret = VarPtr(handle)
err = snd_seq_open(ret, "default", SND_SEQ_OPEN_DUPLEX, 0)
It seems that "byref" is ignored in external declaration, but no error
is generated.
Now alsa is correctly initialized, but the rest of the class relies
heavily on pointers, and I am not ready to convert all that mess into
gambas structures (have no information about this topic). Moreover,
doing so would make the source incompatible with gambas2, and I am not
sure about alignment problems. The pointer way can be ugly, but still
versatile.
What should I do now?
Regards,
Doriano
More information about the User
mailing list